
jvm
文章平均质量分 91
孤独斗士
日拱一卒无有尽 功不唐捐终入海
展开
-
Java字符串常量池在JDK各个版本中的位置变化
jdk6.0及以前的版本是,字符串常量池是放在堆的Perm区的。Perm区是一个类静态的区域,主要存储一些加载类的信息,常量池,方法片段等,默认大小只有4m,一旦常量池中大量使用intern是会直接产生java.lang.OutOfMemoryError:Perm Gen Space错误。jdk8.0已经直接取消了Perm区域,而新建立了一个元区域,应该是JDK开发者认为Perm区域已经不适合现在的Java发展了。jdk7.0版本中,字符串常量已经从Perm区转移到正常的Java Heap区域了。原创 2023-02-27 15:28:12 · 1406 阅读 · 0 评论 -
jvm常识
(2)Sun Hotspot JVM为了提升对象内存分配的效率,对于所创建的线程都会分配一块独立的空间TLAB(Thread Local Allocation Buffer),其大小由JVM根据运行的情况计算而得,在TLAB上分配对象时不需要加锁,因此JVM在给线程的对象分配内存时会尽量的在TLAB上分配,在这种情况下JVM中分配对象内存的性能和C基本是一样高效的,但如果对象过大的话则仍然是直接使用堆空间分配。若方法不再频繁使用,则取消编译过的代码,仍对其进行解释执行。原创 2023-02-24 11:41:53 · 247 阅读 · 0 评论 -
java--jvm内存模型
jvm jvm jvm jvjvm jvm jvm jvm jvm jvm jvm jvm m原创 2022-12-16 00:08:34 · 301 阅读 · 1 评论 -
java对象四大引用案例
java对象四大引用案例原创 2022-08-20 01:09:08 · 460 阅读 · 0 评论 -
Java内存结构
一、Java内存结构图示:一、java堆内存结构:Java堆内存区域中存储对象的区域,分为新生代和老年代。年轻代和老年区的内存占用比例是1:2,年轻代占年轻代和老年代总空间1/3,老年代占年轻代和老年代总空间的2/31.1.年轻代(Young Generation)1.所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速将生命周期短的并符合回收条件的对象回收掉。2.年轻代(也叫新生代)内存按照8:1:1的比例分为一个eden区...原创 2022-03-18 14:01:20 · 2142 阅读 · 0 评论