深入理解Java虚拟机-JVM高级特性与最佳实践

Java开发的两面性

利:

Java的技术体系主要由支持Java程序运行的虚拟机、提供各开发领域接口支持的JavaAPI、Java编译语言及许多第三方Java框架(如:Spring、Struts等)构成。在国内,有关JavaAPI、Java语言语法及第三方框架的技术资料和书籍非常丰富、相比之下、有关Java虚拟机的资料却显得异常贫乏

这种状况很大程度上是由Java开发技术本身的一个重要优点导致的:在虚拟机层面隐藏了底层技术的复杂性以及机器与操作系统的差异性。运行程序的物理机器的情况千差万别,而Java虚拟机则在千差万别的物理机上建立了一个统一的运行平台!实现了在任意一台虚拟机上编译的程序都能在任何一台虚拟机上正常运行 相比其他语言,这样程序员就可以把主要的精力集中在具体业务逻辑上,而不是物理硬件的兼容性上。

总结:虚拟机会在用户不知不觉中完成对硬件平台的兼容及对内存等资源的管理工作

弊 :

凡事都有两面性。随着Java技术的不断发展、它被应用与越来越多的领域之中。比如:电力、金融、通信、物联网等,对程序的性能、稳定性和可扩展性方面都有极高的要求。程序在高并发多人同时使用时就会缓慢、死锁,甚至崩溃。

提升硬件效能无法等比例地提升程序的运作性能和并发能力,甚至可能对程序运作状况完全没有任何改善!

如果开发人员对不了解虚拟机一些技术特性的运行原理,就无法写出最合适虚拟机运行和自优化的代码。

总结:在商用用于生产开发需要对虚拟机的特性以及调节方法具有很清晰的认识才能提升程序的运作性能和并发能力

第一部分 走进Java

1.1 概述

世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。

Java能获得如此广泛的认可,除了它拥有一门结构严谨、面向对象的编程语言之外,还有许多不可忽视的优点:1.它摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想2.它提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界的问题3.它实现了热点代码检测和运行时编译及优化,这使得Java应用能随着运行时间的增加而获得更高的性能 4.它还有一套完善的应用接口,以及无数来自商业机构的开源社区的第三方类库来帮助它实现各种各样的个能·····

Java所带来的这些好处使程序的开发效率得到了很大的提升。但在编写程序时除了尽情发挥Java的各种优势外,还应该去了解和思考一下Java技术体系中这些技术特性是如何实现的。认识到这些技术运作的本质,是自己思考“程序这样写好不好”的基础和发展。

在本章中,将重点介绍Java技术体系内容以及Java的历史、现在和未来的发展趋势。

1.2 Java 技术体系

。。。暂停

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值