java简史
- 1991:Green项目,开发语言最初命名为Oak(橡树)
- 1994:开发组意识到Oak非常适用于互联网
- 1996:发布JDK 1.0,约8.3万个网页应用java技术来制作
- 1997:发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最
- 1998:发布JKD 1.2,同年发布企业平台J2EE
- 1998:发布JKD 1.2,同年发布企业平台J2EE
- 2004:发布里程碑式版本:JDK 1.5,为突破此版本技术的重要性,更名为JDK 5.0
- 2005:J2SE->JAVASE,J2EE->JAVAEE,J2ME->JAVAME
- 2009:Oracle公司收购SUN,交易价格74亿美元
- 2011:发布JSK 7.0
- 2014:发布JDK 8.0,是继JDK 5.0以来变化最大的版本
- 2007:发布JDK 9.0,最大限度实现模块化
- 2018.3:发布JDK 10.0,版本号也称为18.3
- 2018.9:发布JDK 11.0,版本号也称为18.9
Java技术体系平台
- Java SE(java standard edition)标准版:支持面向对象桌面级应用(如Windows下的应用程序)的java平台,提供了完整的java核心API,此版本以前称为J2EE
- Java EE(java enterprise edition)企业版:是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet,jsp等,主要针对于web应用程序开发。版本以前称为J2EE
- Java ME(java micro edition)小型版:支持java程序运行在移动终端(手机、PDA)上的平台,对java api有所精简,并加入了针对移动终端的支持,此前版本称之为J2ME
- Java Card:支持一些小程序(Applets)运行在小内存设备(如智能卡)上的平台
java语言运行机制及运行过程
- 特点:面向对象
- 两个基本概念:类、对象
- 两个基本概念:类、对象
- 特点二:健壮性
吸收了c/c++语言的有点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制 - 特点三:跨平台性
- 跨平台性:通过java语言编写的应用程序在不同的系统平台上都可以运行。“write one,run anywhere”,因为有了JVM,同一个java程序在三个不同的操作系统中都可以执行。这样就实现了java程序的跨平台性。
- 原理:只要在需要运行java应用程序的操作系统上,先安装一个java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责java程序在该系统中的运行。
Java两种核心机制
- Java虚拟机(java virtual machine)
- 垃圾收集机制(garbage collection)
- 不再使用的内存空间应回收——垃圾回收
- 在C/C++等语言中,由程序员负责回收无用内存。
- Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放哪些可被释放的存储空间。
- 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
- 不再使用的内存空间应回收——垃圾回收
Java程序中还是会出现内存泄漏和内存溢出的问题。