虚拟机GC与内存分配

最后修改于: 2016-03-24 19:07:09.0

Java和C++的一大区别就是Java没有指针的概念,也(基本)不用程序开发者自己管理内存,不像C++存在着内存泄漏,非法访问等等问题。这当然都是依靠虚拟机的GC(Garbage Collection,GC)机制实现的。学习GC,或者说学习虚拟机的相关知识应该是每个使用高级虚拟机语言的开发者的必修课,知其然也要知其所以然嘛。

一、什么是垃圾?

在考虑什么是垃圾这个问题之前先想想垃圾都在哪?垃圾(基本)都在堆里,而(肯定)不在栈上。栈里的栈帧随着方法的进入和退出,开辟多少空间,回收多少空间都是确定而有序的,所以不需要什么GC。

JVM参数大全

最后修改于: 2016-03-15 19:50:19.0

最近看书中提到一些JVM参数,想总结一下,又想看看到底有多少参数。

百度了一下,全是一些转载来转载去的文章,没找到系统和全面的。

于是拖了一个蓝灯到实验室的笔记本上,去google了一下“jvm parameters”,搜索结果第一个就是Oracle的官方文章,里面找到了最新的关于JDK8在windows平台下的参数大全,就是下面这个地址:

Java Platform, Standard Edition Tools Reference

说明两个问题:1、还是要用谷歌;2、还是要看官方英文文档

Java内存模型

最后修改于: 2016-03-15 19:50:29.0

对于Java编程来说,Java内存模型是一个很重要的知识。常有人把“内存模型”和“JVM内存结构”这两个名词搞混。Java内存模型(Java Memory Model,JMM)是Java虚拟机规范所定义的一种抽象模型,以屏蔽具体硬件和操作系统平台的内存访问差异,实现Java程序一致的内存访问,重点在于明确并发内存访问的规则和效果。

内存模型抽象

JVM内存结构概述

最后修改于: 2016-03-24 17:42:02.0

最近在看《深入理解Java虚拟机》这本书,还是稍微记一点东西吧,俗话说眼过千遍不如手过一遍,自己写一写想一想,虽然是没有什么营养,但是总归是加深了印象,如果还有人跟我一样的初学者能看到并学到东西那就最好了。

JVM的内存结构

java的内存模型大概可以用下面这个图来表示,基本上内存模型可以分为“程序计数器”、“虚拟机栈(VM Stack)”、“本地方法栈(Native Method Stack)”、“堆(Heap)”和“方法区(Method Area也叫non-heap)”这几个部分,而常量池是方法区的一部分

[转]JVM并发机制的探讨——内存模型、内存可见性和指令重排序

最后修改于: 2016-03-01 11:04:12.0

来自<http://my.oschina.net/chihz/blog/58035

并发本来就是个有意思的问题,尤其是现在又流行这么一句话:“高帅富加机器,穷矮搓搞优化”。从这句话可以看到,无论是高帅富还是穷矮搓都需要深入理解并发编程,高帅富加多了机器,需要协调多台机器或者多个CPU对共享资源的访问,因此需要了解并发,穷矮搓搞优化需要编写各种多线程的代码来压榨CPU的计算资源,让它在同一时刻做更多的事情,这个更需要了解并发。

在我前一篇关于并发的文章http://my.oschina.net/chihz/blog/54731中提到过管程,管程的特色是在编程语言中对并发的细节进行封装,使程序员可以直接在语言中就得到并发的支持,而不必自己去处理一些像是控制信号量之类容易出错且繁琐的细节问题。一些语言是通过在编译时解开语法糖的方式去

关于我

男,1991年末出生,这个人很懒,其他的不想写了。
More about me

文章分类

其他玩意儿