摘要:
Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。在此之前,主流程序怨言(如C/C++等)直接使用物理硬件(或者说操作系统的内存模型),因此,会由于不同的平台... 阅读全文
摘要:
实例变量的实例化三个地方:定义实例变量指定初始值非静态初始化块中对实例变量指定初始值构造器中对实例变量指定初始值其中,1、2中方式比第三种方式更早执行,1、2种执行顺序与它们在源程序中的排列顺序相同。类变量的初始化两个地方:定义是指定静态初始化块中指定这两种方式的执行顺序与它们在源程序中的排列顺序相... 阅读全文
摘要:
昨天收到了心仪企业的口头offer, 回首当初什么都不会开始学编程, 到现在恰好五年. 整天在社区晃悠, 看了不少的总结, 在这个时间点, 我也写一份自己的总结吧.我一直在社区分享, 所以, 这篇总结也是本着一种分享的态度, 希望相比我还年轻的同学们, 可以从中找到一些让自己成长更快的文字.先介绍下... 阅读全文
摘要:
java程序运行时的内存空间,按照虚拟机规范有下面几项:(1)程序计数器 指示下条命令执行地址。当然是线程私有,不然线程怎么能并行的起来。 不重要,占内存很小,忽略不计。(2)方法区 这个名字很让我迷惑。这里面装的其实是程序运行需要的类文件,常量,静态变量等。作用容易明白。 程序运行时... 阅读全文
摘要:
一个java运行起来执行代码,主要的内存消耗有这几块:1、堆2、栈 :栈是每个线程一个的,是以消耗的内存是内存大小*线程数,当线程数特多时候需要小心 。3、直接内存:主要是通道时候的缓存,在内存不足是也会报OutOfMemoryError错误,外带sun.misc.Unsafe.allocateMe... 阅读全文