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

有谁可以做网站寄生虫网站改版公司

有谁可以做网站寄生虫,网站改版公司,一个空间怎么放两个网站,企业网站推广定义虚拟机对象 虚拟机在Java堆中对象分配、布局和访问的访问过程 对象的创建 Java对象的创建步骤#xff1a; 1#xff09;类加载检查 虚拟机遇到一条 new 指令时#xff0c;首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用#xff0c;并且检查这个符号…虚拟机对象 虚拟机在Java堆中对象分配、布局和访问的访问过程 对象的创建 Java对象的创建步骤 1类加载检查 虚拟机遇到一条 new 指令时首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有那必须先执行相应的类加载过程这在类加载机制中已经介绍过了 2分配内存 在类检查通过之后接下来将虚拟机为新生对象分配内存。对象所需内存在类加载之后就可以确定为对象分配空间的任务等同于在堆内存中划分出出来一块等同大小的内存。 内存分配的两种方式 指针碰撞 适用场合堆内存规整即没有内存碎片的情况下。原理用过的内存全部整合到一边没有用过的内存放在另一边中间有一个分界指针只需要向着没用过的内存方向将该指针移动对象内存大小位置即可。使用该分配方式的 GC 收集器Serial, ParNew 空闲列表 适用场合堆内存不规整的情况下。原理虚拟机会维护一个列表该列表中会记录哪些内存块是可用的在分配的时候找一块儿足够大的内存块儿来划分给对象实例最后更新列表记录。使用该分配方式的 GC 收集器CMS 选择以上两种方式中的哪一种取决于 Java 堆内存是否规整。而 Java 堆内存是否规整取决于 GC 收集器的算法是标记-清除还是标记-整理也称作标记-压缩值得注意的是复制算法内存也是规整的。 内存分配并发问题补充内容需要掌握 在创建对象的时候有一个很重要的问题就是线程安全因为在实际开发过程中创建对象是很频繁的事情作为虚拟机来说必须要保证线程是安全的通常来讲虚拟机采用两种方式来保证线程安全 CAS失败重试 CAS 是乐观锁的一种实现方式。所谓乐观锁就是每次不加锁而是假设没有冲突而去完成某项操作如果因为冲突失败就重试直到成功为止。虚拟机采用 CAS 配上失败重试的方式保证更新操作的原子性。TLAB 为每一个线程预先在 Eden 区分配一块儿内存JVM 在给线程中的对象分配内存时首先在 TLAB 分配当对象大于 TLAB 中的剩余内存或 TLAB 的内存已用尽时再采用上述的 CAS 进行内存分配 3初始化零值 内存分配完成后虚拟机需要将分配到的内存空间都初始化为零值不包括对象头这一步操作保证了对象的实例字段在 Java 代码中可以不赋初始值就直接使用程序能访问到这些字段的数据类型所对应的零值。 4设置对象头 初始化零值完成之后虚拟机要对对象进行必要的设置例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的 GC 分代年龄等信息。 这些信息存放在对象头中。 另外根据虚拟机当前运行状态的不同如是否启用偏向锁等对象头会有不同的设置方式。 5执行init方法 在上面工作都完成之后从虚拟机的视角来看一个新的对象已经产生了但从 Java 程序的视角来看对象创建才刚开始 方法还没有执行所有的字段都还为零。所以一般来说执行 new 指令之后会接着执行 方法把对象按照程序员的意愿进行初始化这样一个真正可用的对象才算完全产生出来 对象的内存布局 在 Hotspot 虚拟机中对象在内存中的布局可以分为 3 块区域对象头、实例数据和对齐填充。 Hotspot 虚拟机的对象头包括两部分信息第一部分用于存储对象自身的运行时数据哈希码、GC 分代年龄、锁状态标志等等另一部分是类型指针即对象指向它的类元数据的指针虚拟机通过这个指针来确定这个对象是哪个类的实例。 实例数据部分是对象真正存储的有效信息也是在程序中所定义的各种类型的字段内容。 对齐填充部分不是必然存在的也没有什么特别的含义仅仅起占位作用。 因为 Hotspot 虚拟机的自动内存管理系统要求对象起始地址必须是 8 字节的整数倍换句话说就是对象的大小必须是 8 字节的整数倍。而对象头部分正好是 8 字节的倍数1 倍或 2 倍因此当对象实例数据部分没有对齐时就需要通过对齐填充来补全 对象的访问定位 建立对象就是为了使用对象我们的 Java 程序通过栈上的 reference 数据来操作堆上的具体对象。对象的访问方式由虚拟机实现而定目前主流的访问方式有使用句柄、直接指针。 句柄 如果使用句柄的话那么 Java 堆中将会划分出一块内存来作为句柄池reference 中存储的就是对象的句柄地址而句柄中包含了对象实例数据与对象类型数据各自的具体地址信息。 直接指针 如果使用直接指针访问reference 中存储的直接就是对象的地址。 这两种对象访问方式各有优势。使用句柄来访问的最大好处是 reference 中存储的是稳定的句柄地址在对象被移动时只会改变句柄中的实例数据指针而 reference 本身不需要修改。使用直接指针访问方式最大的好处就是速度快它节省了一次指针定位的时间开销。 HotSpot 虚拟机主要使用的就是这种方式来进行对象访问。
http://www.w-s-a.com/news/120209/

相关文章:

  • 我做的网站手机上不了wordpress插件整站搬家
  • 河南省和建设厅网站首页西安找建网站公司
  • 网页设计基础代码网站进出成都最新通知
  • 如何创建网站乐清网络科技有限公司
  • 沈阳市网站制作艺术字体logo设计生成器
  • 网站设计常用软件都有哪些中国建设银行官方招聘网站
  • 证券投资网站建设视频直播怎么赚钱的
  • 建设酒店网站ppt模板下载郑州小程序设计外包
  • 网站建设自我总结google推广公司
  • 安全网站建设情况wordpress 评论表单
  • 网站建设发言材料个人网站推广软件
  • php建站软件哪个好南京哪家做网站好
  • 排名好的手机网站建设番禺网站建设专家
  • 番禺怎么读百度有专做优化的没
  • 网站开发中应注意哪些问题网络营销的主要特点
  • 网站定制案例北京网站制作招聘网
  • 网站建设与推广实训小结网站建设专业英文
  • 郑州网站建设动态凡科网站建设是免费的吗
  • 湖北手机网站建设wordpress转emlog博客
  • 北京东站设计网名的花样符号
  • 安徽建设厅网站首页网站开发aichengkeji
  • 自贡网站制作荣茂网站建设
  • 什么做的网站吗正规的机械外包加工订单网
  • 网络工程公司的业务邵阳seo快速排名
  • 博主怎么赚钱网站seo找准隐迅推
  • 营销号经典废话北京网站建设公司网站优化资讯
  • 一六八互联网站建设怎么做套版网站
  • wordpress 书站建筑公司简介范文大全
  • 建设官方网站多少鲜花网站建设的主要工作流程
  • 卖主机网站轻量wordpress主题