jvm

Java 发表评论
之前已经有很多同事强烈给我推荐这本书,看了一点,感觉很不错,推荐给大家,学习不一定只看书,也要结合实例和借鉴别人的读后感或者随笔来增加自己对书中知识的理解力,当书看不下去的时候多看一些相关章节的博文来提高兴趣和强化理解。 还有关于jvm一个比较好的博文也推荐给大家http://www.cnblogs.com/xrq730/category/731395.html 可以参考下。

jvm

Java 发表评论
欢迎装载请说明出处:http://blog.csdn.net/yfqnihao                       这一节,主要来学习jvm的基本结构,也就是概述。说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成图形,所以只要你有耐心,仔细,认真,并发挥你的想象力,这一章之后你会充满自信。当然,不是说看完本章,就对jvm了解了,jvm要学习的知识实在是非常的多。在你…

jvm

JVM运行时数据区的内存模型由五部分组成: 【1】方法区 【2】堆 【3】JAVA栈 【4】PC寄存器 【5】本地方法栈   常量池是属于类型信息的一部分,类型信息也就是每一个被转载的类型,这个类型反映到JVM内存模型中是对应存在于JVM内存模型的方法区中,也就是这个类型信息中的常量池概念是存在于在方法区中,而方法区是在JVM内存模型中的堆中由JVM来分配的。     javac 把源码整成字节码 java 时,首先把…

JVM

Java, JVM 发表评论
https://blog.csdn.net/hui_yan2012/article/details/70194449 https://baijiahao.baidu.com/s?id=1606480770208000096&wfr=spider&for=pc https://blog.csdn.net/huachao1001/article/details/51533132 https://blog.csdn.net/GarfieldEr007/article/details/55822985

JVM

Java 发表评论
JVM1基本概念2运行过程3线程4JVM内存区域4.1程序计数器4.2 虚拟机栈4.3 本地方法区4.4堆(新生代和老年代)4.5 方法区(永久代)5 JVM运行时内存5.1新生代5.2老年代5.3永久代6 垃圾回收和算法6.1如何判断垃圾6.2标记清除算法(Mark-Sweep)6.3复制算法6.4标记整理算法(Mark-Compact)6.5分代收集算法1.新生代和复制算法2.老年代与标记整理算法(Mark-Compact)6.6分区收集算法7JAVA四种引用类型7.1强引…

【JVM学习】将java文件编译成字节码文件,再到反编译,字节码指令剖析

Java 发表评论
一、新建HelloWorld.java文件,内容如下(简易): public class HelloWorld { public int firstStack() { int a = 100; int b = 100; int c = 100; return (a+b)*c; } } 二、将后缀名为java的源码文件编译成可被JVM可执行的二进制文件: 找到你要反编译的java文件,cmd输入命令: javac HelloWorld.java 然后敲回车。如下图: 用记事本打开编译后的class文件,会是一串看不懂的乱码: 三、反编译二…

JVM

Java 发表评论
一、JVM体系结构:     类装载器ClassLoader:用来装载.class文件     执行引擎:执行字节码,或者执行本地方法     运行时数据区:方法区、堆、Java栈、程序计数器、本地方法栈JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。JVM类加载机制:全盘负责:当一个类加载器负责加载某个class时,…

JVM

Java 发表评论
JVM 内存模型以及分区,需要详细到每个区放什么。 http://blog.csdn.net/ns_code/article/details/17565503 JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。 程序计数器(Program Counter Register) 一块较小的内存空间,它是当前线程所执行的字节码的行号指示器,字节码解释器工作时通过改变该计数器的值来选择下一条需要执行的字节码指令,分支…

JVM

JVM 内存可简单分为三个区:1、堆区(heap):用于存放所有对象,是线程共享的(注:数组也属于对象)2、栈区(stack):用于存放基本数据类型的数据和对象的引用,是线程私有的(分为:虚拟机栈和本地方法栈)3、方法区(method):用于存放类信息、常量、静态变量、编译后的字节码等,是线程共享的(也被称为非堆,即 None-Heap)Java 的垃圾回收器(GC)主要针对堆区对于方法调用,会创建栈帧在栈…

JVM

Java 发表评论
虚拟机的体系结构:堆,方法区,栈(stack),本地方法区,pc寄存器。 方法区保存的就是一个类的模板, 堆是放类的实例的。 栈是一般来用来函数计算的。随便找本计算机底层的书都知道了。栈里的数据,函数执行完就不会存储了。这就是为什么局部变量每一次都是一样的。就算给他加一后,下次执行函数的时候还是原来的样子。                  

JVM

杂谈 发表评论
http://blog.csdn.net/moneyshi/article/details/53086927 http://blog.csdn.net/moneyshi/article/details/53033577 文章内容参考《自己动手写java虚拟机》 1.java虚拟机通过类路径来找到类,类路径分为 启动类路径                jre\lib下,java标准库(大部分在rt.jar)在这里 扩展类路径              D:\Java\jre1.8.0_92\lib\ext 用户类路径 Entry接口,定义这个接口表示类路径,这个是父接口…

jvm

Java 发表评论
一、 常用参数的设置 -xms -xmx 设置堆的大小。 -xmn设置年轻代,默认是堆大小的3/8. 一个gui程序最好在10-20s内进行gc,在半秒内完成。   二、常用的监控命令 jstat -<option> <pid> time:间隔多长时间打印gc信息 查看jvm运行状态,垃圾收集,内存,类装载,等等 jps [option] [hostid] ex: jps -v 输出启动时的jvm参数 jps和ps命令类似 jmap 三、垃圾收集器 Serial(新生代) 单线程、新…

JVM

Java 发表评论
基础知识: JVM(Java Virtual Machine): JVM功能: Loading Linking Initialization JVM Memory Method area :In method area, all class level information like class name, immediate parent class name, methods and variables information etc. are stored, including static variables. There is only one method area per JVM, and it is a shared resource. Key:shared. Only one per JVM …

JVM

Java 发表评论
JDK1.7版本 -Xms13g -Xmx13g -Xss512k -XX:PermSize=384m -XX:MaxPermSize=384m -XX:NewSize=12g -XX:MaxNewSize=12g -XX:SurvivorRatio=18 -XX:MaxDirectMemorySize=2g -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=15 -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX…

jvm

Java 发表评论
1. jps用来查看JVM信息,所有具有访问权限的java进程的具体状态。包括PID, 进程启动路径以及启动参数等。 可以理解为linux上的PS 子集。命令格式: jps [-q] [-mlvV] [<hostid>]-q  只输出pid-m 输出传递给main方法的参数-l    输出应用程序住类的完整包名,或者是应用程序jar文件的完整路径-v  输出传给JVM的参数```sudo -u admin jps28580 Jps6272 Bootstrapsudo -u admin jps -q266266272su…