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

江苏扬州建设局网站专业网站建设软件

江苏扬州建设局网站,专业网站建设软件,设计design,做网站js还是jq学习笔记系列开头惯例发布一些寻亲消息 链接#xff1a;https://baobeihuijia.com/bbhj/contents/3/192489.html 类装载器classLoader#xff1a; 将本地的字节码文件.class 加载到内存方法区中成为元数据模板#xff08;两个class对象是否为同一个类要求#xff1a;完整…学习笔记系列开头惯例发布一些寻亲消息 链接https://baobeihuijia.com/bbhj/contents/3/192489.html 类装载器classLoader 将本地的字节码文件.class 加载到内存方法区中成为元数据模板两个class对象是否为同一个类要求完整类名包括包名一致加载类的classloader要一致 启动类加载器用于提供JVM自身需要的类除了启动类加载器其他都继承自classloader 扩展类加载器从用户指定目录中加载类 应用程序类加载器加载环境变量/系统属性指定路径下的类库是程序中默认的类加载器 用户自定义类加载器 双亲委派机制 按需加载需要用到该类的时候才会加载到内存中生成class对象向上委托父类加载失败则由子加载器处理优点 避免类重复加载防止核心api被随意更改【沙箱安全】自定义string类在加载的自定义string类的时候会率先使用引导类加载器加载jdk自带的string.class文件可以保证对java核心源代码的保护 运行时数据区: JAVA内存布局规定了java运行过程中内存申请分配和管理的策略 每个线程独立拥有程序计数器、栈、本地方法栈 线程共享随虚拟机存亡的方法区、堆 程序计数器 由于cpu一直在线程中切换利用程序计数器可以记住切回来后继续执行的位置【cpu时间片cpu分给各个线程的时间段】 pc寄存器用来存储指向下一条指令的地址/如果该线程执行的是native方法则是未指定值 通过pc来控制程序的分支、循环、跳转等 字节码解释器就是通过pc来找到下一条即将要执行的字节码指令 是jvm中唯一一个没有规定任何outofmemoryerror情况的 虚拟机栈栈帧就类似于寄存器之间的倒换 java的指令都是基于栈来设计的因为不同的平台cpu架构不同所以不能设计基于寄存器的随着方法的执行java栈的操作就是对栈帧的入栈还有出栈不存在垃圾回收问题之前的基于寄存器的方法执行是通过寄存器来转移操作数据栈可能出现的异常 线程请求分配的栈容量超过java的栈最大容量就抛出stackoverflowerror异常如果是没有内存来创建或者满足栈要求就抛出outofmemoryerror异常 每个线程都有自己的栈栈中数据是以栈帧格式存在的执行引擎运行所有的字节码指令只针对当前栈帧进行也就是说一个时间点只会有一个活动的栈帧如果该方法调用了别的方法那么别的方法的栈帧就会被创建并放到栈顶端成为当前栈帧栈帧中包括 局部变量表 局部变量表所需的大小在编译的时候就写在了字节码文件中所以大小是固定的以slot为基本存储单位当一个方法被执行引擎调用的时候该方法的方法参数和内部定义的局部变量都会按照执行顺序被复制到局部变量表中的slot上局部变量表必须进行人为的初始化没有系统自带的准备阶段初始为0没有赋值就不能使用 操作数栈 保存计算过程的中间结果同时是计算过程中变量的临时存储空间并非使用索引来进行数据访问而是通过数据的出栈和入栈来完成一次访问栈顶缓存技术将频繁的栈顶读写缓存到物理cpu中降低对内存的读写 动态链接指向运行时常量池的方法引用将符号转化为调用方法的直接引用 静态链接早期绑定在编译期可知且运行期不变用静态链接直接替换动态链接晚期绑定编译期无法确定要根据程序运行时的实际类型才能确定【比如我们是通过一个变量值3来判断执行哪个方法像这样就无法直接替换就需要在运行时进行动态的链接/支持多态】 虚方法表每次动态分派的过程都要在类的方法元数据中找到合适的目标因此在类的方法区建立虚方法表使用索引来代替查找 方法返回地址 存放调用该方法的pc寄存器的值即调用该方法的下一条指令的地址若是异常退出则返回地址是要通过异常表来确定 Java方法内的局部变量是否线程安全问题_在方法中会产生线程安全问题吗对吗-CSDN博客 本地方法栈 调用本地的一些基于C编写的程序时采用本地方法栈来管理本地方法的调用 当某个线程调用一个本地方法时它就进入了一个全新的并且不再受虚拟机限制的世界。它和虚拟机拥有同样的权限。 堆 是JVM中分配内存最大的一块区域如果内存大小超过-Xmx指定的最大内存就会抛出outofmemeryerror 为什么xms和xmx要设置成相同的值【精选】jvm调优技巧 - 内存抖动 、Xms和Xmx参数为什么要设置相同的值_xmx和xms为什么要一样-CSDN博客 xms是发现空余堆内存大于阈值jvm减小直到xms最小 xmx是发现空余堆内存小于阈值jvm增大直到xmx最大 1、首先如果-Xms起初值设置的比较小那么就频繁触发GC操作。当GC操作无法释放更多内存时会进行内存的扩充。 2、内存扩充的时候会出现内存抖动的情况 【就比如我上街看到一个很喜欢的商品想要买下这个商品但是我身上的钱不够了 于是我向你借钱你同意了然后你掏出钱包 把钱拿出来然后再交给我你拿钱给我的这整个过程也是需要时间的。所以我为了省下这个拿钱的时间我在一开始出门的时候就直接带上足够的钱这样就可以省下借钱的时间了】 为对象分配内存TLAB 为避免多个线程操作同一堆区的对象地址使用TLAB机制如果失败那就使用加锁机制确保数据操作的原子性 对象不一定全部分配在堆上采用逃逸分析时即对象只在方法体内使用时也可以分配到栈中 方法区 实际物理内存空间和堆一样可以不连续的如果方法区定义了太多的类那么方法区也会outpfmemoryerror在这个类加载阶段包括两部分一是对静态变量的加载分为static和final static二是对类的加载内部结构 类型信息全名包名.类名直接父类的完整有效名修饰符直接接口域信息方法信息方法名方法返回类型参数修饰符字节码操作数栈局部变量表以及大小异常表 方法区是运行时常量池、字节码文件内部包含常量池 常量池字节码和运行时常量池方法区 一个java源文件中的类、接口编译后产生一个字节码文件。而Java中的字节码需要数据支持通常这种数据会很大以至于不能直接存到字节码里换另一种方式可以存到常量池这个字节码包含了指向常量池的引用。 这部分内容在类加载后存放到方法区的运行时常量池中其中每个已加载的类都会维护一个常量池通过索引访问 编译期就明确数值字面量运行期才能获得方法或者字段引用此时就不再是常量池中的符号地址了而是真实地址 大概梳理流程 【创建轮子车架】我将我的java文件打包生成字节码文件当我点击运行的时候启动类会被主动加载jvm的类加载器就会 加载类中的静态变量到方法区直接分配内存可能分配到永久代/堆加载字节码中的类信息到方法区按需加载需要用到该类的时候才会加载到内存包括类名域名方法名并且将类的常量池放到方法区的运行时常量池中根据这个信息才能将类完整的刻画出来将符号引用变为直接的内存地址 【实例化四个轮子车架】jvm开启线程主动对启动类进行类的初始化先进行类初始化即将方法区/堆区的静态变量进行初始化执行静态代码块然后是对象初始化new的对象放到jvm的堆中执行赋值语句普通代码块最后是构造函数代码。 【组装】jvm在栈中开启一个栈帧记录线程在运行时加载该方法的局部变量表利用操作栈对数据进行循环遍历运算如果在执行过程中遇到了对象引用那就去方法区的运行时常量池将符号转化为直接引用执行完毕后堆中的对象被清除。 面试题 当在多次minor GC后仍然存活的满足一定存活代数的对象或者是由于太大无法在新生代中分配的对象 java8之前两种模式 所有的类信息运行时常量池和静态变量字符串常量都放在永久代上只剩类信息运行时常量池在永久代 / 静态变量字符串常量放在堆中 java8之后 jvm没有永久代的概念类信息运行时常量池放在本地内存上叫元空间 为什么有这个变动呢 因为随着类加载变多我们无法定义一个合适的永久代空间因此放到本地的话元空间的大小只受限于本地的内存大小原始字符串常量放在永久代中只有full GC老年代或者永久代不足的时候才会被清理回收效率不高所以新的改进是放到堆中跟随对象及时回收内存 行时常量池放在本地内存上叫元空间 为什么有这个变动呢 因为随着类加载变多我们无法定义一个合适的永久代空间因此放到本地的话元空间的大小只受限于本地的内存大小原始字符串常量放在永久代中只有full GC老年代或者永久代不足的时候才会被清理回收效率不高所以新的改进是放到堆中跟随对象及时回收内存
http://www.hkea.cn/news/14263043/

