2016第20周四java基础概念

简单的说JDK=JRE+Java编译器、调试器、工具类库等;JRE=JVM(类似于jre目录下的bin)+必要运行的类库(类似于jre目录下的lib)

JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file)。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。

JRE:Java  Runtime  Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比SUN的JDK高的多。但不管怎么说,我们还是需要先把基础的Sun JDK掌握好。

JAVA8是自Java5以来变革最大的版本,主要的新特性有如下:

1、Java语言的新特性

Lambdas表达式与Functional接口

接口的默认与静态方法

方法引用

重复注解

更好的类型推测机制

扩展注解的支持

2、Java编译器的新特性

参数名字

3、Java 类库的新特性

Optional

Streams

Date/Time API (JSR 310)

JavaScript引擎Nashorn

Base64

并行(parallel)数组

并发(Concurrency)

4、新增的Java工具

Nashorn引擎: jjs

类依赖分析器: jdeps

5、Java虚拟机(JVM)的新特性

PermGen空间被移除了,取而代之的是Metaspace(JEP 122)。JVM选项-XX:PermSize与-XX:MaxPermSize分别被-XX:MetaSpaceSize与-XX:MaxMetaspaceSize所代替。

来源: <http://www.importnew.com/11908.html>

来自为知笔记(Wiz)

时间: 2024-10-11 20:08:17

2016第20周四java基础概念的相关文章

h--5--菠菜源码下载java基础概念

1.第一个应用程序:Hello World!package my.xkyy.lsc;public class HelloWorld {public static void main(String[] args) { System.out.println("hello wrold!");}}2.数组:int[] a=new int[100];3.字节(byte):8位二进制数4.UTF-8编码:一个英文字符等于一个字节,h--5--菠菜源码下载QQ:2152876294 网址diguay

Java基础概念初识

Shiro:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序. 三个核心组件: Subject,用户安全操作 SecurityManager ,框架核心,典型的Facade,管理各种安全服务 Realms,shiro与应用数据间的"桥梁"或者"连接器".权限验证,从配置的Realms中查找用户及其权限信

Java新手必备:20道java基础面试题,不看答案你会几道题?

1.面向对象的特征有哪些方面? [基础] 答:面向对象的特征主要有以下几个方面: 抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象. 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类

你猜这个题输出啥?-- java基础概念

最近在看java编程思想,大部分内容都觉得没啥意思,但是突然看到一个基本概念(似乎都忘了),于是写了测试题,我想这辈子也不会忘这个概念了. 题目如下: public class Suber extends Last { public Suber() { } public Suber(int i) { System.out.println("Suber(" + i + ")"); } public Suber(String i) { super.CommonBase(

粤嵌java培训第一天笔记-java基础概念

一.二进制数 1.最高位为0,表示正数:最高位为1,表示负数. 2.相应的负数与正数之间进行转换方式:通过补码方式进行转换,即:取反再加1. 例如:0000 0001 表示 +1:通过对 0000 0001 取反后得:1111 1110 ,再对1111 1110+1=1111 1111,二进制 1111 1111 等于 -1. 3.8位二进制数,能表示的最大值和最小值. 最大值:0111 1111=127:即2^(8-1)-1=127.(因为从0开始计算,故最多能表示0~127). 最小值:10

java 基础概念 -- 数组与内存控制

问题1: Java在声明数组的过程中,是怎样分配内存的? 在栈内存中 建一个数组变量,再在堆内存中 建一个 数组对象.至于详细的内存分配细节,还得看 该初始化是 数组动态初始化 还是 数组静态初始化. 问题2: Java数组的初始化方式 有哪几种? 两种:动态初始化 和 静态初始化.动态初始化 指的是 仅仅指定数组的长度,不指明每个数组的元素.  静态初始化 指的是 详细指定数组的每个元素. 问题3: Java 的基本类型数组 和 应用类型数组 之间,在初始化时的内存分配机制有什么差别? Jav

菠菜源码搭建与java基础概念

1.java jvm的功能:通过 ClassLoader 寻找和装载 class 文件?? ??? ??? ?? 解释字节码成为指令并执行,提供 class 文件的运行环境?? ??? ??? ?? 进行运行期间垃圾回收 菠菜源码搭建QQ:2152876294 网址diguaym.com?? ??? ??? ?? 提供与硬件交互的平台?? ?2.运算符优先级:单目 >运算>移位>比较>按位>逻辑>三目 >赋值?? ??? ??? ?单目:单目运算符+ –(负数)

1、Java基础概念

1.面向对象和面向过程的区别 面向过程 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发,性能是最重要的因素. 缺点:没有面向对象易维护.易复用.易扩展 面向对象 优点:易维护.易复用.易扩展,由于面向对象有封装.继承.多态性的特性,可以设计出低耦合的系统,使系统更加灵活.更加易于维护 缺点:性能比面向过程低 2.Java的四个基本特性(抽象.封装.继承,多态) 抽象:就是把现实生活中的某一类东西提取出来

Java基础概念

对象:职能化.是存在的具体实体,具有明确定义的特征和行为. 面向对象:一种认识事物的方式,注重对事物整体的认知,最符合人类自然的思维习惯. 类是对象的抽象,对象是类的实例. 类是具有相同属性和行为的一组对象的集合. 在软件系统中,我们用类来模拟现实生活中的实体. 属性用于描述对象的特征,对象之间属性彼此独立,一个对象的属性的变化不会影响其他对象属性的变化,由于属性是属于一个对象的组成部分,所以属性也叫做成员变量. 静态变量创建在对象之外,是所有对象共享的变量,静态变量发生变化,会影响所有的对象.