作者:禅楼望月(http://www.cnblogs.com/yaoyinglong) Java 向程序员许下了美好的承诺:无需关心内存的回收,Java提供了优秀的垃圾回收机制来回收已经分配的内存。 所以初学者往往会肆无忌惮的挥霍Java内存,从而导致Java程序的运行效率下降,主要坏处为: 不断分...
分类:
编程语言 时间:
2014-11-24 16:50:15
阅读次数:
218
在Java开发中把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即.....
分类:
编程语言 时间:
2014-11-23 20:14:36
阅读次数:
189
1、寄存器
这是最快的存储区,因为它位于处理器的内部。但是由于寄存器的大小数量都是有限的,所以寄存器是由编译器根据需求进行分配。你不能直接控制,也不能感觉到寄存器的存在。
2、堆栈
位于通用RAM(随机访问存储器)中,但是通过“堆栈指针”可以从处理器那里获得直接的支持。通过堆栈指针的上下移动来为程序分配需要的空间,它的速度仅仅次于寄存器的速度。创建程序的时候,Java编译器必须知道存...
分类:
编程语言 时间:
2014-11-20 23:45:57
阅读次数:
290
原文地址:
什么是内存泄露
当某些对象不再被应用程序所使用,但是由于仍然被引用而导致垃圾收集器不能释放它们。
下图中就是内存泄露的情形。
图中的中间部分就是内存泄露的发生地。
为什么会内存泄露
让我们来分析一下下图中的例子,看看为什么会发生内存泄露。对象A时B的引用。A的生命周期时t1-t4,而B的生命周期时t2-t3.所以当B...
分类:
编程语言 时间:
2014-11-14 17:53:10
阅读次数:
215
开源服务器监控工具 — JavaMelody JavaMelody它能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 G....
分类:
编程语言 时间:
2014-11-14 10:43:06
阅读次数:
300
java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外的人想进去,而墙内的人想出来。[来自深入理解java虚拟机]...
分类:
编程语言 时间:
2014-11-09 15:26:08
阅读次数:
225
前几天 ,面试被问到这个, 我只说了个死循环,所以上网查了下 ,下面给个总结:内存溢出就是系统可以提供给Java虚拟机的内存不足导致的,主要分为以下几种情况:1.要加载的数据量过大,比如加载一个很大的文件的时候2.死循环消耗大量内存3.启动参数内存设置值过小4.产生过多对象实体5.过多的静态方法和静...
分类:
编程语言 时间:
2014-11-06 19:52:47
阅读次数:
163
主要讲述java虚拟机的内存体系结构 了解了JVM 的一些基础之后,我们来看看java虚拟机内存的体系结构,这个是理解JVM垃圾收集算法的前提,理解了内存结构我们才能够针对不同的部分根据我们的程序进行优化。前面已经说明了,java的堆和栈,但是只是局部的说了一下,没有在java内存体系中说明。 这一...
分类:
其他好文 时间:
2014-11-05 23:02:40
阅读次数:
221
Java内存模型是保障多线程安全的根基,这里不过认识型的理解总结并未深入研究。一、什么是内存模型,为什么须要它Java内存模型(Java Memory Model)并发相关的安全公布,同步策略的规范、一致性等都来自于JMM。1 平台的内存模型在架构定义的内存模型中将告诉应用程序能够从内存系统中获得如...
分类:
编程语言 时间:
2014-11-04 17:13:49
阅读次数:
204
这篇的主题本应该放在最初的几篇,讨论的是并发编程最基础的几个核心概念,但是这几个概念又牵扯到很多的实际技术,比如Java内存模型,各种锁的实现,volatile的实现,原子变量等等,每一个都可以展开写很多,尤其是Java内存模型,网上已经能够有很几篇不错的文章,暂时不想重复造轮子,这里推荐几篇Jave内存模型的资料:
1.
JSR-133 FAQ
2. JSR-133 Cookbook
...
分类:
其他好文 时间:
2014-11-04 09:29:33
阅读次数:
221