学习java有必要看 深入jvm 吗
发布网友
发布时间:2022-04-23 19:17
我来回答
共3个回答
热心网友
时间:2023-08-01 13:37
有必要。
刚好之前面试被问到类似的问题,所以简单的说一下(有空的话详细补充一下)。
首先我们广泛使用的JVM一般是HotSpot虚拟机,HotSpot有两个JVM的实现。
一个是`Java HotSpot Cilent VM`,另一个是`Java HotSpot Server VM`。
前者致力于在客户端环境中减少启动时间而优化,后者在服务器环境中最大化程序执行速度而设计。
学习JVM主要是,理解编译过程,理解内存分配与垃圾回收,以及线程资源分配等问题。
可以从下面几方面入手:
编译过程(Compile)
内存分配(Memory)
执行时间(Runtime)
垃圾回收(Garbage Collection)
线程资源方面(Thread)
与虚拟机相关的异常处理(Exception)
根据业务特点调整JVM:
修改JVM参数,修改堆的初始大小和最大堆大小,修改年轻带与持久代的大小,修改每个线程的堆栈大小等等。
当然,在处理网站性能问题上,很多人在业务层上想办法,有人坚持做出了更好的JVM,例如这个Zing
当然,你说不在乎这些东西,了解这些东西浪费时间。
那帮老板画画界面,用个开源库写写业务逻辑,改改bug,帮老板赚钱,也是极好的。
热心网友
时间:2023-08-01 13:37
想成为高手就需要 混的看着办
热心网友
时间:2023-08-01 13:38
不是必须的,边工作,边思考,边深入