聊聊 Java 底层那些事
想要成为 Java 技术大牛,却苦于整日埋头于 CRUD?如果你也不满足仅仅做一个 API caller,想要做到知其然知其所以然,那么,是时候扔掉烦人的业务代码,来学习一波 Java 底层的知识了。运行原理、编译优化、垃圾回收…这里有对底层知识原理的抽丝剥茧,希望能对你有所帮助。
作者:码农参上
作为一名 Java 程序员,我们日常会频繁地操作一个个的对象,但是你知道对象的内存布局是什么样的吗?本文将基于代码进行实例测试,带你从直观角度认识对象内存的组成,并学会计算占用的内存空间大小。
2、长夜漫漫,聊聊 synchronized 锁的打怪升级路
作者:码农参上
简简单单的 synchronized 锁,居然还会升级?为了让 synchronized 脱离“重量级”这一概念,Java 底层使用了无锁、偏向锁、轻量级锁、重量级锁的升级机制,本文我们就来详细研究一下锁升级的过程以及各个状态下锁的原理。
作者:码农参上
Java 中的泛型提供了一种编译时的类型安全检测机制,但在提供方便的同时如果使用不当,也会造成不小的麻烦。我们从一道常见的面试题入手,抽丝剥茧,聊聊 Java 中泛型的类型擦除,也理解一下为什么大家总说 Java 中的泛型是伪泛型,Java 泛型又具有什么缺陷。
作者:码农参上
说起来编译器优化,听上去感觉很高大上、离我们有点遥远,但却实实在在关系到我们的每一行代码。让我们从一到基础面试题入手,看看简单的 String 字符串拼接中,究竟经过了多少编译器优化。
作者:码农参上
在启动的 JVM 中,如何动态的修改一个类?听起来有点不可思议,但是使用 JavaAgent 却能实现我们的这个功能。让我们看看,如何通过 Java Agent,让我们程序的运行不再循规蹈矩,为我们的代码提供无限的可能性。
6、编译优化后,for 循环中 i++ 和 ++i 究竟哪个效率高?
作者:码农参上
万万没想到,简简单单的 for 循环中也存在编译优化,Java 编译器真是为了代码的执行效率操碎了心!本文由一道少见的面试题入手,让我们结合字节码指令与编译器优化,看看究竟怎么写 for 循环效率更高!
作者:码农参上
没背过点 GC 算法,出门都不敢说自己背过八股文!但是应用场景少,学起来枯燥,背完了就忘怎么办?那就来看看这几张精心绘制的 GIF 动图吧,看完以后保准你记得深!
版权声明: 本文为 InfoQ 作者【码农参上】的原创文章。
原文链接:【http://xie.infoq.cn/article/b37caeba3fdc8dafdca401b98】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论