001 走进 Java

一、 java优点

  • 摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想;
  • 提供了一个相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题;
  • 实现了热点代码检测和运行时编译及优化,这使得Java应用能随着运行时间的增加而获得更高的性能;
  • 有一套完善的应用程序接口,还有无数来自商业机构和开源社区的第三方类库来帮助它实现各种各样的功能

二、java技术体系

Java程序设计语言

各种意见平台上的Java虚拟机

Class文件格式

Java API类库

来自商业机构和开源社区的第三方Java类库

Java语言、Java虚拟机、Java API统称为JDK

三、各个版本的Java的代表技术

JDK 1.0: Java虚拟机(纯解释执行)、Applet、AWT

JDK 1.1(最基础的支撑点):JAR文件格式、JDBC、JavaBeans、RMI、内部类、反射

JDK 1.2(里程碑式的版本):分成三个版本(J2SE、J2EE、J2ME),EJB、Java Plug-in、Java IDL、Swing等,java虚拟机第一次内置JIT(Just In Time)编译器。新增strictfp关键字,和Collections集合

JDK 1.3:类库上的改进、将JNDI作为平台级服务、COBAR IIOP实现RMI,对Java 2D改进、增加JavaSound类库

JDK 1.4:正则表达式、异常链、NIO、日志类、XML解析器和XSTL转换器

JDK 1.5:自动装箱、泛型、动态注解、枚举、可变长参数、循环遍历(foreach循环)、java内存模型的改进、提供java.util.concurrent并发包

JDK 1.6:提供动态语言支持(内置Mozilla JavaScript Rhino引擎)、提供编译API和微型HTTP服务器API和大量改进(锁与同步、垃圾收集、类加载方式),JDK开源

JDK 1.7:switch支持字符串、泛型实例化类型自动推断、Boolean类型反转,空指针安全、参与位运算、两个char间的equals 、安全加减乘除

JDK 1.8:接口的默认方法(允许在接口中包含方法实现,使用 default关键字)、Lambda 表达式、函数式接口、方法与构造函数引用、Lambda 作用域、访问局部变量、访问对象字段与静态变量、访问接口的默认方法、Date API、Annotation 注解

四、Java虚拟机

1、Classic VM / Extra VM
Classic Vm:纯解释器,不能进行JIT编译,需要外挂JIT编译器(sunwjit、Symantec JIT、shuJIT等)

Extra VM:具有现代高新能虚拟机的雏形(两级即时编译、编译器与解释器混合工作模式),他因准确式内存管理(Extra Memory Management)得名

2、HotSpot VM

3、Sun Mobile-Embedded VM / Meta-Circular VM

还有一些用于研究或作为一些规范的标准实现:KVM,CDC / CLDC HotSpot Implementation,Squawk VM, JavaInJava, Maxine VM

4、BEA JRockit / IBM J9 VM

5、Azul VM / BEA Liquid VM

特定硬件平台上的虚拟机

6、Apache Harmony / Google Android Dalvik VM

7、Microsoft JVM 及其他

其他的虚拟机:JamVM,cacaovm,SableVm,Kaffe,Jelatine JVM,NanoVm,MRP,Moxie JVM,Jikes RVM

来自为知笔记(Wiz)

时间: 2024-10-06 19:37:44

001 走进 Java的相关文章

《深入理解Java虚拟机》读书笔记---第一章 走进Java

一.为什么要读此书 <深入理解Java虚拟机>这本书读了很多次,每次读都会有不一样的感受.首先说一下为什么要读这本书,如果把Java比喻成乾坤大挪移,那了解虚拟机的工作原理就是练习九阳神功,java语言是招式,对虚拟机的认识是内功心法,只有内功心法强大,所使的招式才强大,这就是为什么阳顶天只能把乾坤大挪移练到第四层,而张无忌能练到第七层.由于java虚拟机的强大,把很多功能都隐藏了,例如内容管理,垃圾回收机制等,使得很多java程序猿对这一块的知识所有缺失,编码的时候也是似懂非懂的,以至于遇到

java 虚拟机 学习笔记 第二章 走进java

