程序语言就是向人和计算机描述计算的记号。性能
程序语言分类(按照级别分类)
按照级别分类
1.低级语言
2.高级语言
(1)面向过程语言
(2)面向对象语言优化
规律:越高级程序语言越靠近人的理解方式,可是这样在计算机运行却不行,因此须要将程序语言翻译成计算机所可以识别的语言。
1.编译
2.解释this
两种方式的区别和优缺点
1.编译会生成中间文件,解释不须要生成中间文件,边解释边运行
2.编译比解释更快
3.解释检查代码是否有错误更仔细比编译,由于解释是一句一句的解释。spa
衍生
程序语言的分类
1.编译型(C,C++等)
2.解释型(JS等)
3.半编译半解释(JAVA等)
Java运行的流程
![]()
前期知识点
JVM内存分配
方法区:类加载到方法区
pc寄存器:存放各个线程执行的位置
Java方法栈:调用方法的时候会生成栈帧,用来存储局部变量(广义的,包括this指针和传递的方法参数)和操做数。线程
.class字节码翻译机器码运行翻译
按照二八定律,20%的代码用了80%的运算时间,因此这20%的代码可不能够用更快的方式来运行,因此即时编译器运势而生。
分类:
1.解释器解释
2.即时编译器编译指针
1.c1编译器:client编译器,对启动性能要求高的,优化简单,编译简单 2.c2编译器:server编译器,对峰值性要求高的,优化复杂,编译时间长 3.Graal编译器