1、JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2、JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3、配置环境变量:让java jdk\bin目录下 ...
分类:
编程语言 时间:
2017-09-24 23:27:25
阅读次数:
172
JAVA基础 1.工具 jdk:java开发工具包 jre:java运行环境 jvm:java虚拟机 2.数据类型 A:基本数据类型 byte 字节 8bit short 短整数 2byte int 整数 4byte long 长整数 8byte float 浮点数 4byte double 双精度 ...
分类:
编程语言 时间:
2017-09-24 09:58:45
阅读次数:
260
1 系统可能在使用某个类时加载该类,也可能采用预加载机制加载某个类。 2 当调用Java命令运行Java程序时,命令会启动一个Java虚拟机进程 3 当系统主动使用某个类时,如果类还没有被加载到内存,系统会通过加载,连接,初始化来对类进行初始化,类加载是指将类的class文件读入内存,并创建一个cl ...
分类:
其他好文 时间:
2017-09-24 00:38:31
阅读次数:
156
深入理解JVM 1 Java技术与Java虚拟机 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示: 图1 Java四个方面的关系 运 ...
分类:
其他好文 时间:
2017-09-23 15:25:57
阅读次数:
178
Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存 ...
分类:
编程语言 时间:
2017-09-21 23:33:31
阅读次数:
419
引文 对JVM不了解的请先访问文章《Java虚拟机运行时数据区》,相信会让你大致了解各个内存区域的对应功能。接着,我们开始细说虚拟机栈 前文中说到:“虚拟机栈是线程私有的,每创建一个线程,虚拟机就会为这个线程创建一个虚拟机栈,虚拟机栈表示Java方法执行的内存模型,每调用一个方法就会为每个方法生成一... ...
分类:
其他好文 时间:
2017-09-21 11:21:05
阅读次数:
138
java虚拟机运行时数据区,具体分为如下几个区域程序计数器(Program Counter Register) 程序计数器是一块很小的内存区域,存储了下一条需要执行的字节码指令的地址,此处的地址可以是一个本地指针,也可以是在方法区中相对应于该方法起始指令的偏移量。每个线程都有独立的程序计数器(PCR... ...
分类:
其他好文 时间:
2017-09-21 11:18:06
阅读次数:
123
Sun/Oracle JDK的HotSpot VM中,直到JDK7都有“持久代”(Permanent Generation,简称PermGen)。也称为方法区。Oracle JDK8的HotSpot VM去掉“持久代”,以“元数据区”(Metaspace)替代之。 Oracle是在JDK7的时候宣布 ...
分类:
编程语言 时间:
2017-09-20 22:03:41
阅读次数:
265
1.什么是jvm?(1)jvm是一种用于计算设备的规范,它是一个虚构出来的机器,是通过在实际的计算机上仿真模拟各种功能实现的。(2)jvm包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域。(3)JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上 ...
分类:
其他好文 时间:
2017-09-20 19:25:22
阅读次数:
192
Java虚拟机采用一种自适应的垃圾回收技术。依据的思想:对任何“活”的对象,一定能最终追溯到其存活在堆栈或静态存储区之中的引用。这个引用链条可能会穿过数个对象层次。由此,如果从堆栈和静态存储区开始,遍历所有的引用,就能找到所有活的对象。对于发现的每个引用,必须..
分类:
编程语言 时间:
2017-09-20 16:35:49
阅读次数:
163