博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java细碎知识点(历史,特性,面试题)长时间更新
阅读量:2055 次
发布时间:2019-04-28

本文共 1498 字,大约阅读时间需要 4 分钟。

一、Java之父:詹姆斯·高斯林(James Gosling)

二、Jvm、Jre、Jdk之间的关系

Jvm:Java虚拟机

Jre:Java运行环境                 Jre = Jvm+核心类库

Jdk:Java开发工具包             Jdk = Jre+开发工具包

三、Java的优点:

(1)安全

     【1】、Java不支持指针操作,所以可能避免因为指针的原因导致程序崩溃或者漏洞

     【2】、禁止运行时堆栈溢出.例如蠕虫等病毒常用的袭击(手段);

     【3】、 禁止在自己的处理空间之外破坏内存

     【4】、未经授权禁止读写文件

(2)面向对象语言

(3)有丰富的开源支持

(4)跨平台:Jvm是跨平台的核心,它将Java程序翻译成当前操作系统可以理解的指令,然后,操作系统执行指令。

同样,因为Java具有跨平台的特性,而导致Java相对于c/c++之类的不能跨平台的操作语言而言,它的执行效率有点慢

补充:Java跨平台语言,Jvm不是跨平台的。不同的系统使用的是不同的Jvm。就如同(我和英国人对话,翻译将普通话翻译成英文,我和法国人对话,翻译将普通话翻译成法文。不能将英文翻译翻译给法国人),所以Jvm不是跨平台的。

四、Java的关键字与保留字

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遇到的问题

使用switch作为分之循环时,要确保变量在每个区域之前有过定义,不能在case区域中定义变量,否则会报错

九、String引用

 

 

转载地址:http://pbdlf.baihongyu.com/

你可能感兴趣的文章
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
查看>>
Loadrunner之https协议录制回放报错如何解决?(九)
查看>>
python中xrange和range的异同
查看>>
列表、元组、集合、字典
查看>>
【Python】easygui小甲鱼
查看>>
【Python】关于Python多线程的一篇文章转载
查看>>
【Pyton】【小甲鱼】文件
查看>>
【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
查看>>
【Pyton】【小甲鱼】异常处理:你不可能总是对的
查看>>
APP性能测试工具
查看>>
【Pyton】【小甲鱼】类和对象
查看>>
压力测试工具JMeter入门教程
查看>>
作为一名软件测试工程师,需要具备哪些能力
查看>>
【Pyton】【小甲鱼】类和对象:一些相关的BIF(内置函数)
查看>>
【Pyton】【小甲鱼】魔法方法
查看>>
单元测试需要具备的技能和4大阶段的学习
查看>>
【Loadrunner】【浙江移动项目手写代码】代码备份
查看>>
Python几种并发实现方案的性能比较
查看>>