深入理解 Java 垃圾回收机制 深入理解 Java 垃圾回收机制 一:垃圾回收机制的意义 java 语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作 ...
分类:
编程语言 时间:
2017-06-05 00:20:28
阅读次数:
236
从诞生至今,20多年过去,Java至今仍是使用最为广泛的语言。这仰赖于Java提供的各种技术和特性,让开发人员能优雅的编写高效的程序。今天我们就来说说Java的一项基本但非常重要的技术内存管理 了解C语言的同学都知道,在C语言中内存的开辟和释放都是由我们自己来管理的,每一个new操作都要对于一个de ...
分类:
编程语言 时间:
2017-06-03 22:35:16
阅读次数:
292
1,静态使用要小心,容易导致内存溢出,一定要用的话记得移除,静态的成员变量是线程共享的,存在线程安全问题 2,方法中的成员变量不存在线程安全问题,存在于Java方法区中,线程私有,因此是线程安全的 3,ServletConfig对象用于封装Servlet中的配置信息。在实际开发中,有些数据不适合在S ...
分类:
其他好文 时间:
2017-06-03 14:07:37
阅读次数:
179
1.变量声明的位置决定变量作用域 2.变量作用域确定可在程序中按变量名访问该变量的区域 3.成员变量:定义在类中的变量(类或其他类中可以调用) 4.局部变量:定义在方法中的变量(方法) 5.区别:a.作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类内部都是可见的 b.初始值不 ...
分类:
其他好文 时间:
2017-06-01 20:59:26
阅读次数:
106
JVM内存区域模型: * 程序计数器,内存区域极小,是当前线程的字节码执行行号指示器; * 虚拟机栈、本地方法栈,即平时所说的“栈”,是虚拟机用来执行方法(包括Java、非Java方法)时,使用的临时内存空间,用来存储当前方法、局部变量等,全部基本类型变量,以及类对象的引用都存储在栈中; * 方法区 ...
分类:
编程语言 时间:
2017-06-01 14:43:25
阅读次数:
183
转自:http://joe5456536.blog.163.com/blog/static/8537477320117136658629/ http://www.cnblogs.com/devinzhang/archive/2012/04/27/2473570.html 静态方法与非静态方法区别使用 ...
分类:
其他好文 时间:
2017-05-31 16:37:57
阅读次数:
412
1.内存管理 1)对象内存管理 编译好的Java程序需要运行在JVM中 程序,无论代码还是数据都需要存储在内存中,JVM为Java程序提供并管理所需要的内存空间 JVM内存分为“栈”、“堆”和“方法区”三个区域,分别用于存储不同数据 2)堆 JVM在其内存空间开启一个成为“堆”的存储空间,这部分空间 ...
分类:
编程语言 时间:
2017-05-30 21:51:39
阅读次数:
141
java虚拟机规范规定的java虚拟机内存事实上就是java虚拟机执行时数据区,其架构例如以下: 当中方法区和堆是由全部线程共享的数据区。 Java虚拟机栈。本地方法栈和程序计数器是线程隔离的数据区。 (1).程序计数器: 是一块较小的内存空间,其作用能够看作是当前线程所运行的字节码的行号指示器,字 ...
分类:
编程语言 时间:
2017-05-30 20:54:28
阅读次数:
160
PC寄存器 每个线程拥有一个PC寄存器 在线程创建时 创建 指向下一条指令的地址 执行本地方法时,PC的值为undefined 方法区 保存装载的类信息 类型的常量池 字段,方法信息 方法字节码Java堆 和程序开发密切相关 应用系统对象都保存在Java堆中 所有线程共享Java堆 对分代GC来说, ...
分类:
其他好文 时间:
2017-05-30 15:59:26
阅读次数:
140
方法区 Method Area 用于存储jvm加载的类、常量、静态变量等,永久代。也是线程共享堆 Heap 是jvm所管理的内存中最大的一部分,线程共享,也是GC管理的主要区域,主流的算法基于分代方式进行,新生代、老年代。Java栈 java Stack 线程私有,存放线程自己的局部变量等信息指令计 ...
分类:
其他好文 时间:
2017-05-29 13:35:43
阅读次数:
185