什么是
Java
语言
一种面向对象的语言
编写程序的开始就是编写类的开始
class
用于定义类
一种平台无关的语言,必须程序运行的解释环境
真正的运行步骤为
javac
编译
--java
解释执行
一种健壮【鲁棒性】的语言,吸收了
C/C++
语言的优点,但是去掉了影响程序健壮性的部分,例如
指针、内存的申请与释放等。
典型的应用场景:互联网环境
常见错误
1
、使用临时变量,
Java要求必须是先定义后使用,必须是先赋初值后使用
int
k
;
Systm
.
out
.
println
(
k
);
2、目前的要求:将所有的程序都必须写在方法内部,不能写在方法外
public class ForTest {int res = 0 ;for ( int k = 1 ; k < 101 ; k ++ ){res += k ;}System . out . println ( "1+2+3+...+100=" + res );
}
Java
的三种核心机制
Java
语言包含三种核心机制:
Java
虚拟机、垃圾收集机制和代码安全检测。
Java
虚拟机
JVM
Java
虚拟机可以理解成一个以字节码为机器指令的
CPU
对于不同的运行平台,有不同的虚拟机
Java
虚拟机机制屏蔽了底层运行平台的差别,实现了
“
一次编译,到处运行
”
![](https://img-blog.csdnimg.cn/384f9896d81649859f3c0de2943c9265.png)
垃圾收集机制
gc
不再使用内存空间回收
——
垃圾回收
在
C/C++
等语言中,由程序员负责回收无用内存
Java
语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分
配情况,并在
JVM
的空闲时检查并释放哪些可被释放的存储空间
垃圾收集在
Java
程序原型过程中自动运行,程序员无法精确控制和干预
代码安全性检查
Java
代码的目标运行环境在于网络,
Java
以牺牲执行性能为代价换取了高安全性
首先由类加载器
classLoader
负责将类文件
.class
加载到
Java
虚拟机中。通过区分本地文件系统的类
和网络系统导入的类增加安全性,可以限制任何木马程序,因为本机类总是有限被加载,一旦所有
的类都被加载完毕,直线文件的内存就固定了。
其次字节码校验器进行校验。字节码校验器不检查那些可信任的编译器生成的类文件,而是对违背
命名空间规定和
java
语言规则的类进行检查,并且关闭具有安全性漏洞的类文件
最后字节码校验通过后,才由
Java
解释器负责将类文件解释成为机器码进行执行
Java
中标识符
字母(
Unicode
编码字符集)、数字、下划线和
$
符构成,不允许数字打头
严格区分大小写
ISO8859-1
GB2312
和
GBK
【
GB8030
】
Unicode
统一编码字符集
由于
_
和
$
有特殊含义,一般不建议用户直接使用
不建议使用中文命名
不允许使用保留字
(goto const)
和关键字
(public class static…)
长度没有限制
编码规范
类名首字母大写,大写字母分词
建议名词。例如
UserName
或者
MingZi
方法名称首字母小写,大写字母分词
变量名称首字母小写,大写字母分词
包名称全小写,使用域名反转的方式定义
平常练习中遵循
SUN
的基础规范;项目开发中要求遵循
ali
发布的规范。进入公司首先考察公司的编码规
范
Java
是一种先编译后解释执行型语言
javac Hello.java
【源代码文件名称】编译,将源代码转换为虚拟机可以识别的中间性质语言,一般生成
一个同名的后缀为
class
的文件【二进制文件,字节码文件】
,
这里就是跨平台的原理
java Hello[
类名称,就是源代码中
class
关键字后面所跟的名称
]
一般是解释执行字节码文件