当你越来越有能力时,自然会有人看得起你;改变自己,你才有自信,梦想才会慢慢的实现。喷泉之所以漂亮是因为她有了压力;瀑布之所以壮观是因为她没有了退路;水之所以能穿石是因为永远在坚持.
《java300集》笔记
作者-高淇
资料下载链接:http://qr35.cn/FShv0T
- Java历史和三大版本
- Java跨平台原理( 虚拟机 字节码文件)
- 环境变量的配置 反编译工具 Java特点
- Java开发过程 编译 解释
- Java注释类型
- 反编译工具
技能点名称 | 难易程度 | 认知程度 | 重要程度 |
---|---|---|---|
Java历史和三大版本 | 易 | 记忆 | * |
Java特点 | 易 | 了解 | * |
Java跨平台原理 虚拟机 字节码文件 | 中 | 理解 | *** |
DOS命令入门 | 中 | 应用 | * |
Java开发过程 编译 解释 | 难 | 应用 | *** |
环境变量的配置 | 难 | 应用 | ** |
Java注释类型 | 易 | 记忆 | ** |
反编译工具 | 易 | 了解 | * |
Java简史
-
SUN公司是一家什么样的公司?
美国SUN(Stanford University Network)公司 在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司” 在台湾中文名为“升 阳电脑公司”。
Java为什么被发明?
Green项目。 应用环境:像电视盒这样的消费类电子产品 要求: 语言本身是中立的,也就是跨平台-
Java的发明人?
James Gosling
Java简史
1991年,Sun公司的Green项目,Oak
1995年,推出Java测试版
1996年,JDK1.0
1997年,JDK1.1
1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,更名为Java2
1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生
2004年,J2SE 5.0 (1.5.0) Tiger老虎.为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。
2006年,J2SE 6.0 (1.6.0) Mustang野马.此时,Java的各种版本被更名,取消其中的数字"2": J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME
2009年4月20日甲骨文收购Sun公司,交易价格达74亿美元
2011年,JavaSE7.0
2014年 ,JavaSE8.0
Sun公司的主要竞争对手是IBM,业务高度重合
Sun抱有很多先进的技术,但在策略上一直奉行技术保护主义,在 定价策略上能多高就多高,争取利润最大化。一味抓眼前利益, 而失去了前瞻的视野。
Sun是一家极具创新能力的公司, 但是没能利用Java构建一个强有 力、可变现的生态系统,没打好Java这张牌。
2008年金融危机给sun公司致命的打击
2009年4月20日甲骨文以现金收购Sun微系统公司,交易价格达74 亿美元
Java三大版本
- J2SE Java的标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程
- J2ME (Java2 Micro Edition) 主要应用于嵌入式系统开发,如手机和PDA的编程
- J2EE 企业版本(Java2 Enterprise Edition)定义在服务器端Java2的企业版,主要用于分布式网络程序的开 发,如电子商务网站
- 2005 JavaOne大会召开,Sun公司公开Java SE6。此时,Java的各种版本被更名,取消其中的数字"2":
J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME
Java特点
Java是跨平台的
Java是简单的
Java是安全的
Java是完全面向对象的
Java是健壮的
Java是跨平台的
Java程序的跨平台主要是指字节码文件可以在任何具有Java虚 拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释 器负责将字节码文件解释成为特定的机器码进行运行。Java是简单的
- 不再有#include 和#define 等预处理功能
- 不再有struct,union及typedef
- 不再有函数、
- 不再有指针、不再有多重继承
- 不再有goto
- 不再有操作符重载(Operatior Overloading)
- 不再有全局变量 取消自动类型转换,要求强制转换
- 不再有手动内存管理
- Java是安全的
- Java取消了强大但又危险的指针。由于指针可进行移动运算,指针可随便指向一个内存区域, 而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据 或者是其他程序运行所占用的, 并且使用指针也容易数组越界。
- Java提供了自动内存管理机制,由垃圾回收器在后台自动回收,
- Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。而在运行环境提供了四级安全性保障机制:
- 字节码校验器 -类装载器 -运行时内存布局 -文件访问限制
- Java是完全面向对象的
- Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继承,多 态)。
- 由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影 响了其面向对象的彻底性!
- Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计 语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固 有缺陷。
- Java是健壮的
- Java的强制类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。
- 对指针的丢弃是Java的明智选择。
- Java的安全检查机制使得Java更具健壮性。
- Java为什么能够流行
外部环境
互联网的爆发式发展
互联网上的电脑硬件不同,软件环境差异较大。需要一 个跨平台的语言。
Java核心优势:跨平台
- Java跨平台原理
总结:Java运行过程
- Java程序的运行分为两步:先编译再解释执行
- 通过“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码文件采用结构中立 的中间文件格式)
- 通过不同的“虚拟机”将Java字节码文件解释为对应机器语言并执行
总结2:Java跨平台和C跨平台的区别
- Java:一次编译,到处运行 C:多次编译,到处运行
- 在互联网情况下,平台各异,Java的跨平台更具有优势
- Java可以跨所有平台吗:要看有没有提供并安装相应的虚拟机
- Java的运行速度没有C语言快
- Java需要将class文件解释成机器码再执行;C执行执行机器码
总结3:字节码文件bytecode
- .class文件 二进制文件
- 格式中立、平台无关的二进制文件
- 是编译的产物,是解释的原料
总结4:Java虚拟机 JVM
- JVM是Java Virtual Machine(Java虚拟机)的缩写
- JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿 真模拟各种计算机功能来实现的。
- JVM就是一个虚拟的用于执行bytecodes字节码的计算机
- Java虚拟机是Java最核心技术,也是跨平台的基础。
- Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在 Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
- Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能 够“一次编译,到处运行”的原因
总结5:JDK、JRE、JVM的区别联系
JDK:
Java Development Kit
针对Java开发员的产品
JRE:
Java Runtime Environment
是运行Java程序所必须的环境集合
JVM
Java Virtual Machine
解释运行Java字节码文件,跨平台的核心
联系:JDK 包含JRE,JRE包含JVM。
坎坷的人生不可怕,可怕的是缺乏了自信,没有了自我。如果整天怨天尤人,埋怨老天的不公,命运的不顺,生活的不平。只会一蹶不振,碌碌无为,无所事事。只会向命运低头,迷失前进的方向,丧失自身的人生价值
开始了,那就不要停下