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

哪里有网站建设的文章seo案例分析100例

哪里有网站建设的文章,seo案例分析100例,内蒙古头条新闻发布信息,3d建模平台学习笔记系列开头惯例发布一些寻亲消息 链接#xff1a;https://baobeihuijia.com/bbhj/contents/3/196593.html JVM#xff08;Write Once#xff0c;Run Anywhere#xff09; 以下是一些学习时有用到的资料#xff0c;只学习了JVM的基础知识#xff0c;对JVM整体进…学习笔记系列开头惯例发布一些寻亲消息 链接https://baobeihuijia.com/bbhj/contents/3/196593.html JVMWrite OnceRun Anywhere 以下是一些学习时有用到的资料只学习了JVM的基础知识对JVM整体进行了解 (5 封私信 / 80 条消息) Java JVM怎么学习啊从哪方面入手 - 知乎 (zhihu.com) JVM入门教程开篇为什么要学虚拟机 - 陈树义 - 博客园 (cnblogs.com) 【精选】Java | JVM | 详细图解坚持看完带你真正搞懂Java虚拟机_java jvm 图-CSDN博客 抽象语法树AST的全面解析一_语法树解析_嘿嘿帆的博客-CSDN博客 可移植性的两个层次 源代码级可移植性和二进制代码的可移植。 大部分的语言都支持源代码级的可移植性编译器是平台有关的 JAVA语言不仅支持源码可移植性其源代码编译之后生成的字节码同样具有可移植性。【理解系统能够识别是编译后形成的二进制文件操作系统有一套对应的机制能够识别出来比如对应于0011win操作系统认为是但是放到linux下可能就认为是非法操作所以需要“编译”“识别”要成对而对于java代码我们的编译和识别是不需要成对的因为java不直接生成给系统看的二进制代码而是先生成字节码再通过jvm匹配不同的系统。】 java到机器码流程 java并不是一上来直接把代码编译为系统识别的机器码而是编译为一种特定的语言规范——字节码java虚拟机解析字节码内容将其翻译为操作系统能理解的机器码 javac: 将源代码翻译为字节码**前端编译器**——16 进制数据流 / javap可以反编译 将源码的字符流转化为token流构建抽象语法树AST将定义的符号信息输入到符号表符号地址和符号信息注解处理对生成的语法树进行增删改查还是要进行token生成和符号表新增重复直到新增注解后语法树没有修改语法分析 语义分析使用前是否声明/路径的返回值/受查异常被正确处理解语法糖自动拆箱-还原简单的数据结构 生成字节码将语法树和符号表转为字节码.class 字节码到机器码java解释器和JIT编译混用 java解释器直接执行字节码调用系统启动快但是过程慢JIT编译器将字节码转化为本地机器码启动慢过程很快 c1编译模式进行简单、可靠的优化如有必要将加入性能监控的逻辑c2编译模式会启用一些编译耗时较长的优化甚至会根据性能监控信息进行一些不可靠的激进优化。 AOT编译器是一种由源代码直接到机器码的方法但是对于java 的动态特性并不友好所以是一种牺牲质量换取性能的策略如动态类加载无法实现 对字节码进行深入理解 源代码 常量池 类索引地址指向了常量池中的Demo类 父类索引地址指向常量池的object类 接口索引接口计数器接口信息 字段表集合类级变量、实例级变量不包括类中的局部变量/ 同样是字段计数器属性数据 方法表索引方法计数器方法表 public访问修饰符 方法名的索引指向了常量池的 属性表计数器属性表 属性表名code属性长度操作数栈深度的最大值为局部变量分配的存储空间字节码指令通过查询字节码指令表可以知道类似于汇编异常表长度又来一个属性表放的是line_number_info表其中包含了start_pc字节码行号 line_numberjava源码的行号 属性表是类层次的属性其中包含了该字节码文件的源文件即demo.java 运行时数据区java虚拟机的内存【java类加载到java内存中类信息存在方法区创建对象存在堆中调用方法就开启线程】 公有所有线程共享 java堆 存储java实例对象的内存分配 方法区 存储java类字节码数据存储每一个类的结构信息如运行时常量池、字段和方法数据常量池也在里边 私有线程私有 PC寄存器线程正在执行的字节码指令地址java虚拟机栈存储局部变量操作数栈本地方法栈。。。 类加载机制即字节码如何翻译【遇到static单独开出去内存不会每次new 对象都新开内存】有几个例子要多看 加载将字节码加载到内存在方法区创建对应的class对象 校验对字节码文件继续校验是否规范 为类变量static修饰的变量分配内存并按照 变量的话java语言的数据零值来赋值【注意不是代码里边的值】常量final的话直接就是用户代码给出的值 解析将常量池中的符号引用替换为直接的内存地址 初始化new/读取或者设置一个类的static被final修饰、或者在编译器把结果放入常量池的静态字段除外/调用一个类的静态方法 从入口程序开始执行 执行结束后jvm销毁创建的class对象最后JVM也退出内存 重点先类初始化结束后就对象初始化如果没有实例化只是因为main入口或者用了其中的static或者因为子类初始化的时候父类还没有初始化那么只会类初始化不会对象初始化understand类初始化只有一次 类初始化的细节jvm看到方法区的字节码其实分不清构造函数啥的【是先类初始化后对象初始化】 类初始化类变量的赋值语句、静态代码块的执行对象初始化实例化之后才会执行赋值语句普通代码块最后才是构造函数代码【按照我们平时构造函数中可以调用对象字段就可以推测出来】 垃圾回收机制 判断垃圾GC Root Tracing 算法从 GC Root 出发所有可达的对象都是存活的对象而所有不可达的对象都是垃圾。为什么不使用引用计数是因为引用计数会存在循环引用的问题 三种垃圾回收机制 标记清除 复制算法 标记压缩 堆区的回收总的来说分为年轻代和老年代 13 【年轻存活率低复制算法老年存活率高标记-压缩方法】 年轻代用复制年轻代分为Eden伊甸园From Survivor 0幸存0区To Survivor 1幸存1区分区比例811这么分区是因为ibm公司统计98%对象都是短期的不必单独浪费一半的空间来存储只需要用10%即可保留下当前年轻代中的精华对象 老年代用标记-压缩方法 扫描的时候如果没有引用且计数为0就直接回收如果1后够年龄就放入老年 一进来就进新生代EdenEden一满就会触发GC进行垃圾回收新生代会频繁存入新的对象所以触发很频繁 Survivor 0上一代GC的时候保留下来的数据但是还不够进入老年和Eden作为本次的扫描区域 Survivor 0我感觉像个temp耶斯就是一个temp理解的很棒~ 如果前边几次扫描发现某个对象都在够一定年龄就放到老年代减少GC重复的判断 四大垃圾回收器 一些术语 Minor GC从年轻代回收内存叫做minor GC, Eden满了就会触发Major GC: 如果老年代的空间也不够了就会触发也可以认为major GC是由minor GC引起的Full GC年轻代预感到有大量对象即将进入老年代于是发起full gc将年轻和老年都整理stop the world
http://www.w-s-a.com/news/23204/

