Skip to content

什么方法可以改善代码性能 会原理是因为这个原理会帮助 在生产环境 进行调优/排错的

常规的内容要学的仔细, 才能有足够的知识进行性能优化

JVM到底帮我们做了什么事情?

Java语言之所以可以跨平台, 全部都是基于JVM来做的, JVM的作用

  • 屏蔽底层硬件和操作系统的差异
  • 把Java代码(人类看得懂的高级语言) 转变成字节码(JVM语言) 由JVM转换成二进制的机器码,给底层的系统去看

编译原理

切割 当前的Java文件, 解析里面的语法 是否属于Java语法, 生成树的结构 去存储 当前内容 语法树

字节码生成器 去生成Class

javac 命令是做了什么事情

把Java文件编译成字节码文件 class 也就是把高级语言的特性, 转换成JVM能够读懂的语言 也就是根据JVM所制定的一系列规范,读取Java文件的内容, 生成出JVM所需要的内容 举个栗子 我在Map中定义了一系列 KV 比如 此时 Key 就是 Java语言的语法, Value 就是对应的 JVM所能看懂的内容, 我遍历完这一个Map 最终的结果, 就是jvm完全能够看得懂的class字节码文件

常量池里存了什么东西

字面量 文本 final修饰的内容. 符号引用 引用 类名,方法名,字段名,接口 把Class文件当成一个模板, 去加载到常量池中 索引从1开始 到consPoolCount -1

调优

调优 有很多维度, 有时候并不一定要去设置 JVM的参数 代码维度 机器维度 JVM 一定是最后最后 才去选择 修改参数的. 当然 堆栈内存除外, 这个东西 他不会去自适应服务器的配置而去动态变更

waitingresult.com