文章 35
评论 9
浏览 16582
异常处理与资源释放

异常处理与资源释放

Java 语言的 Checked Exception 也许是个设计错误?仁者见仁智者见智。异常对JVM的性能有什么影响?导致NoClassDefFoundError 与 ClassNotFoundException的原因,JDK7的try-with-resource特性(本质语法糖),释放资源还是最好用try-finally或者try-with-resource,至于finalize()直接忘掉吧...

HotSpot JVM类型以及编译模式

HotSpot JVM类型以及编译模式

Java到底是属于编译型还是解释型的语言,一万个人有一万个答案,重点在于理解JVM对class文件的处理策略。通过配置JVM的启动参数可以决定是解释执行还是一次性编译为机器码,就算是一次性编译为机器码,性能会不会有很大提高呢,当然不一定提高,实际用的时候还是默认混合型比较适合。原来JVM是也是分类型的,java -version也可以查看出这么多信息...

synchronized底层实现与优化

synchronized底层实现与优化

Java的synchronized底层究竟做了什么?从JDK的版本更替来看synchronized底层又做了那些优化?CAS自旋锁的概念,JDK1.6 基本是对synchronized做了大改动,避免胡乱使用synchronized导致性能下降等问题,那么是如何实现的呢?

深入理解HashMap

深入理解HashMap

在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值 8 时,将链表转换为红黑树,这样大大减少了查找时间!

始于技术 不止于技术