Java类的加载过程

先推荐两个非常厉害的讲解博客。第一个大佬讲的深入浅出非常牛逼他的其他几篇博客也建议看看,第二个的代码示范准备的很不错

我就随便做一下笔记:
一. 加载
二. 连接–>

  1. 验证
  2. 准备
  3. 解析

三. 初始化

讲一讲很重要的类和对象的属性赋值的时机问题。
分成类和对象两个部分:
类的方法是加载时期放到方法区的,类的静态属性在准备时开辟内存赋默认值,在初始化的时候按代码顺序执行赋值,赋上你规定的值。类的普通属性不用开内存和赋值,反正你无法访问。
对象的方法和静态属性与类公用,去方法区拿。对象的普通属性在构造器执行前赋默认值和赋你规定的值,然后在构造器里你还可以第三次对属性赋值。
所以除了局部变量(方法里的变量)之外,其他变量都有默认值。至于为什么局部变量没有,这应该是一个工程学的问题,而不是什么局部变量在栈里所以没有,这显然在搞笑。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值