Java虚拟机知识提炼

快速的过了一本Java虚拟机的书,还是很有意思的。

用自己的话小结一下,太细节的内容就不提了。

第一,java在诞生之初是冲着代码的可移植性去的,所以,设计了这种平台无关的中间编码和解释执行代码的运行环境,也就是java虚拟机。所以,java一开始就公布了两个规范,一个是java语言规范,另一个是java虚拟机规范,是两个分开的规范。
靠,什么意思,就是说,你只要研究透虚拟机规范,就可以自己写java虚拟机,就可以执行编译后的class文件啊。实际上,确实有很多公司和组织在开发java虚拟机。再说一个事情,那就是Java虚拟机是C++写的。伟哉,我大C++!不过Java这个后生也不是吃素的,Java的使用广泛程度大大超过C++和C。好厉害!

考虑到Java的广泛影响力,所以,早期写Java虚拟机是一件多么牛逼的事情,现在最主流的HotSpot VM,也是Sun把某个比较牛逼的虚拟机公司收购后技术整合而来的,如果我早期去做这个事情,而不是自己研究什么PDF标准,写什么PDF解析库什么的,估计就不是今天这个鸟样子了。

由于java虚拟机的这种与语言的相对独立性,所以,出现了这样一种情况,你可以开发一些新的语言,只要你能够把代码编译成java虚拟机支持的标准的class文件,就能跑在java虚拟机上面,这个思想太牛逼了,所以,现在已经诞生了许多类Java语言的语言,都运行在Java虚拟机上面,他们一般都提供了更好的语法特性,来提高开发效率,也挺受欢迎的。

第二,java是自带垃圾收集的,什么意思,就是代码里面申请内存之后,你就不用管什么时候去释放它了,由虚拟机来帮助你清理那些不不再使用的内存。着个对开发者来说大大降低了开发难度,也避免了很多内存泄漏导致的问题,这些问题在C或C++开发来说,都是调试起来费工费时的事情,所以大大提高了开发效率。虽然对开发者来说很爽,但对虚拟机的实现者来说,却非常的麻烦。就是你怎么才能知道这个内存永远不会被使用而去释放了呢?

不是引用计数哦,java虚拟机普遍采用了一种root节点登记的方式来分析不再使用的内存,如果从root节点开始,都无法建立同某个内存空间节点的指向关系,则证明,这个内存不再被代码所使用,就可以被释放。

所以,一次完整的垃圾回收(GC),其实是很费时费力,很浪费性能的,有时候会导致程序挂起很长的时间。所以,对于虚拟机性能的提升,很大程度上取决于不同虚拟机的垃圾回收机制的优劣。

优化gc效率,有很大的弹性,就是没有一种通用的方法能够提高所有情况下的效率。最基本的思想是分区,就是尽量减小全局gc的可能,在小范围类进行gc。所以,内存会被分为好几个区域,最简单的划分是新生代区和老年代区。为什么这么分呢?因为,在一般的代码执行过程中,新产生的对象,十有八九是用完就可以丢了,只有经过一段时间都没丢掉的内存,才会进入老年区,老年区因为相对稳定,进行gc的次数可以尽量少一些。

除此以外,其实还有很多参数,优化性能的方法很多时候要结合具体的应用场景去分析。另外,对于虚拟机的优化,还有很多特别的处理,不同的虚拟机厂商在今天依然在努力提高中,也有大量的项目在进行中。

第三, 个人觉得蛮重要的,但是书上只是讲解了一下原理的地方,就是java虚拟机里面非常牛逼的技术,就是能够在分析出热点代码,在实际运行的时候,会把这些编译成平台相关的二进制指令,而不再是由虚拟机解释,来提高虚拟机运行部分代码的速度。

内容概要:本文介绍了MATLAB实现DBN-RBF深度置信网络结合RBF神经网络多输入单输出回归预测的详细项目实例。项目旨在通过深度置信网络(DBN)径向基函数神经网络(RBF)的结合,设计出一种高效的回归预测模型,以应对高维数据非线性关系的挑战。DBN用于无监督特征提取,RBF用于快速回归,两者结合显著提升了预测精度模型泛化能力。文中详细描述了项目的背景、目标、挑战、解决方案、模型架构、代码实现、GUI设计、性能评估及未来改进方向。 适合人群:具备一定编程基础,对机器学习深度学习有一定了解的研发人员,尤其是从事金融预测、医疗健康、智能制造等领域的工程师技术人员。 使用场景及目标:①解决高维数据的特征提取难题,提升非线性回归的拟合精度;②通过无监督学习与快速训练能力的结合,提高模型的预测精度泛化能力;③应用于金融预测、医疗健康、智能制造等多个领域,提供高效的回归预测工具;④通过实时数据流处理GPU加速推理,确保系统在实时应用中的快速响应。 其他说明:此项目不仅提供了详细的理论分析代码实现,还涵盖了系统架构设计、模型部署与应用、安全性与用户隐私保护等方面的全面指导。通过结合其他深度学习模型、多任务学习、增量学习等技术,项目具备广阔的扩展性应用前景。系统还支持自动化CI/CD管道、API服务与业务集成、前端展示与结果导出等功能,确保了系统的高可用性易用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值