jvm
文章平均质量分 56
tangyaya8
这个作者很懒,什么都没留下…
展开
-
JAVA中intern()方法的详解
很多童鞋可能在Java考试中或者笔试中遇到String字符串比较相等的问题,今天就来谈一谈 在JAVA虚拟机中,有运行时数据区,包含线程共享的:堆,方法区 和线程隔离的:程序计数器,Java虚拟机栈,本地方法栈.其中方法区包含一块取域,叫做常量池,因为String类型被用到的频率高,所以HotSpot将它放入了常量池.Intern()在一书中解释道: String.intern()...原创 2018-02-02 16:00:17 · 26217 阅读 · 17 评论 -
JVM内存取域与内存溢出异常(二)
概述我们知道,在C语言或者C++语言中,内存的申请和释放是由程序员(我们)自己来做的,在Java语言中,因为我们编写的代码运行在Java虚拟机上,并没有和本地方法以及内存打交道,所以,内存的管理交由JVM来管理,这样我们在写代码时候能专注与程序本身,但是将内存交给JVM来管理,也会有弊端,比如内存泄漏等问题,所以要了解JVM的内存管理机制,以便于排错运行时数据区域Java虚拟机在运...原创 2018-02-25 20:34:40 · 190 阅读 · 0 评论 -
Java虚拟机的类加载机制
我们知道Java虚拟机执行的是编译后的字节码文件,那么Class文件是怎么加载,并且在虚拟机中执行的呢?虚拟机类加载机制分为三步加载—>连接—>初始化加载通过类的全限定名来获取定义此类的二进制流将这个自己流所代表的静态存储结构化位运行时数据区中的数据结构在内存中生成一个代表此类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口...原创 2018-03-11 12:28:31 · 189 阅读 · 0 评论 -
了解Java虚拟机(一)
Java虚拟机众所周知,Java语言由最大的特点就是平台无关性,简单说就是不受操作系统所限制,编写一次,在任何官方支持的操作系统中都可以运行,这也是Java收欢迎的原因之一,从表面来看,程序员不用关心Java怎么做到在任何操作系统中都可以运行,但是涉及到调优,原理的东西,就要关注平台无关性的正真支持者—-JVM(Java Virtual Machine) 从图中可以看出,和操作系统交互的...原创 2018-02-25 14:02:39 · 176 阅读 · 0 评论 -
Java内存模型简述
进程间的通信方式进程是操作系统资源分配最小单位,而线程是操作系统调度的最小单位,在操作系统,或者应用程序运行的时候,多个进程之间或线程之间总是要通信的,而这种通信的方式有很多种,接下来总结几种常用的:1:管道:它是半双工的(即只能在一个方向上流动),具有固定的读和写端它只能用于具有亲缘关系的进程之间的通信(父子进程或者这兄弟进程)它可以看成是一中特殊的文件,对于它的读写也可以...原创 2018-08-11 19:30:48 · 287 阅读 · 0 评论 -
阅读java虚拟机规范有感
数据类型java虚拟机类型可以分为两类:原始类型原始类型包括: 数值类型: 1. 整数类型 - byte - short - int - long 2. 浮点类型 3. char类型 4. float类型 5. double类型 returnAddress 类型boolean类型 虽然java虚拟机中定义了boolean这...原创 2018-09-10 09:50:20 · 250 阅读 · 0 评论