JVM由浅入深

运行时数据区域

  Java比起C++一个很大的进步就在于Java不用再手动控制指针的deletefree,统一交由JVM管理,但也正因为如此,一旦出现内存溢出异常,不了解JVM,那么排查问题将会变成一项艰难的工作。

  Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区。这些区域都有各自的用途,以及创建销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范 7》的规定(注意:我们完全可以从新的JDK1.9开始了解,但是先讲1.7是因为1.71.8JDK的较大的变化,真正实现了永久代的取消.我们先通过了解JDK1.7,然后再看一下1.81.7的基础上改变了什么。有助于我们的理解),JVM所管理的内存会被分为以下几个运行时数据区域,如下图所示:

 

揭秘对象

  我们都知道对象是类的一个实例,那么究竟该怎么理解呢?类被加载后存放在元空间(Metaspace),而实例一经创建却是在堆中分配空间,这两个空间又是通过什么来联系的?而对象又是如何被创建的,下面我们就来详细了解下.

语法糖

  语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。

转载于:https://www.cnblogs.com/lin-jing/p/8300756.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值