java复习 01
六一快乐,端午安康,放假就是玩玩玩,今天怎么就6月3号了??!!!啊啊啊啊还是什么也没做,别把玩的也算作愧疚,时间花在自己身上都不算太浪费,偶尔放纵没关系,不要花时间内耗和责备自己了,快开始看吧!!
其实最近期末ddl挺多的应该忙起来的呢...!我的天啊,,,求放过,老师会捞我的吧,会的吧,,嗯,,会的,,,凄凉的世界,走投无路了么??!
1 Java语言的特点
1 简单性
摒弃了头文件、指针、结构、多继承等,功能丰富的可重用类库
2 面向对象
使用对象进行程序设计- JAVA对象有模块化性质和信息隐藏能力;支持继承;通过抽象类与接口支持多态
3 分布性
适合因特网和分布式环境下的编程-数据分布支持;操作分布支持
4 解释型
Java解释程序将字节码解释成本地机器指令代码-兼具编译执行的效率优势和解释执行的灵活性;提高了应用程序的可移植性:源程序、中间代码
5 健壮性
自动进行内存管理;编译和运行时检查;抛出异常
6 安全性
多层安全机制:
Java的内存分配和引用模型对于程序员透明, 完全由底层的运行系统控制;
内存布局与C、 C++不同,不是由编译器决定,而是运行系统根据所在的硬件平台的特性决定;
取消了C、C++的指针,JAVA编译器通过符号指针来引用内存,由JAVA运行系统在运行时将符号指针具体解释为实际的内存地址。
字节码验证:
不存在伪造的指针;
未违反访问权限;
严格遵循对象访问规范来访问对象;
合适的参数调用方法;
没有栈溢出
7 可移植性
不必重新编译能运行于不同平台;
对不同平台使用了完全统一的语言文本;
“一次编程,到处运行”
可移植性源于两方面:
Java的半编译、半解释的特征
Java采用标准的独立于硬件平台的数据类型
8 高性能
Java编译生成的字节码与机器代码十分接近
提供即时编译等措施 运行速度;
缩短软件开发周期
9 多线程
程序中多个任务并发执行
JAVA线程执行中被映射到实际的操作系统线程
10 动态性
每个类文件在必要时被加载
使JAVA可以动态地维护应用系统及其支持类之间的一致性
2 java程序运行过程
3 JAVA虚拟机
JVM定义
JVM是一种在真实计算机上通过软件仿真模拟实现的虚构机器。虚拟机的代码存储在.class文件中,并且每个.class文件最多包含一个public class类的代码
JVM的定义:An imaginary machine that is implemented by emulating it in software on a real machine. Code for the Java Virtual Machine is stored in .class files.
JVM组成部分
JVM是一个想象中的、能运行Java字节码的操作平台。
JVM规范定义了一组抽象的逻辑组件,包括:
指令集
寄存器组:程序计数器、栈顶指针等
栈结构:提供各种参数等
存储区:存放字节码的方法代码、符号表
垃圾收集器
JVM与 JAVA运行系统
JAVA运行系统是各供应商对JVM的具体实现,JVM需要针对不同的软硬件平台做专门的实现。 JVM的意义:保证不同平台上的JAVA运行系统功能统一。