当前位置: 首页 > news >正文

响应式网站 html邢台建设一个企业网站

响应式网站 html,邢台建设一个企业网站,网站注销备案查询,腾讯云云服务器官网Java中new一个对象时#xff0c;JVM到底做了什么#xff1f; 在Java编程中#xff0c;new关键字是我们创建对象的最常用方式。但你是否想过#xff0c;当你写下new MyClass()时#xff0c;Java虚拟机#xff08;JVM#xff09;到底在背后做了哪些工作#xff1f;今天JVM到底做了什么 在Java编程中new关键字是我们创建对象的最常用方式。但你是否想过当你写下new MyClass()时Java虚拟机JVM到底在背后做了哪些工作今天我们就来深入探讨一下new一个对象时JVM的完整执行流程。 1. 类加载对象的蓝图 当你第一次使用new创建一个对象时JVM会首先检查这个类是否已经被加载。如果没有JVM会通过类加载器ClassLoader加载该类的字节码文件.class文件。类加载的过程包括 加载将类的字节码加载到内存中。验证确保字节码是合法的不会危害JVM的安全。准备为类的静态变量分配内存并设置默认值。解析将符号引用转换为直接引用。初始化执行类的静态初始化块static {}和静态变量的赋值操作。 类加载完成后JVM就可以基于这个“蓝图”创建对象了。 2. 内存分配为对象安家 类加载完成后JVM会为对象在堆内存Heap中分配一块空间。这块空间的大小是由对象的成员变量决定的。例如如果一个类有两个int类型的变量和一个String类型的变量那么JVM会分配足够的内存来存储这些数据。 注意Java的堆内存是所有线程共享的因此内存分配需要考虑线程安全问题。JVM会通过指针碰撞Bump the Pointer或空闲列表Free List等机制来高效地分配内存。 3. 初始化默认值清零操作 在内存分配完成后JVM会将对象的成员变量初始化为默认值。这些默认值包括 数值类型如int、long、double等的默认值为0或0.0。布尔类型boolean的默认值为false。引用类型如String、Object等的默认值为null。 这一步确保了对象在构造函数执行之前所有的成员变量都有一个已知的初始状态。 4. 执行构造代码块对象的“热身” 如果类中定义了构造代码块即在类中直接使用{}包裹的代码JVM会在调用构造函数之前执行这些代码。构造代码块通常用于执行一些通用的初始化逻辑。 例如 public class MyClass {{System.out.println(构造代码块执行);} }无论调用哪个构造函数构造代码块都会被执行。 5. 调用构造函数对象的“出生” 接下来JVM会调用与new语句匹配的构造函数。构造函数的主要作用是对对象进行进一步的初始化。例如 public class MyClass {private int value;public MyClass(int value) {this.value value;System.out.println(构造函数执行);} }在构造函数中你可以为成员变量赋值或者调用其他方法来完成对象的初始化。 6. 返回引用对象的“身份证” 当所有初始化操作完成后new操作会返回对象在堆内存中的引用。这个引用实际上是一个指向堆内存中对象地址的指针。程序通过这个引用来操作对象。 例如 MyClass obj new MyClass(10);这里的obj就是一个引用它指向堆内存中MyClass对象的地址。 总结new操作的完整流程 让我们用一个简单的例子来总结new一个对象时的完整流程 public class MyClass {private int value;{System.out.println(构造代码块执行);}public MyClass(int value) {this.value value;System.out.println(构造函数执行);}public static void main(String[] args) {MyClass obj new MyClass(10);} }输出结果 构造代码块执行 构造函数执行从输出中可以看到JVM首先执行了构造代码块然后调用了构造函数。 思考new操作的性能开销 虽然new操作看起来很简单但它背后涉及了类加载、内存分配、初始化等多个步骤这些操作都会带来一定的性能开销。因此在高性能场景下我们需要尽量避免频繁创建对象或者使用对象池Object Pool等技术来优化性能。 结语 通过本文的讲解相信你对Java中new一个对象时的完整流程有了更深入的理解。无论是类加载、内存分配还是构造代码块和构造函数的执行每一步都是JVM精心设计的。掌握这些底层细节不仅能帮助你写出更高效的代码还能让你在面试中脱颖而出。 如果你觉得这篇文章对你有帮助欢迎点赞、转发并在评论区分享你的看法我们下期再见 关注我获取更多技术干货
http://www.hkea.cn/news/14512512/

相关文章:

  • 网站开发建设技术特点自媒体平台有哪些赚钱
  • 网站建设公司怎么发展网站建设之前必须 域名备案
  • 夜晚很晚视频免费素材网站windows优化大师官方网站
  • 青岛网站建设方案策划登陆Wordpress手机app
  • 郑州网站建设+论坛深圳深圳龙岗网站建设公司
  • 购买网站域名 空间wordpress 风格
  • 几个做ppt的网站知乎凡客官网 电脑版
  • 衡水网站设计境外电商平台入驻
  • wordpress中的搜索郴州网站seo外包
  • 做企业网站赚钱吗房产网站开发
  • 自己做网站要多久济宁网站制作
  • html网站怎么做视频有没有做家具特卖的网站
  • 没有专项备案的网站利用淘宝联盟做网站赚取佣金
  • 网站建设合同验收标准中国国际室内设计师网
  • 什么手机可做网站wordpress 赞赏
  • 效果好的网站建企业官网属于什么网站
  • 电子商务网站建设定位设想快速生成网站程序
  • 网站建设实训意见sem和seo都包括什么
  • 网站实名制查询网站开发报告
  • 官方网站找做化妆品套盒子佛山网站建设哪家公司好
  • 电子网站建设实验报告在线爬取网页源码
  • 有品质的网站推广公司怎么查域名有没有备案
  • 营销公司网站模板下载短链接在线生成免费
  • 石家庄网站seo制作网站需要哪些工作
  • 手机做网站的软件无锡网站定制公司
  • 网站导航栏下拉菜单东莞百度推广教程
  • 做物流的可以在那些网站找客户端百度外推排名
  • 网站建设报价东莞广州网站制作公司多少钱
  • 网站开发属于软件开发吗青海西宁网站建设
  • 凡科建站怎么收费开网店需要自己做网站吗