本文章的内容来自以下的内容
【JVM调优实战】对比:golang与java的GC(全网首讲)_哔哩哔哩_bilibili
《深入理解Java虚拟机- -jvm高级特性与最佳实践》
Java发展史
C 和C++ 的问题
- 野指针
- 内存泄露 memery leak
- 释放多次,产生极难调试的bug,一个对象莫名其妙被释放了
- 速度快,但是开发效率低
Java Go Python的发展
- 创造了GC(Garbage collector)机制,线程分配,垃圾回收器负责回收
- 大大降低了开发门槛
- 自动管理内存
rust
- 运行效率高:堪比C++
- 不用手工管理内存
- 学习曲线很陡峭
- 所有权的概念ownership:同一时间只有1个所有者指向一个变量,不可能出现多个对象指向1个变量
- 只要语法通过,写不出bug
java从编译到执行
JVM
jvm是一种规范,任何语言编译成class文件都可以运行,和java语言本身并无太多关联