JDK的bin目录下存在很多有效的命令行工具,它们就是jdk\lib\toos.jar类库的封装。 一、jps:虚拟机进程状况工具,查询出LVMID。 二、jstat:虚拟机统计信息监视工具, 三、jinfo:Java配置信息工具 实时地查看和调整虚拟机的各项参数。 四、jmap:Java内存映像工 ...
分类:
编程语言 时间:
2016-11-07 01:45:18
阅读次数:
156
JDK JDK JDK是java开发工具包,是Sun公司针对Java开发员的产品。 JDK 中包含JRE,在JDK安装的目录下有一个叫jre的目录,里面有两个文件夹,bin/和lib,其中bin就是jvm(java虚拟机),lib中则是jvm工作所需要的类库 意义:JDK是整个JAVA的核心,包括j ...
分类:
其他好文 时间:
2016-11-05 11:34:40
阅读次数:
127
1、强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下: 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。如果不使用时,要通过如下 ...
分类:
编程语言 时间:
2016-11-04 16:20:39
阅读次数:
247
一般的内存分配是指堆上的分配,但也可能经过JIT编译后被拆散为标量类型并间接地在栈上分配。对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配,少数情况下直接分配在老年代中,分配的规则并不是百分之百固定的。细节取决于哪一种垃圾收集器组合,还有虚拟机中与内存相关 ...
分类:
编程语言 时间:
2016-11-04 02:10:47
阅读次数:
218
一:Java技术体系模块图 Java技术体系模块图 二:JVM内存区域模型 1.方法区 也称”永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize ...
分类:
编程语言 时间:
2016-11-03 18:39:38
阅读次数:
162
计算机术语里面堆和栈代表不同的存储结构:stack-栈;heap-堆 所以java虚拟机(JVM)中堆和栈是两种内存 栈:相当于内存指令区 ,存储着基本数据类型, 指令代码,常量,对象的引用地址(基本数据类型包括byte、int、char、long、float、double、boolean和shor ...
分类:
编程语言 时间:
2016-11-03 16:08:43
阅读次数:
237
相对路径的话,需要其他路径信息才可以解析定位到所表示的文件。 默认情况下,java.io 包中的类总是根据当前用户目录来解析相对路径名。 此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录。 我的user.dir 输出的内容是 E:\core_wkspace\TestPro ...
分类:
其他好文 时间:
2016-11-03 13:27:26
阅读次数:
287
Java语言拥有一套完整的垃圾回收机制。 何种对象会被java虚拟机视为垃圾。主要包括以下两种情况: (1)对象引用超过其作用范围,则这个对象将被视为垃圾 (2)将对象赋值为null 参考资料:Java从入门到精通 Java提供了System.gc()方法强制启动垃圾回收器。 ...
分类:
编程语言 时间:
2016-11-03 02:38:46
阅读次数:
234
1、对象已死? a、引用计数算法:缺点是它很难解决对象之间的相互循环引用的问题,Java语言中没有选用它。 b、根搜索算法(GC Roots Tracing):通过一系列的名为“GC Roots”的对象作为起始点,开始向下搜索,走过的路径称为引用链,当一个对象没有任何引用链相连,表面此对象不可达。在 ...
分类:
编程语言 时间:
2016-11-03 02:36:31
阅读次数:
258
Java虚拟机在执行java程序的过程中会把他管理的内存划分为若干个不同的数据区域各自用途、创建以及销毁时间各不相同。有的随着虚拟机进行的启动而存在,有的区域依赖于线程的启动和结束而建立以及销毁。如图: 1.程序计数器 Jvm将这个计数看作当前线程执行某条字节码的行号指示器,会根据计数器的值来选取下 ...
分类:
编程语言 时间:
2016-11-02 07:45:49
阅读次数:
184