每篇文章我们都先抛出自己的疑问,然后随着阅读的深入,我们可以逐一解答这些问题
问题抛出:
1.JDK,JRE,JVM区别?
JDK:总共分为三部分,java程序设计语言,Java虚拟机,Java API类库,JDK是用于支持Java程序开发的最小环境。
JRE:两个部分,Java SE API子集,Java虚拟机,Java是支持Jave程序运行的标准环境。
2.java的优点?
- 摆脱了硬件平台的约束,实现一次编译,到处运行。
- 相关安全的内存管理和访问机制,避免了绝大部分的内存泄漏和指针越界问题。
- 实现了热点代码检测,和运行时编辑及优化,这使得Java应用能随着时间的增加而获得更高的性能。
- 完善的应用程序接口,无数的开源社区第三方类库帮助他实现各种各样的功能
3.你知道有哪些JVM? HotSpot的优势是什么?
Sun Classic, Sun HotSpot, BEA JRockit
HotSpot在JIT编译上有许多优秀的理念和实际效果,他的热点代码探测能力可以通过执行计数器找出最具有编译价值的代码。然后通知JIT编译器以方法为单位进行编译,如果一个方法被频繁调用或者方法中有效循环次数很多,将会分别触发标准编译和OSR(线上替换)编译动作。
4.java8中的Lambda可以更好的支持java中的函数式编程,函数式编程的重要优点是程序天然的适合并行运行?为什么这么说呢?
因为所有输入数据都是immuatable,没有脏数据的问题,也没有并发写的问题。
5.编译JDK