![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jvm
chmodzora
技术至上
展开
-
偏向锁、轻量级锁、重量级锁区别与联系
今天总结了锁升级(偏向锁、轻量级锁、重量级锁)和锁优化下面开始总结。其实这些内容都是JVM对锁进行的一些优化,为什么分开讲,原因是锁升级比较重要,也比较难。一、锁升级在1.6之前java中不存在只存在重量级锁,这种锁直接对接底层操作系统中的互斥量(mutex),这种同步成本非常高,包括操作系统调用引起的内核态与用户态之间的切换。线程阻塞造成的线程切换等。因此在jdk 1.6中将...转载 2020-02-29 17:24:29 · 513 阅读 · 0 评论 -
JVM堆内存详解
堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation转载 2017-03-19 10:50:09 · 359 阅读 · 0 评论 -
JVM内存模型
Java中通过多线程机制使得多个任务同时执行处理,所有的线程共享JVM内存区域main memory,而每个线程又单独的有自己的工作内存,当线程与内存区域进行交互时,数据从主存拷贝到工作内存,进而交由线程处理(操作码+操作数)1、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行转载 2017-03-17 22:39:36 · 286 阅读 · 1 评论 -
eclipse启动错误:Java was started but returned exit code=1
前几天在eclipse当中吧JDK文件重新配置之后今天打开显示Java was started but returned exit code=1的错误,分析百度之后,找到了问题的原因,是由于系统目录下的JRE和实际的Java安装是不匹配导致的,解决办法很简单,找到eclipse的安装包,在里面找到eclipse.ini文件,在里面加上一行 -vmC:\Program Files\Java\jd原创 2017-04-06 22:10:41 · 1015 阅读 · 0 评论 -
jvm工作原理
一、Java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main转载 2017-06-25 19:38:46 · 234 阅读 · 0 评论