随笔分类 -  Java基础

中招了,重写TreeMap的比较器引发的问题…
摘要:需求背景 给一个无序的map,按照value的值进行排序,value值越小,排在越前面。 key和value都不为null value可能相同 返回结果为一个相同的有序map 代码如下所示: 1 // 假设,key=商品id,value=商品剩余库存 2 Map<Long, Integer> map 阅读全文

posted @ 2022-01-24 09:08 Java知音号 阅读(759) 评论(2) 推荐(0) 编辑

isEmpty 和 isBlank 的用法区别,你都知道吗?
摘要:照惯例,先推荐整理很久、非常实用的面试题仓库: 史上最全的Java面试题库 正文如下,如果觉得有用欢迎点赞、关注~~ 也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/isAnyBla 阅读全文

posted @ 2021-08-05 11:11 Java知音号 阅读(790) 评论(0) 推荐(0) 编辑

for、foreach、stream 哪家的效率更高,你真的用对了吗?
摘要:昨天在《SQL中那么多函数,Java8为什么还要提供重复的Stream方法,多此一举?》一文中,有同学指出Stream在数据量不庞大的情况,效率不如for循环。 这个就触及到我的知识盲区了,今天赶紧测试了一下,以下是正文,有问题欢迎大家指出,一起学习! 比较for循环、foreach循环及Strea 阅读全文

posted @ 2021-05-24 12:20 Java知音号 阅读(7419) 评论(0) 推荐(0) 编辑

SQL中那么多函数,Java8为什么还要提供重复的Stream方法,多此一举?
摘要:有个同学提出一个这样的疑问; 在业务系统中,数据一般都从sql中查询,类似使用where,order by,limit,聚合函数等,为什么还要用java8的Stream方法? 对这个问题,大家有什么见解,欢迎评论区留言 首先,我们可以看下Stream的方法。 stream三种创建方式 集合 Coll 阅读全文

posted @ 2021-05-23 11:18 Java知音号 阅读(846) 评论(0) 推荐(0) 编辑

Java8 Stream流式编程,极大解放你的生产力!
摘要:java8自带常用的函数式接口 Predicate<T> boolean test(T t) 传入一个参数返回boolean值 Consumer<T> void accept(T t) 传入一个参数,无返回值 Function<T,R> R apply(T t) 传入一个参数,返回另一个类型 准备数 阅读全文

posted @ 2021-01-18 10:13 Java知音号 阅读(578) 评论(0) 推荐(0) 编辑

万万没想到,JVM内存区域的面试题也可以问的这么难?
摘要:二、Java内存区域 1、Java内存结构 内存结构 程序计数器 当前线程所执行字节码的行号指示器。若当前方法是native的,那么程序计数器的值就是undefined。 线程私有,Java内存区域中唯一一块不会发生OOM或StackOverflow的区域。 虚拟机栈 就是常说的Java栈,存放栈帧 阅读全文

posted @ 2021-01-13 10:12 Java知音号 阅读(624) 评论(0) 推荐(0) 编辑

万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题…..
摘要:1、类加载过程 类加载时机 「加载」 将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在内存上创建一个java.lang.Class对象用来封装类在方法区内的数据结构作为这个类的各种数据的访问入口。 「验证」 主要是为了确保class文件中的字节流包含的信息是否 阅读全文

posted @ 2021-01-12 10:20 Java知音号 阅读(1690) 评论(0) 推荐(0) 编辑

理解Java对象:要从内存布局及底层机制说起,话说….
摘要:前言 大家好,又见面了,今天是JVM专题的第二篇文章,在上一篇文章中我们说了Java的类和对象在JVM中的存储方式,并使用HSDB进行佐证,没有看过上一篇文章的小伙伴可以点这里:《类和对象在JVM中是如何存储的,竟然有一半人回答不上来!》 这篇文章主要会对Java对象进行详细分析,基于上一篇文章,对 阅读全文

posted @ 2020-11-23 10:38 Java知音号 阅读(1196) 评论(0) 推荐(1) 编辑

类和对象在JVM中是如何存储的,竟然有一半人回答不上来!
摘要:前言 这篇博客主要来说说类与对象在JVM中是如何存储的,由于JVM是个非常庞大的课题,所以我会把他分成很多章节来细细阐述,具体的数量还没有决定,当然这不重要,重点在于是否可以在文章中学到东西,是否对JVM可以有一些更深的理解,当然这也是笔者自己写文章的初衷。 问题提出 我们在日常工作学习中所使用的J 阅读全文

posted @ 2020-11-16 11:38 Java知音号 阅读(4426) 评论(2) 推荐(0) 编辑

面试被问,一千万个整数里面快速查找某个整数,你会怎么去做?
摘要:首发于个人网站:面试被问,一千万个整数里面快速查找某个整数,你会怎么去做? 最近小林在求职面试中被询问了这么一个有趣的面试题: 假设当我们需要在一千万个整数(整数的范围在1-1亿之间)里面快速查找某个整数是否存在于其中的话,如何快速查找进行判断会比较方便呢? ps: int 类型的数据存储的时候是会 阅读全文

