1.java简介
1.1 java分为三个体系
- javaSE(java2SE)(java 2 Platform Standard Edition java平台标准版)
- javaEE(java2EE)(java 2 Platform Enterprise Edition java企业版)
- javaME(java2ME)(java 2 Platform Micor Edition java平台微型版)
1.2 java语言特性
-
java语言简单 -
java语言是面向对象的 -
java语言是分布式的: 所谓的分布式是指使用java语言开发企业应用开发时,采用分布式技术解决业务逻辑的高并发性、高可用性一套架构方案。Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。 -
java语言是健壮的 java的强制类型、异常处理、垃圾自动回收装置是java健壮的保证。java的安全监测机制使的java更加具有健壮性。 -
java 语言是安全的 java通常被用在网络编程中,java提供安全监测机制,防止被恶意代码攻击。java对通过网络下载的类具有安全防范机制,分配不同的名字空间以防替换本地同名的类名、字节代码检测、并提供安全管理机制,让java类设置安全哨兵。 -
java体系结构中立 java程序(后缀为java )在java平台上被编译成体系结构中立的字节码文件(后缀为class),可以在实现java平台的任意操作系统中运行。这种结构适合异构的网络环境和软件的并发。 -
java语言是可移植的 可移植性来源用体系结构的中立性,java还严格规定了各个基本数据类型的长度。java系统本身具有很强的可移植性,java编译器是java实现的,java的运行环境是用ANSI C 实现的 -
java 是解释性的 java平台被编译成字节码格式,可以在实现了java平台的任何操作系统运行。在运行时,java平台的解释器对这行字节码进行解释执行,执行过程中需要的类在联接阶段被加载到运行环境中 -
java是高性能的 与哪些解释性的高级脚本语言相比,java的的确是高性能的。java运行的速度随着JIT(Just-In-Time)编译器的技术的发展越来越接近C++ -
java语言是多线程的 java中有一些特殊的对象,它必须有Thead类或者子类来创建。 -
java语言是动态的 java语言的设计是为了适应动态变化的环境,java程序需要的类能够被动态的加载运行环境中,也可以通过网络来载入所需要的类,有利于软件的升级。
1.3JVM
JVM由类加载器、运行时数据区、执行引擎。
1.3.1类加载器
类加载器负责加载字节码文件,即java编译后的.class文件
1.3.2运行时数据区
运行时数据区,负责存放.class 文件,分配内存。运行时数据区又分为5部分:
- 方法区:负责存放.class 文件,方法区里有一块区域是运行时常量池,用来存放程序的常量
- 堆:分配给对象内存地址
- java虚拟机线:每个线程独享的内存空间
- 本地方法栈:本地native方法独享的内存空间
- 程序计数器:记录线程的执行位置,方便线程切换后再执行。
参考链接
2.java语法基础
2.1 java标识符
java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 标识符注意以下几点:
- 所有的表示符都应该是以字母(A-Z或a-z),美元($),或者下划线(_)开始
- 首字母之后可以是字母(A-Z或者a-z),美元($),下划线(_)或者数组的任何字符组合
- 关键字不能作为标识符
- 标识符大小写敏感
2.2关键字
3.java基本数据类型
3.1内置数据类型
java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点型)、一种字符型,还有布尔值
3.1.1byte
- byte 数据类型是8位、有符号的,以二进制的补码表示的
- 最小值是-128(-2的7次方)
- 最大值是127(2的7次方)
- 默认值为0
- byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间是int类型的四分之一
3.1.2 short
- short 数据类型是16位、有符号的以二进制部补码表示的整数
- 最小值-32768(-2的15次方)
- 最大值32767(2的15次方)
- short数据类型也可以像byte那样节省空间,一个short变量是int类型变量 的二分之一
- 默认值为0
3.1.3 int
- int数据类型是32位、有符号的以二进制补码表示的整数
- 最小值-2147483648(-2的31次方)
- 最大值2147483647(2的31次方)
- 一般的整型变量默认为int类型
- 默认值为0
3.1.4 long
- long数据类型是64位、有符号的以二进制补码表示的整数
- 最小值-9,223,372,036,854,775,808(-2^63)
- 最大值9,223,372,036,854,775,807(2^63 -1)
- 这种类型主要使用在比较大的整数系统中
- 默认值为0L
-"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写
3.1.5float
- float数据类型是单精度、32位、符合IEEE 754标准的浮点数
- float在存储大型浮点数组的时候可节省内存空间
- 默认值为0.0f
- 浮点数不能用来表示精确的值,如货币
3.1.6double
- double数据类型是双精度、64位、符合IEEE 754标准的浮点数
- 浮点数的默认类型为double
- double 类型同样不能表示精确的值,如货币
- 默认值是0.0d
3.1.7boolean
- boolean数据表示一位的信息
- 有那个取值:true、false
- 这种类型仅作为一种标志来记录true/flase情况
- 默然值为flase;
3.1.8char
- char 类型是一个单一的16位unicode字符
- 最小值为\u0000(十进制为0)
- 最大值为\uffff(即为65535)
- char数据类型可以存储任意字符
3.2引用数据类型
- 在Java中,引用类型的变量非常类似C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这写变量在声明时被指定为一个特定的对象。
- 对象、数组都是引用数据类型
- 所有引用类型默认值为null
- 一个引用变量可以用来引用任何与之兼容的类型
|