java基础
文章平均质量分 92
JVM、垃圾回收机制、Java类加载和初始化
goodluckwj
努力就会有回报
展开
-
使用guava Predicates工具类优雅处理Stream流的filter方法
现在对于集合操作时,我都是使用Stream来进行操作的,感觉贼好用,对于map操作时,一般使用方法引用就能解决,如gradeList.stream() .map(RegionGradeViewForm::getRegionId) .map(String::valueOf) .collect(toList()); Stream流配合方法引用写的代码看着就舒服,所以用久了就不想看见箭头符号,但是在操作filter的时候,因为需要进行复杂的判断,...原创 2020-11-05 19:24:14 · 942 阅读 · 0 评论 -
JDK8 Stream操作 collectingAndThen ------根据对象的属性进行去重操作
ExportTemperatureDto实体对象:public class ExportTemperatureDto { private String name; private Double morningTemperature; private Double afternoonTemperature; private String classId; private String gradeId; private Integer personId;..原创 2020-09-30 12:07:12 · 46198 阅读 · 10 评论 -
CopyOnWriteArrayList使用场景和源码分析
(1)ArrayList和CopyOnWriteArrayList的增删改查实现原理?(2)为什么说ArrayList查询快而增删慢?(3)弱一致性的迭代器原理是怎么样的?(4)CopyOnWriteArrayList为什么并发安全且性能比Vector好?(5)JDK中为什么没有CopyOnWriteLinkedList? 对于CopyOnWriteArrayList面试的话,容易和ArrayList放在一起,让你比较他们之间的异同点,这一点需要有所准备。本文将重点讲解C...原创 2020-06-20 14:20:59 · 1824 阅读 · 0 评论 -
关于LinkedHashMap中accessOrder属性的理解
今天学习了使用LinkedHashMap来实现LRU算法,具体的关于LinkedHashMap的深入了解可以查看:Java集合详解5:深入理解LinkedHashMap和LRU缓存这篇文章,在介绍accessOrder属性的时候说accessOrder设置为false时,按照插入顺序,设置为true时,按照访问顺序,不过我在查看JDK1.8的LinkedHashMap的put方法时...原创 2020-01-04 16:08:18 · 5889 阅读 · 0 评论 -
类加载过程、初始化和实例化阶段分析
推荐几篇关于Java类的加载、初始化和实例化过程分析,想深入了解Java类的这几个过程,请耐心地、一个一个地看完,相信会使你对Java有一个新的了解。 第一篇:深入理解Java类加载器(一):Java类加载原理解析 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这个异常背后涉及到的是Java技术体系中的类...原创 2019-12-30 19:31:22 · 867 阅读 · 0 评论 -
java常量池-字符串常量池、class常量池和运行时常量池
在java的内存分配中,经常听到很多关于常量池的描述,我开始看的时候也是看的很模糊,网上五花八门的说法简直太多了,最后查阅各种资料,终于算是差不多理清了,很多网上说法都有问题,笔者尝试着来区分一下这几个概念。1.全局字符串池(string pool也有叫做string literal pool)全局字符串池里的内容是在类加载完成,经过验证,准备阶段之后在堆中生成字符串对象实例,然后将该字符...转载 2019-12-30 14:31:28 · 328 阅读 · 0 评论 -
高效使用并行流
高效使用并行流 一般而言,想给出任何关于什么时候该用并行流的定量建议都是不可能也毫无意义的,因为任何类似于“仅当至少有一千个(或一百万个或随便什么数字)元素的时候才用并行流”的建议对于某台特定机器上的某个特定操作可能是对的,但在略有差异的另一种情况下可能就是大错特错。尽管如此,我们至少可以提出一些定性意见,帮你决定某个特定情况下是否有必要使用并行流。 如果有疑问...原创 2019-11-15 16:03:10 · 503 阅读 · 0 评论 -
java中Optional的应用,以及map和flatMap的区别
关于Option的介绍可以看深入理解java8中的Optional 类就可以了,但是复杂一点的使用在网上却没有搜到,这里结合我开发时遇到的真实案例来讲一下Option的使用。public class PictureCondition { private String url; public String getUrl() { return url......原创 2019-09-21 16:10:16 · 29473 阅读 · 16 评论 -
Java8中Stream的用法
Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。Stream的操作分类Stream的操作有Intermediate、Terminal和Short-circuiting: Intermediate:map...原创 2019-09-06 15:17:03 · 492 阅读 · 1 评论 -
String s=new String("abc")创建了几个String Object对象?
今天看到几个面试题问:String s=new String("abc")创建了几个String Object对象?对于这个问题有的说是一个,有的说是两个,在网上也查看了很多别人写的博客都不清楚,今天就让我来分析一下这个问题. 对于String s=new String("abc"),这句话我们来大致分析一下步骤: 1.在虚拟机栈中为Str...原创 2020-02-27 11:22:37 · 8589 阅读 · 9 评论