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

网站建设与管理案例教程在线阅读广州网站建设公司品牌

网站建设与管理案例教程在线阅读,广州网站建设公司品牌,域名还在备案可以做网站吗,个人网站免费申请JVM的位置 在操作系统之上#xff0c;可以想象成一个软件#xff0c;Java程序都运行在上面 JVM结构图 JVM调优的位置 99%的调优在堆中#xff0c;极少数在方法区中 很多第三方插件都是在执行引擎那块地方做出修改而来#xff0c;比如Lombook在程序运行时动态生成get/s…JVM的位置 在操作系统之上可以想象成一个软件Java程序都运行在上面 JVM结构图 JVM调优的位置 99%的调优在堆中极少数在方法区中 很多第三方插件都是在执行引擎那块地方做出修改而来比如Lombook在程序运行时动态生成get/set方法就是一个例子 类加载器加载.class文件 Java核心的类库是Rt.jar可以解压缩里面有许多class文件 双亲委派机制 该机制是用来保证程序安全的 委派流程 1.类加载器收到类加载的请求! 2.将这个请求向上委托给父类加载器去完成一直向上委托直到到达启动类加载器向上检索向下执行APP-EXC-BOOT 3.启动加载器检查是否能够加载当前这个类能加载就结束使用当前的加载器否则抛出异常CLassNotFound~通知子加载器进行加载 4.重复步骤3 Eg可以看到明明有main方法却报错显示没找到这是因为双亲委派机制的存在我的类名为StringBootStrap加载到了java.lang.String类也就是rt.jar中的那个而那个类里面没有main方法也就是说根本没有加载到自己写的String类所以会出现下面的异常。因此这个事情告诉我们不要乱给类命名 为什么双亲委派机制能保证程序的安全通俗来讲就是有了“双亲”的监督让程序更加的规范符合JVM的环境JRE Native native :凡是带了native 关键字的说明java的作用范围达不到了会去调用底层c语言的库!会进入本地方法栈 通过JNI调用本地方法本地接口 JNT作用:扩展ava的使用融合不同的编程语言为ava所用!最初就有: C、C。 Java诞生的时候C、C横行想要立足必须要有调用c、C的程序~ 它在内存区域中专门开辟了一块标记区域:Native Method Stack登记native方法 在最终执行的时候,加载本地方法库中的方法通过JNI Java程序驱动打印机管理系统这些都需要去调用本地方法。在企业级应用中较为少见! Eg:调用其他接口的方式有Socket、web Service、HTTP、Restful、Rpc Native Method Stack 它的具体做法是Native Method Stack 中登记native方法在( Execution Engine )执行引擎执行的时候加载Native Libraies。【本地库】 PC寄存器 程序计数器:Program Counter Register 每个线程都有一个程序计数器是线程私有的就是一个指针指向方法区中的方法字节码用来存储指向像一条指令的地址也即将要执行的指令代码)在执行引擎读取下一条指令是一个非常小的内存空间几乎可以忽略不计 方法区 Method Area方法区 方法区是被所有线程共享所有字段和方法字节码以及一些特殊方法如构造函数接口代码也在此定义简单说所有定义的方法的信息都保存在该区域此区域属于共享区间; 静态变量、常量、类信息(构造方法、接口定义)、运行时的常量池存在方法区中但是实例变量存在堆内存中和方法区无关 栈 栈内存主管程序的运行生命周期和线程同步当线程结束栈内存也就释放了对于栈来说不存在垃圾回收问题 栈内存中主要存储八大基本类型对象引用实例的方法 先进后出main方法最先执行在栈底所以是最后出栈。 递归造成栈溢出的原因就是反复的互相调用方法不断地入栈并且执行的方法不能得到结束无法出栈。使得调用的方法越来越多造成栈溢出 三种JVM sun - HotSpotBEA - JRocketIBM J9 VM 堆 Heap一个JVM只有一个堆内存堆内存的大小是可以调节的。 类加载器读取了类文件后一般会把什么东西放到堆中?类方法常量变量~保存我们所有引用类型的真实对象; 堆内存中还要细分为三个区域: 1.新生区类诞生和成长的地方甚至死亡。其中的伊甸园区是所有的new对象发生的地方。 2.养老区 3.永久区 主要存放加载的Class类级对象如class本身methodfield等等 幸存区0和1在堆内存中是一个动态变化的情况他是伊甸园区和养老区之间的一个过渡顾名思义无法幸存的对象会被“kill”GC垃圾回收主要在新生区中的伊甸园区和养老区进行。回收的方式分为轻GC与重GC其中轻GC主要存在于新生区只有当进入老年区的垃圾对象超过限额才会触发重GCfull GC该操作主要存在于养老区。 在开发中可能遇到OOM的问题表示内存不够这个内存也就是JVM的堆内存比如下面这个例子 Exception in thread “main” java.lang.OutOfMemoryError: Java heap space 99%的对象都是临时对象所以经过GC之后很少有进入到老年区中因此OOM的情况也很少发生 永久区的演变 这个区域常驻内存的。用来存放IDK自身携带的Class对象。Interface元数据存储的是Java运行时的一些环境或类信息这个区域不存在垃圾回收!关闭VM虚拟机就会释放这个区域的内存 jdk1.6之前︰永久代常量池是在方法区; jdk1.7︰永久代但是慢慢的退化了去永久代常量池在堆中 jdk1.8之后:无永久代常量池在元空间 永久区内存崩溃的情况一个启动类加载了大量的第三方jar包。Tomcat部署了太多的应用大量动态生成的反射类。不断的被加载。直到内存满就会出现OOM; 默认情况下分配的总内存是电脑内存的四分之一初始化的内存是电脑内存的六十四分之一 但是这些内存参数是可以人为调整的 可以看出元空间逻辑上存在但物理上并不存在 出现OOM如何去排查 可以使用内存快照工具分析对象主要有:MATEclipseJprofileIDEA两种工具。 向VM传入以下参数即可 当程序运行出现OOM进入类所在的文件目录下去寻找Jprofile生成的hprof文件即可。 双击打开即可初步发现占用大量内存的对象俗称“大对象” 查看线程Thread Dump即可发现程序中出现问题的所在行。 调优参数
http://www.w-s-a.com/news/55932/

相关文章:

  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站
  • 官方查企业的网站办公用品网站建设策划书
  • 微信网站搭建哪家好网站中转页
  • 阿里巴巴网站开发是谁长沙自助模板建站
  • 阿里云网站方案建设书网络公司运营是干啥的
  • 南通seo网站排名优化nginx wordpress rewrite
  • 网站做成软件做内部网站费用
  • 浙江企业网站建设网站域名有了 网站如何建设
  • 学编程哪个机构有权威德州做网站优化
  • 最火的网站开发语言福州网站建设服务商
  • 嘉兴网站制作哪里好asp网站源码免费版
  • 如何给网站配置域名百度网站统计添加网址
  • 搭建wap网站磁力引擎
  • 如何给公司网站做推广个人网站可以做社区吗
  • 网站建设为什么不给源代码大理如何做百度的网站
  • 网站代理违法吗网站备份流程
  • 免费域名查询网站wordpress wordfence
  • h5响应式网站模板制作巴南网站制作
  • 网站方案报价软文什么意思
  • 电子商城网站如何建设上海公司车牌价格
  • 丽江网站设计公司专业公司网站设计企业
  • iis怎么建设网站特色产品推广方案