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

广东建设教育协会网站seo怎样才能优化网站

广东建设教育协会网站,seo怎样才能优化网站,越南网站建设,网站关键词排名很好的原因根据Java虚拟机的规范,JVM的内存区域可以细分为程序计数器、虚拟机栈、本地方法栈、堆和方法区。 其中方法区和线程是共享的,虚拟机栈、本地方法区和程序计数器是线程私有的。 介绍一下程序计数器? 程序计数器也被称为PC寄存器。是一块较小…

根据Java虚拟机的规范,JVM的内存区域可以细分为程序计数器、虚拟机栈、本地方法栈、堆和方法区。

其中方法区和线程是共享的,虚拟机栈、本地方法区和程序计数器是线程私有的。

介绍一下程序计数器?

程序计数器也被称为PC寄存器。是一块较小的内存空间。他可以看作是当前线程所执行的字节码文件指示器。

介绍一下Java虚拟机栈?

Java 虚拟机栈的⽣命周期与线程相同。

当线程执⾏⼀个⽅法时,会创建⼀个对应的栈帧,⽤于存储局部变量表、操作数栈、动态链接、⽅法出⼝等信息,然后栈帧会被压⼊虚拟机栈中。当⽅法执⾏完毕后,栈帧会从虚拟机栈中移除。

⼀个什么都没有的空⽅法,空的参数都没有,那局部变量表⾥有没有变量?

对于静态⽅法,由于不需要访问实例对象 this,因此在局部变量表中不会有任何变量。

对于⾮静态⽅法,即使是⼀个完全空的⽅法,局部变量表中也会有⼀个⽤于存储 this 引⽤的变量。this 引⽤指向当前实例对象,在⽅法调⽤时被隐式传⼊。

详细解释⼀下:

⽐如说有这样⼀段代码:

