本文共 1498 字,大约阅读时间需要 4 分钟。
Jvm:Java虚拟机
Jre:Java运行环境 Jre = Jvm+核心类库
Jdk:Java开发工具包 Jdk = Jre+开发工具包
(1)安全
【1】、Java不支持指针操作,所以可能避免因为指针的原因导致程序崩溃或者漏洞
【2】、禁止运行时堆栈溢出.例如蠕虫等病毒常用的袭击(手段);
【3】、 禁止在自己的处理空间之外破坏内存
【4】、未经授权禁止读写文件
(2)面向对象语言
(3)有丰富的开源支持
(4)跨平台:Jvm是跨平台的核心,它将Java程序翻译成当前操作系统可以理解的指令,然后,操作系统执行指令。
同样,因为Java具有跨平台的特性,而导致Java相对于c/c++之类的不能跨平台的操作语言而言,它的执行效率有点慢。
补充:Java是跨平台语言,Jvm不是跨平台的。不同的系统使用的是不同的Jvm。就如同(我和英国人对话,翻译将普通话翻译成英文,我和法国人对话,翻译将普通话翻译成法文。不能将英文翻译翻译给法国人),所以Jvm不是跨平台的。
const与goto是Java中的保留字。目前没有使用,但将来可能会使用。
Latin-1 也叫ASCII或ISO8859-1 | 只有英文、数字、常见符号 历史上出现最早的码表 | 一个字符占用一个字节 |
GB2312
| 兼容Latin-1 在Latin-1的基础上增加了常用汉字 由中国国家标准定义 | 一个字符占用两个字节 |
GBK | 兼容GB2312,增加了更多的汉字 由中国国家标准定义 | 一个字符占用两个字节 |
unicode编码 | 是一种映射规则,将全世界所有的字符都对应到一个数字上 | 只是为每个符号指定了一个编码,并没有指定如何映射成二进制 |
Utf-16/utf-32 | 兼容latin1 是unicode编码的实现,占用2/4个字节 | 将unicode定义的符号对应的数字转为定长二进制来代表该符号 java语言的底层使用utf-16来代表字符 |
Utf-8 | 兼容latin1 是unicode编码的实现,是一种变长的编码形式,用1至4个字节来表示符号,常用符号用1个字节表示,次常用符号用2个字节,非常用符号用3个字节表示,极特殊符号用4个字节表示。 其中汉字在utf-8码表中占3个字符。 | 将unicode定义的符号对应的数字转为变长二进制来代表该符号,节省空间,通常在将数据写出磁盘 通过网络发送等操作时优先使用utf-8 |
1、众所周知,类是先通过jvm编译成.class文件,在运行的。如果,在一个类中(况且就叫它A类),调用另一个类中的方法(况且就叫它B类),请问在编译A类的时候,B类会被编译吗?
答案是肯定的B类会编译,并且是在A类之前先编译的
局部变量:定义在方法里或者方法上的变量(参数)
局部变量必须得先初始化再被使用,否则会报错
全局变量:定义在方法外,类里面的方法外的变量
全局变量在类加载的时候,如果没有初始化,会被赋值为默认值。
(基本类型:byte/short/int 是 0 ,long为0L ,float 为0.0f ,double 为 0.0 ,boolean 为 false,char为/u000)
(引用类型:null)
使用switch作为分之循环时,要确保变量在每个区域之前有过定义,不能在case区域中定义变量,否则会报错
转载地址:http://pbdlf.baihongyu.com/