JavaJVM怎么学习啊?从哪方面入手?
我们可以从类加载开始,了解JVM的类加载,然后熟悉类加载器和类加载机制。其次,我们可以了解Java内存结构(运行时数据区),重点是堆栈的两个区域,堆的世代模型,GC垃圾算法、垃圾收集器和常见的JVM参数设置。最后,我们可以结合企业业务场景监控和调试JVM参数,并进行JVM实践调优。我觉得这是学习路线。
-搜索:【猿灯塔】官方账号干货技术文章和技术文档,大厂面试提问帮你成就建筑师之路。
网上说Java的性能已经达到甚至超过C,是真的吗?
不使用场景,从语言层面对比,没有实质性意义
比如在计算密集型的应用场景中,毫无疑问C的效率和性能是无与伦比的。
c主要适合底层算法,Java主要擅长高并发多任务的系统服务器端应用。目前国内外的大型后端服务都是用Java开发的,这有利于Java强大的社区生态,使得企业级应用的开发变得简单高效,但大型计算密集型应用,如游戏、证券核心系统、风险控制系统等,还是用C/C实现。
所以,没有一种语言一定比其他任何一种语言好。要看具体的使用场景,不同的语言专业知识也不一样。还有,一个系统从头到尾都不是一种语言。大型系统有多种语言共存,不同的模块用最合适的语言开发。