文章目录
解释型语言和编译型语言的区别?
- 编译型语言:编译之后的结果已经是针对当前CPU体系的指令。
- 解释型语言:需要先编译成中间代码,再经由该解释型语言的特定虚拟机,翻译成特定CPU体系的指令被执行。在运行过程中,翻译为目标平台的指令。
- 区别:源码被编译成目标平台CPU指令的时机不同。编译型语言在运行前,编译结果就已经是机器的语言;解释型语言:运行过程中,才翻译成机器语言,执行一次“翻译”一次。
- 那么Java到底是哪种语言?
- 我觉得两者都是。
历史👇
创始人----James-Gosling----詹姆斯-高斯林----高司令
- 1955年 加拿大 James出生了
- 12岁 组装电子游戏机 修理收割机
- 14岁 偷偷离溜进大学的计算机中心 自己学习编程
- 15岁 大学天文系 编写了一套系统 分析卫星 天文数据
- 招聘James作为临时的编程员
- 80年代初 James获得博士学位
- 进入IBM公司 设计IBM公司第一代工作站
- 项目不被高层领导看好--------跳槽到SUN公司
SUN Microsystems----Stanford University Network Microsystems
- SUN公司非常的注重人才 成立小的研发团队
- 试图预测未来的软件技术发展趋势
- James Gosling成为项目的负责人----C++
- Green项目----智能家居
- 不能跨平台----各种不同的公司的芯片
- 这些智能化家电的市场并没有达到预期效果
- SUN公司放弃该计划
- 互联网的发展让SUN公司看到了前景
- 1990----开发出一套全新的语言规范
- 沿用了很多C++语法结构
- 起了一个名字 窗外的的橡胶树----OaK
- 1992年夏天 OaK语言进行展示 硬件生产商并不买账
- 1995年 参加硅谷----全球性的IT盛会----发布OaK全新的语法规范
- OaK被注册了----被一家显示卡制造商注册
- JAVA----印度尼西亚—爪哇岛----咖啡豆----麝香猫
- 当使用十六进制编辑器打开由Java源代码编译出的二进制文件(.class文件)
- 最前面的32位将显示为CA FE BA BE ,即词组“CAFE BABE”
- 1995-5-23 SUN公司正式发布了java语言----诞生
- 1996-1 开发工具包JDK1.0
- 1996-4 10个最主要的操作系统供应商申明将在其产品中嵌入java技术
- 1996-9 约8.3万个网页应用了java技术来制作
- 1997-2-18 JDK1.1版本问世
- 1997-4-2 javaOne会议召开 参与者逾一万人 创当时全球同类会议规模之记录
- 1997-9 JavaDeveloperConnection社区成员超十万
- 1998-2 JDK1.1被下载超过2000000次
- 1998-12-8 J2EE企业版
- 1996-6
java第二代平台JDK1.2 细化了三个不同的小版本
* (J2SE) Java2 Standard Edition Java第二代平台标准版 桌面级 C/S * (J2EE) Java2 Enterprise Edition Java第二代平台企业版 企业级 B/S * (J2ME) Java2 Micro Edition Java第二代平台微型版 移动端
- 2000-5-8 JDK1.3 发布
- 2000-5-29 JDK1.4发布
- 2001-6-5 NOKIA宣布----到2003年将出售1亿部支持Java的手机
- 2001-9-24 J2EE1.3发布
- 2002-2-26 J2EE1.4发布 ----计算能力有了大幅度提升
- 2004-9-30-18:00 J2EE1.5发布 成为Java语言发展史上的又一里程碑
- 为了表示该版本的重要性 J2EE1.5更名为Java SE5.0
- 性特性增加的特别多 名字听起来高大上
- 2005-6----JavaOne大会召开 SUN公司公开javaSE 6----留存最久的版本
- 此时 Java的各个版本已经更名 以取消其中的数字2
- J2EE更名为JavaEE J2SE更名为JavaSE J2ME更名为JavaME
- 2006-12 SUN公司发布JRE6.0
- 2009----Oracle并购----74亿$
- 2011-7-28----Oracle----Java7
- 2014-3-18----Java8
- 2017-9-21----Java9
Java语言特点
- 跨平台性----不同厂商的芯片、不同版本的操作系统
- 面向对象
- 简单性----省去了C++多继承、指针等
- 健壮性(鲁棒性)---- 垃圾回收机制、异常处理机制
- 多线程----并行操作、提高执行性能、线程安全