失效链接处理 |
JVM从入门到入魔 笔记 PDF 下载
本站整理下载:
提取码:ksxi
相关截图:
主要内容:
01 优秀的Java开发者
大家都是有经验的Java开发人员,想想为何要学习JVM?[面试?调优?装逼?]
不管出于何种原因,总之你得先学好。那怎么学好呢?
因为目前课堂中有大学生和工作几年的,也就是每个人对于JVM的了解可能不一样,这就要考虑到怎么
切入
既然大家都学习过Java,那不妨就从Java开始聊起,同时也是扫盲,毕竟不是每个小伙伴都是计算机专
业
1.1 什么是Java?
Java是一门面向对象的高级编程语言
1.2 编程语言
编程语言(英语:programming language),是用来定义[计算机程序]的[形式语言]。它是一种被[标
准化]的交流技巧,用来向[计算机]发出指令。一种能够让[程序员]准确地定义计算机所需要使用数据的
计算机语言,并精确地定义在不同情况下所应当采取的行动。
说白了就是让人类能够和计算机沟通,所以要学习计算机能够懂的语言
1.3 计算机[硬件]能够懂的语言
1.3.1 计算机发展史
1946-1958:电子管计算机
1958-1964:晶体管计算机
1964-1970:集成电路计算机
1970-至今:大规模集成电路计算机
猜想:未来以蛋白质分子作为原材料,量子计算机[已经有了]
1.3.2 计算机体系结构
遵循冯诺依曼计算机结构
1.3.3 计算机处理数据过程
咕泡学院 只为更好的你
(1)提取阶段:由输入设备把原始数据或信息输入给计算机存储器存起来
(2)解码阶段:根据CPU的指令集架构(ISA)定义将数值解译为指令
(3)执行阶段:再由控制器把需要处理或计算的数据调入运算器
(4)最终阶段:由输出设备把最后运算结果输出
本质上就是CPU取数据指令然后返回
CPU=存储器+运算器+控制器
1.3.4 机器语言
我们把CPU能够直接认识的数据指令,称为机器语言,也就是010101001这种形式
1.3.5 不同厂商的CPU
单核、双核、多核
Intel、AMD、IBM等
不同CPU使用的CPU指令集是不一样的,这就会有不兼容的问题
而且要是直接操作01这种形式的,非常麻烦并且容易出错,硬件资源管理起来也不方便
1.3.6 操作系统
向下对接指令系统、管理硬件资源
向上提供给用户简单的操作命令和界面
1.3.7 汇编语言
低级语言,通过汇编器翻译成机器语言
MOV、PUSH、ADD等
对机器友好,执行效率比较高,移植性差
但是人类操作起来还是不太方便,或者需要专业的人员
1.3.8 高级语言
C、C++、Java、Python、Golang等
最终肯定还是要转换成机器能够懂的机器语言
1.3.9 编译型和解释型
1.3.9.1 编译型
使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成
可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。
C、C++、GoLang
编译型语言: 执行速度快、效率高;依靠编译器、跨平台性差些。 把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
|