java 获得获得认可的原因 结构严谨.面向对象 一次编写 到处运行 相对安全的内存管理和访问机制 避免绝大部分的内存泄露和指针越界 运行时编译即优化 jdk是用于支持java程序开发的最小环境 时间表 1991    oak 1995  oak 改为java 1996 4  java one 1997  sun jdk 1.1    jdbc jar javabeas  rmi  内部内  反射 2002  2月13  jdk1.4  正则表达式  异常连 NIO  日志类  xml 2004

走进Java

先百度下学习方案.   在线文档 http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4 http://tool.oschina.net/apidocs/apidoc?api=jdk-zh   菜鸟教程 http://www.runoob.com/ http://www.runoob.com/java/java-tutorial.html 跟它学吧..   javac java 编译.运行,第一课必然是这点,但不用链接吗?现在还不知道. javac编

走进Java(一)J2SE

一.Java是什么 Java是Java语言和Java平台的总称.Java语言和C#一样,核心都是oo,而且比较而言,Java做的更好. Java由四方面组成: ? Java编程语言,即语法. ? Java文件格式,即各种文件夹.文件的后缀. ? Java虚拟机(JVM),即处理*.class文件的解释器. ? Java应用程序接口(Java API). Java分为三个体系,分别为: Java SE(J2SE,Java2 Platform Standard Edition,标准版,主要用于桌面应

走进Java中的持有对象(容器类)之一 容器分类

Java容器可以说是增强程序员编程能力的基本工具,本系列将带您深入理解容器类. 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构. 我们可以通过创建引用来持有对象,如 Class clazz; 也可以通过数组来持有多个对象,如 Class[] clazs = new Class[10]; 然而,一般情况下,我们并不知道要创建多少对象,或者以何种方式创建对象.数组显然只能创建固定长度的对象,为了使程序变得更加灵活与高效,Java类库提供了一套完整的容器类,具备完善

1.走进java(本次阅读基于jdk1.7)

本次阅读基于jdk1.7 1.1.java虚拟机类别和发展史: Sun Classic / Exact VM:世界上第一款商用Java虚拟机,Sun公司发布JDK 1.0,Java语言首次拥有了商用的正式运行环境,这个JDK中所带的虚拟机就是Classic VM Sun HotSpot VM:提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机.但不一定所有人都知道的是,这个目前看起来"血统纯正"

问题001:Java软件,属于系统软件还是应用软件呢?

在学习Java前要掌握的一些小问题: 问题一:Java软件,属于系统软件还是应用软件呢? java语言应用在计算机系统上,首先应知道计算机系统分为几部分? 计算机系统由硬件系统和软件系统两部分构成.硬件是躯体,软件是灵魂. 软件系统分为系统软件,(如:windows linux ios andriod等) 应用软件,(如迅雷,QQ,游戏等). Java软件,属于系统软件还是应用软件呢? 按经典层次划分处于和操作系统基本同级 但事实上你也可以认为是应用软件 编辑 编译阶段就是个应用软件 但如果开始

走进java对象的门口

从题目中可以看出来,今天只是java面向对象的入门级探讨.看看今天的内容. 为什仫说英语呢?我的英语从三年级都不好,一直到现在,但我们的未来职业要求我们必须懂英语,就算不能像马云一样溜吧,但最起码能看懂英语版的专业书籍.其实,专业上的英语挺简单的,如果你能静下心看看那些书,你会发现,书上的语法很简单,词汇还都是高中的,只有极个别的专业词汇有点难,记住就好啦,反正不多,所以,这里说几个英语名词. 面向对象三大特性:encapsulation:封装  inheritance:继承  polymorp

1.走进java

1.类型: javaME(java micro edition)     java微型版      适用小型设备 javaSE(java standand edition) java标准版 适用桌面系统 javaEE(java enterprise edition) java企业版 适用服务器程序和服务 注:javaBase介绍的javaSE 2.开发包JDK简介及安装 JDK<JRE<JVM JVM(java vritual machine) java虚拟机 将字节码转换成机器指令 JRE(