posted @ 2020-10-26 10:17 Java知音号 阅读(2165) 评论(0) 推荐(0) 编辑

Flink从入门到入土(详细教程)
摘要:和其他所有的计算框架一样,flink也有一些基础的开发步骤以及基础,核心的API,从开发步骤的角度来讲,主要分为四大部分 1.Environment Flink Job在提交执行计算时,需要首先建立和Flink框架之间的联系,也就指的是当前的flink运行环境,只有获取了环境信息,才能将task调度 阅读全文

posted @ 2020-09-01 17:19 Java知音号 阅读(186867) 评论(4) 推荐(13) 编辑

抛出这8个问题,检验一下你到底会不会ThreadLocal,来摸个底~
摘要:0、问题 和Synchronized的区别 存储在jvm的哪个区域 真的只是当前线程可见吗 会导致内存泄漏么 为什么用Entry数组而不是Entry对象 你学习的开源框架哪些用到了ThreadLocal ThreadLocal里的对象一定是线程安全的吗 笔试题 一、概述 1、官方术语 ThreadL 阅读全文

posted @ 2020-07-20 14:28 Java知音号 阅读(2566) 评论(0) 推荐(0) 编辑

实践:使用了CompletableFuture之后,程序性能提升了三倍
摘要:CompletableFuture 相比于jdk5所提出的future概念,future在执行的时候支持异步处理,但是在回调的过程中依旧是难免会遇到需要等待的情况。 在jdk8里面,出现了CompletableFuture的新概念,支持对于异步处理完成任务之后自行处理数据。当发生异常的时候也能按照自 阅读全文

posted @ 2020-02-26 11:19 Java知音号 阅读(6748) 评论(3) 推荐(1) 编辑

从入门到入土:Lambda完整学习指南,包教包会!
摘要:什么是Lambda表达式 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。 Ja 阅读全文

posted @ 2019-12-09 10:19 Java知音号 阅读(4962) 评论(0) 推荐(4) 编辑

什么情况用ArrayList or LinkedList呢?
摘要:ArrayList 和 LinkedList 是 Java 集合框架中用来存储对象引用列表的两个类。ArrayList 和 LinkedList 都实现 List 接口。先对List做一个简单的了解: 列表(list)是元素的有序集合,也称为序列。它提供了基于元素位置的操作,有助于快速访问、添加和删 阅读全文

posted @ 2019-11-18 10:49 Java知音号 阅读(1895) 评论(1) 推荐(1) 编辑

从实践角度重新理解BIO和NIO
摘要:前言 这段时间自己在看一些Java中BIO和NIO之类的东西,看了很多博客,发现各种关于NIO的概念说的天花乱坠头头是道,可以说是非常的完整,但是整个看下来之后,自己对NIO还是一知半解的状态,所以这篇文章不会提到很多的概念,而是站在一个实践的角度,写一些我自己关于NIO的见解,站在实践过后的高度下 阅读全文

posted @ 2019-10-22 12:40 Java知音号 阅读(877) 评论(2) 推荐(1) 编辑

聊聊 Java8 以后各个版本的新特性
摘要:作者:ZY5A59 juejin.im/post/5d5950806fb9a06b0a277412 某天在网上闲逛,突然看到有篇介绍 Java 11 新特性的文章,顿时心里一惊,毕竟我对于 Java 的版本认识还停留在 Java 8 上,而日常使用的语法和 API 还停留在 Java 7 上。于是抽 阅读全文

posted @ 2019-08-22 15:14 Java知音号 阅读(29306) 评论(2) 推荐(4) 编辑

序列化框架的选型和比对
摘要:序列化通信 将对象转换为字节数组,方便在网络中进行对象的传输。在网络通信中,不同的计算机进行相互通信主要的方式就是将数据流从一台机器传输给另外一台计算机,常见的传输协议包括了TCP,UDP,HTTP等,网络io的方式主要包括有了aio,bio,nio三种方式。 当客户端将需要请求的数据封装好了之后就 阅读全文

posted @ 2019-08-19 10:17 Java知音号 阅读(2718) 评论(0) 推荐(0) 编辑

Redis持久化深入理解
摘要:用过Redis的都知道,Redis有两种持久化方式:RDB和AOF,他们的区别大家应该都清楚,所以今天主要想分享一下这两种持久化方式的底层原理以及实现。 如果让你手写一个持久化(架构级)的功能,你没有思路的话,那希望这个文章可以给你灵感。 1. RDB持久化 1.1 创建 简单回顾下RDB文件的创建 阅读全文

posted @ 2019-07-10 10:40 Java知音号 阅读(1761) 评论(0) 推荐(0) 编辑

实战分析:事务的隔离级别和传播属性
摘要:什么是事务? 要么全部都要执行,要么就都不执行。 事务所具有的四种特性 原子性,一致性,隔离性,持久性 原子性 个人理解,就是事务执行不可分割,要么全部完成,要么全部拉倒不干。 一致性 关于一致性这个概念我们来举个例子说明吧,假设张三给李四转了100元,那么需要先从张三那边扣除100,然后李四那边增 阅读全文

posted @ 2019-07-08 12:42 Java知音号 阅读(3088) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示