zoukankan      html  css  js  c++  java
  • Java底层学习

    内存分页引入MMU(内存管理单元),利用虚拟地址替代物理地址,MMU将虚拟地址映射为物理地址,引入TLB(页表寄存器缓冲),对页面进行缓存从而提升性能
    http://kenwublog.com/tune-large-page-for-jvm-optimization

    偏向锁可以跳过同步,但是只针对单线程
    http://kenwublog.com/theory-of-java-biased-locking

    java调试体系结构
    1.java虚拟机工具接口(jvmti) 控制当前虚拟机运行状态
    2.java调试线协议(jdwp) 定义命令传输的格式
    3.java调试接口(jdi) 接收调试命令

    Instrumentation 的基本功能和用法
    1.编写premain函数
    2.jar文件打包
    3. java -javaagent:jar 文件的位置 [= 传入 premain 的参数 ]

    ClassFileTransformer可以将class当作字节流替换对应class

    agentmain可以在main方法之后启动
    instrumentation可以动态改变native代码

    BTrace可以动态跟踪代码运行

    编译器的基本结构
    源代码=》词法分析(Token流)=》语法分析(抽象语法树)=》语义分析(注解抽象语法树)。。。

    javac分析和代码生成
    1.属性标注与检查
    2.数据流分析
    3.泛型转换
    4.解语法糖
    5.生成class文件

    javac源码对应
    词法分析:com.sun.tools.javac.parser.Scanner
    语法分析:com.sun.tools.javac.parser.Parser
    将符号输入到符号表:com.sun.tools.javac.comp.Enter
    注解处理:com.sun.tools.javac.processing.JavacProcessingEnvironment
    标注:com.sun.tools.javac.comp.Attr
    检查:com.sun.tools.javac.comp.Check
    数据流分析:com.sun.tools.javac.comp.Flow
    转换类型:com.sun.tools.javac.comp.TransType
    接触语法糖:com.sun.tools.javac.comp.Lower
    生成class文件:com.sun.tools.javac.jvm.Gen

    Class文件信息
    1.结构
    2.元数据
    3.方法信息

    java -Xint 指定以纯解释模式执行
    java -Xcomp指定以纯编译模式执行
    java -Xmixed混合模式,默认

    JVM优化之压缩普通对象指针(CompressedOops)
    通常64位JVM消耗的内存会比32位的大1.5倍,这是因为对象指针在64位架构下,长度会翻倍(更宽的寻址)。
    JVM支持了 -XX:+UseCompressedOops 压缩指针

    热点编译

    JIT编译器通过计数器来触发执行,某方法被调用若干次后(次数可指定)JIT对该方法实现本地方法编译,提升性能,另外可以设定衰减机制,累积仅指定时间内有效
    profiling:解释器收集性能剖析信息

    内联和性能优化有关,但要慎用

    JIT即时编译时,首先将字节码翻译程平台无关的高级中间表示(HIR),然后由代码选择器将HIR转换为平台相关的低级中间表示(LIR),最后发射为可执行的本地代码

    静态单赋值(SSA,Static Single-Assignment):在编译器里用到,是一种高效的数据流分析技术

    c1visualizer:将C1编译器在编译各阶段的数据结构可规化展现出来的工具
    https://c1visualizer.dev.java.net/

  • 相关阅读:
    SharePoint 2013 中的SQL Server 安全
    SharePoint 2013 的HTML5特性之响应式布局
    SharePoint 2013 一些小技巧
    SharePoint 2013 排错之"Code blocks are not allowed in this file"
    SharePoint 2013 创建搜索中心及搜索设置
    SharePoint 2013 使用PowerShell创建State Service
    SharePoint 2013 内容部署功能简介
    SharePoint 使用PowerShell恢复误删的网站集
    SharePoint 自定义WebPart之间的连接
    linux之misc及使用misc创建字符设备
  • 原文地址:https://www.cnblogs.com/blogszixin/p/3291501.html
Copyright © 2011-2022 走看看