不同版本的JDK的内存区域有什么不同?
为了优化 JVM 性能、简化 Java 应用的内存管理,并解决因为永久代有固定大小限制而导致的内存溢出问题。为此,在JDK升级过程中,逐渐用元空间取代了永久带。这样,JVM 的垃圾收集器可以更高效地管理内存,尤其是在处理大量动态生成类的应用程序时(例如,使用大量反射或动态代理技术的应用)。
作者:帅旋
|
发表于 2024-08-27
|
分类于  JVM
不同版本的JDK的内存区域有什么不同?
Class元数据和Class实例有什么区别?
当我们在代码中使用反射时,肯定会用到Class实例,那么大家有没有想过,这究竟是什么东西呢?跟类的元数据有什么区别?
作者:帅旋
|
发表于 2024-08-27
|
分类于  JVM
Class元数据和Class实例有什么区别?
说说JVM的内存区域划分?是如何工作的?
这个问题是Java开发的基本功了,如果连堆和栈在 JVM 里的作用都不清楚,那真有点说不过去了。JVM内存区域分为线程私有的部分和现成共享的部分。下面这个图是我之前JVM系列里面画的,再引用下:
作者:帅旋
|
发表于 2024-08-22
|
分类于  JVM
说说JVM的内存区域划分?是如何工作的?
说说常见的发生内存泄露的原因
内存泄漏是一个普遍存在于许多应用程序中的问题,它会导致程序随着时间的推移运行变慢并最终可能因资源耗尽而崩溃。以下是一些常见的内存泄漏原因:
作者:帅旋
|
发表于 2024-04-21
|
分类于  JVM
说说常见的发生内存泄露的原因
内存溢出和内存泄露的区别是啥?
定义:内存泄漏是指已分配的内存未能被释放回操作系统或内存池,通常是由于程序中的引用关系错误导致的。虽然程序不再使用这部分内存,但由于某些原因(如意外的强引用),垃圾回收器无法回收这些内存。这使得这部分内存持续占用,并无法被系统重新利用。 影响:内存泄漏会逐渐消耗系统的可用内存。长期存在内存泄漏可能导致系统性能下降,甚至可能最终导致内存溢出。
作者:帅旋
|
发表于 2024-04-21
|
分类于  JVM
内存溢出和内存泄露的区别是啥?
Java对象是如何被访问定位的?
Java对象的访问定位是JVM内存管理的核心机制之一,直接关系到程序性能与GC效率。JVM规范未强制规定具体实现方式,这为不同虚拟机提供了优化空间。
作者:帅旋
|
发表于 2024-04-21
|
分类于  JVM
Java对象是如何被访问定位的?
如何快速掌握JVM
作者:帅旋
|
发表于 2024-01-15
|
分类于  JVM
如何快速掌握JVM
深入探索Java泛型的本质 | 泛型
导读: 为什么泛型擦除后仍可以获取类型信息,如何获取泛型类型,Java泛型与C++、Python中的有何区别,本文将为您揭开泛型的内幕。 读完该篇文章,您可以了解到: 1.为什么需要泛型 2.Java代码在编译后是如何保存泛型信息的 3.Java泛型与C++、Python中的有何区别 4.如何动态获取泛型类型
作者:帅旋
|
发表于 2023-12-01
|
分类于  JVM
深入探索Java泛型的本质 | 泛型
Java界的性能优化高手 | 编译器,解释器,JIT
导读: Java代码性能优化谁最在行,那一定是每天从事优化工作的人,目前来看就是Java编译器了。我们本章主要了解下这个性能优化高手平时是怎么工作的,怎么帮我们提高代码效率,以及讨论一下代码效率方面的问题。看文本文,你可以了解到: 1.javac做了什么优化 2.Java后端编译器的发展史 3.JIT是如何工作的 4.效率与质量的平衡
作者:帅旋
|
发表于 2020-02-05
|
分类于  JVM
Java界的性能优化高手 | 编译器,解释器,JIT
10分钟教你如何hack掉Java编译器
如标题所述,我们如何才能hack掉java编译器,也就是javac呢?为了摸索到这个套路,我们需要从一般的编译流程,javac的编译流程,以及插入式注解处理器说起,最后通过一个例子演示如何在编译期间篡改代码,并且介绍业界常见的应用场景。读完该篇文章,你可以了解到:
作者:帅旋
|
发表于 2020-01-31
|
分类于  JVM
10分钟教你如何hack掉Java编译器
12345
×
IT宅

关注公众号及时获取网站内容更新。

请帅旋喝一杯咖啡

咖啡=电量,给帅旋充杯咖啡,他会满电写代码!

IT宅

关注公众号及时获取网站内容更新。