相关文章:

  • 一键建站画册设计网站有哪些
  • 企业官网网站模板下载制作一个公司网站多少
  • 兰州酒店网站建设分销系统
  • 网站文章排序网站关键词怎样修改
  • 房地产类的网站建设海宁网站建设
  • 网站建设技术是干嘛的如何做商城网站小程序
  • 做网站需要学数据库吗网站建设框架模板下载
  • 企业为什么建站做公司网站都需要什么
  • 拿自己爱人做网站百度站长统计
  • 广州网站建设公司万齐网络科技建网站方案
  • pyhton做网站网页微博超话签到
  • 自助建站平台哪家好超级seo企业网站系统
  • 找网站有中文字目的网络营销的概念和界定
  • 在哪里做网站比较好百度云服务器官网
  • 电商数据网站有哪些中铁建设集团官网登录
  • 男女做那个的小视频网站极简风网站
  • 公司注销后 网站备案吗佛山市网站建设公司
  • 做网站用什么电脑配置网站搭建方案
  • 大良网站建设dwxw南通企业网站排名
  • 电商网站开发需要掌握哪些知识技能可做百度百科参考资料的网站
  • 什么是网站交互性网络营销相关理论
  • 兰西网站建设html静态页面兼职
  • 微网站背景图片大连网站制作选择ls15227
  • 阿里云除了做网站还能用来干什么河源市建设网站
  • 本地南昌网站建设电商
  • 网站建设网络推广公司有哪些百度四川建设厅网站
  • 企业网站选择第三方还是自己做做网站的主机配置
  • 河南网站建设找哪家微信代运营费用
  • 有了域名空间怎么做网站成都软件培训机构排名榜
  • 网站建设+廊坊学历提升机构哪家好