public class VarDemo1 {public void emptyMethod() {
// 什么都没有}
public static void staticEmptyMethod() {
// 什么都没有}
}

⽤ javap -v VarDemo1 命令查看编译后的字节码,就可以在 emptyMethod 中看到这样的内容:

这⾥的 locals=1 表示局部变量表有⼀个变量,即 this,Slot 0 位置存储了 this 引⽤。

⽽在静态⽅法 staticEmptyMethod 中,你会看到这样的内容:

这⾥的 locals=0 表示局部变量表为空,因为静态⽅法属于类级别⽅法,不需要 this 引⽤,也就没有局部变量。


介绍一下本地方法栈?

本地⽅法栈与虚拟机栈相似,区别在于虚拟机栈是为 JVM 执⾏ Java 编写的⽅法服务的,⽽本地⽅法栈是为 Java 调⽤本地 native ⽅法服务的,通常由 C/C++ 编写。

在本地⽅法栈中,主要存放了 native ⽅法的局部变量、动态链接和⽅法出⼝等信息。当⼀个 Java 程序调⽤⼀个native ⽅法时,JVM 会切换到本地⽅法栈来执⾏这个⽅法。

介绍一下本地方法栈的运行场景?

当 Java 应⽤需要与操作系统底层或硬件交互时,通常会⽤到本地⽅法栈。

⽐如调⽤操作系统的特定功能,如内存管理、⽂件操作、系统时间、系统调⽤等

详细说明⼀下:

⽐如说获取系统时间的 System.currentTimeMillis() ⽅法就是调⽤本地⽅法,来获取操作系统当前时间的。

再⽐如 JVM ⾃身的⼀些底层功能也需要通过本地⽅法来实现。像 Object 类中的 hashCode() ⽅法、 clone() ⽅法等。

native ⽅法解释⼀下?

native ⽅法是在 Java 中通过** native 关键字**声明的,⽤于调⽤⾮ Java 语⾔,如 C/C++ 编写的代码。Java 可以通过JNI,也就是 Java Native Interface 与底层系统、硬件设备、或者本地库进⾏交互。

介绍一下Java堆?

堆是 JVM 中最⼤的⼀块内存区域,被所有线程共享,在** JVM 启动时创建**,主要⽤来存储 new 出来的对象

Java 中“⼏乎”所有的对象都会在堆中分配,堆也是垃圾收集器管理的⽬标区域。

从内存回收的⻆度来看,由于垃圾收集器⼤部分都是基于分代收集理论设计的,所以堆⼜被细分为 新⽣代 、 ⽼年代 、 Eden空间 、 From Survivor空间 、 To Survivor空间 等。

随着 JIT 编译器的发展和逃逸技术的逐渐成熟,“所有的对象都会分配到堆上”就不再那么绝对了。

从 JDK 7 开始,JVM 默认开启了逃逸分析,意味着如果某些⽅法中的对象引⽤没有被返回或者没有在⽅法体外使⽤,也就是未逃逸出去,那么对象可以直接在栈上分配内存。


堆和栈的区别是什么?

堆属于线程共享的内存区域,⼏乎所有 new 出来的对象都会堆上分配,⽣命周期不由单个⽅法调⽤所决定,可以在⽅法调⽤结束后继续存在,直到不再被任何变量引⽤,最后被垃圾收集器回收。

栈属于线程私有的内存区域,主要存储局部变量、⽅法参数、对象引⽤等,通常随着⽅法调⽤的结束⽽⾃动释放,不需要垃圾收集器处理。


介绍一下方法区?

⽅法区并不真实存在,属于 Java 虚拟机规范中的⼀个逻辑概念,⽤于存储已被 JVM 加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等。

在 HotSpot 虚拟机中,⽅法区的实现称为永久代 PermGen,但在 Java 8 及之后的版本中,已经被元空间Metaspace 所替代。


变量存在堆栈的什么位置?

对于局部变量,它存储在当前⽅法栈帧中的局部变量表中。当⽅法执⾏完毕,栈帧被回收,局部变量也会被释放。

public void method() {int localVar = 100; // 局部变量,存储在栈帧中的局部变量表⾥
}

对于静态变量来说,它存储在 Java 虚拟机规范中的⽅法区中,在 Java 7 中是永久带,在 Java8 及以后 是元空间。

public class StaticVarDemo {public static int staticVar = 100; // 静态变量,存储在⽅法区中
}

文章转载自:

http://qT2vFunv.qtzwh.cn
http://CIEkUSiq.qtzwh.cn
http://Rx68ApWO.qtzwh.cn
http://G9TRySWX.qtzwh.cn
http://kzSNUnaW.qtzwh.cn
http://Q61K49M9.qtzwh.cn
http://Jye1z3Wc.qtzwh.cn
http://NZaJxayl.qtzwh.cn
http://spZ67GwW.qtzwh.cn
http://75kPO8Ut.qtzwh.cn
http://NXPzWpVG.qtzwh.cn
http://zHyeBd2t.qtzwh.cn
http://WpuH9oSR.qtzwh.cn
http://y1qAwi4u.qtzwh.cn
http://ykCIE7YL.qtzwh.cn
http://vuPAiOMx.qtzwh.cn
http://PPVz3wG0.qtzwh.cn
http://LF49DNyk.qtzwh.cn
http://9mRlWef8.qtzwh.cn
http://GzSEriOC.qtzwh.cn
http://d9PAGSaq.qtzwh.cn
http://E87fm7fb.qtzwh.cn
http://3AjDrJRy.qtzwh.cn
http://MBlbEA5g.qtzwh.cn
http://WtvpLfs4.qtzwh.cn
http://2dYBNIi3.qtzwh.cn
http://7tYezrfr.qtzwh.cn
http://ky9oblgO.qtzwh.cn
http://chCtVu8K.qtzwh.cn
http://80SsbCHW.qtzwh.cn
http://www.dtcms.com/wzjs/648336.html

相关文章:

  • 做爰全过程免费视频网站简历下载免费模板
  • 团购网站制作wordpress导航二级菜单
  • 多语言网站一个域名网络设计是啥
  • 网站在线优化工具企业官网模板图下载
  • 无锡门户网站制作电话首都博物馆 网站建设
  • 怎么做淘宝劵网站太原招聘网站开发
  • 网站建设的重点wordpress页面调用分类目录
  • 学校门户网站建设的优势上海网站制作是什么
  • 网站开发与规划就业前景租腾讯服务器做网站行吗
  • 网站留言短信通知 源码wordpress 模板层次结构信息图
  • 深圳门户网站建设专业wordpress侧栏跟随
  • 宁晋网站建设设计海南做公司网站
  • 信息分类网站好建吗运城网站制作路90
  • 网页设计旅游网站软件下载
  • 网站售后服务南阳网站开发公司
  • 网站制作与网站建设中国建行手机银行app下载安装
  • 什么网站不能备案商标查询系统官网
  • 网站建设企划动力网站前台和后台
  • 太原网站建设的公司排名重庆网站建设找重庆最佳科技
  • 企业网站管理系统教程公司注册一站式
  • 西安h5建站福建龙岩发现1例阳性
  • 小榄公司网站建设网站页面锚点怎么做
  • 徐州网站建设技术简单的网站开发的软件
  • 做教案比较好的网站被公司优化掉是什么意思
  • 中国最受欢迎的网站谷歌浏览器下载安装2022
  • asp网站部署网站开发的层级结构
  • 做杂志一般在哪个网站找感觉sem是什么缩写
  • 石狮外贸网站建设公司报价临漳 网站建设
  • 点广告挣钱网站有哪些如何做英文ppt模板下载网站
  • 成都建网站的公司江津网站建设