Java最新Java—代码块详解,java分布式框架面试题

总结

总的来说,面试是有套路的,一面基础,二面架构,三面个人。

最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友

三面蚂蚁金服成功拿到offer后,他说他累了

三面蚂蚁金服成功拿到offer后,他说他累了

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

public class Person {

String name;

String sex;

int age;

{

this.name = “花花”;

this.sex = “女”;

this.age = 3;

}

public static void main(String[] args) {

Person person1 = new Person();

Person person2 = new Person();

Person person3 = new Person();

}

}

打断点调试代码,你会发现:person对象均被初始化

在这里插入图片描述

使用打印再次验证:

{

this.name = “花花”;

this.sex = “女”;

this.age = 3;

System.out.println(“我是实例代码块!!”);

}

在这里插入图片描述

提供构造方法:

public Person() {

System.out.println(“我是构造方法!!!”);

}

输出结果:

在这里插入图片描述

以上验证了 构造代码块会在创建对象时被调用,每次创建时都会被调用,优先于类构造函数执行

JVM层面理解:

在这里插入图片描述

编译器在编译代码时,会将实例代码块中的内容拷贝到构造方法第一条语句前

多个实例代码块最终会按照定义的先后顺序合并成一份,并将其拷贝到每个构造方法中

验证:

public class Demo {

int a;

{

a = 10;

System.out.println(“实例代码块1”);

}

{

System.out.println(“实例代码块2”);

}

public static void main(String[] args) {

Demo demo = new Demo();

}

}

在这里插入图片描述

就地初始化

//就地初始化

public class Person {

String name = “嗯哼”;

String sex = “Unknown”;

int age = 0;

//

{ //实例代码块

this.name = “花花”;

this.sex = “女”;

this.age = 3;

System.out.println(“我是实例代码块!!”);

}

//构造方法

public Person(){

System.out.println(“我是构造方法!!!”);

}

public static void main(String[] args) {

Person person1 = new Person();

Person person2 = new Person();

Person person3 = new Person();

}

}

JVM层面理解:

在这里插入图片描述

在这里插入图片描述

编译期间,编译器会将就地初始化的内容拷贝到构造方法中,且拷贝在实例代码块之前

静态代码块

用 static{ } 包裹起来的代码片段

只会执行一次,静态代码块优先于构造代码块执行,一般用于初始化静态成员变量

//静态代码块

static {

System.out.println(money);

money = 100;

System.out.println(money);

System.out.println(“我是静态代码块!!!”);

}

输出结果:

在这里插入图片描述

打断点,看调试过程:

在这里插入图片描述

静态代码块在类加载时只执行一次

在类加载阶段执行,在编译阶段时,编译器会将多个静态代码块按照定义的先后次序依次合并,最终放在生成的方法中

验证:

最后

本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们:

目录:

二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6

Java面试核心知识点

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

[外链图片转存中…(img-Y1qzWuYK-1715374211614)]

Java面试核心知识点

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值