相关文章:

  • 注册功能的网站怎么做做网站容易还是编程容易
  • wordpress建立目录seo编辑培训
  • 网站怎么群发广州现在可以正常出入吗
  • 微信有网站开发吗多语种网站
  • 深圳网站设计 建设首选深圳市室内设计公司排名前50
  • 上海网站建设 觉策动力wordpress接口开发
  • 网站建设服务器的选择方案小型视频网站建设
  • 江宁做网站价格扬州立扬计算机培训网站建设怎么样
  • 手表网站背景开发新客户的十大渠道
  • 定制网站设计wordpress写的网站
  • p2p网站建设公司排名成都装饰公司
  • 网站被k怎么恢复wordpress缓存类
  • 做外贸有哪些网站平台最近文章 wordpress
  • joomla网站模板一个人做网站的swot
  • 南京建设网站需要多少钱深圳专业网站建设制作价格
  • 天河建网站装修公司线上推广方式
  • 超市网站怎么做的目前最流行的拓客方法
  • 做文字logo的网站贵阳商城网站开发
  • 沧州有没有做网站的中国建筑设计
  • 建设网站 系统占用空间在线代理浏览网站
  • 做海报有什么参考的网站网站建设验收合同
  • 酒店网站制作wordpress文章评论设置
  • 造一个官方网站wordpress mysql类
  • 怎么做卡商网站河南做网站找谁
  • 网站建设招标方案模板上线啦 图谱智能网站
  • 龙口网站建设公司哪家好wordpress 上传类型
  • 做外贸主要看什么网站服务平台的宗旨
  • 宜昌营销型网站购买网站
  • 如何查询网站建设时间wordpress 框架解析
  • 网站建设年终总结网站建设公司顺义