1、Java文件经由JVM编译成字节码文件,即.class文件,将字节码文件在差别的操纵体系中运转时,操纵体系再将字节码文件编译成机器码文件。这就是Java跨平台
2、起首明白一点,java 的 GC 接纳是完整自动的,没有供应相干 api 手动接纳,一切的内存分派和接纳权限都在 jvm,在开发人员手里没有相对的强迫垃圾接纳的要领,不过可以如许去做:
1)关于不再援用的对象,实时把它的援用赋为 null。 obj = null;
2)假如内存确切很慌张,挪用 System.gc () 要领来发起垃圾接纳器最先接纳垃圾,关照 GC 运转,然则 Java 言语范例并不保证 GC 肯定会实行。
3、java 基础范例的默许值和取值局限
整数范例 byte(1 个字节)short(2 个字节)int(4 个字节)long(8 个字节)
字符范例 char(2 个字节)
浮点范例 float(4 个字节)double(8 个字节)
4、罕见字符的ASCII码值以下:空格的ASCII码值为32;数字0到9的ASCII码值分别为48到57;大写字母“A”到“Z”的ASCII码值分别为65到90;小写字母“a”到“z”的ASCII码值分别为97到到122。
5、Java 标识符有以下定名划定规矩:
1)由 26 个英文字母大小写,数字:0-9 标记:_ $ ¥ 构成
2)标识符应以字母、_ 、$ 开首。
3)标识符不能是关键字。
6、抽象类和接口
1)关于抽象类
JDK 1.8 之前,抽象类的要领默许接见权限为 protected
JDK 1.8 时,抽象类的要领默许接见权限变成 default
2)关于接口
JDK 1.8 之前,接口中的要领必需是 public 的
JDK 1.8 时,接口中的要领可以是 public 的,也可以是 default 的
JDK 1.9 时,接口中的要领可以是 private 的
7、装箱和拆箱
基础数据范例转化成包装类是装箱 (如: int --> Integer)。
包装类转化成基础数据范例就是拆箱 (如:Integer --> int)。
包装类就是援用范例,基础数据范例就是值范例。
经由过程 装箱 和 拆箱 操纵,可以在值范例和援用范例中架起一做桥梁。换言之,可以轻松的完成值范例与援用范例的相互转换,装箱和拆箱可以一致考核体系,任何范例的值终究都可以根据对象举行处置惩罚。
8、序列化和反序列化
Java 在序列化时不会实例化 static 变量和 transient 润饰的变量,由于 static 代表类的成员,transient 代表对象的暂时数据,被声明这两种范例的数据成员不能被序列化
9、Java有两种通报体式格局,值通报和援用通报。基础范例和以string str = “aaa”;这类体式格局建立的都是值通报,对象建立和数组都是援用通报,所以在函数的推断形参须要特别注意。
10、Java垃圾接纳机制
垃圾接纳重要针对的是堆区的接纳,由于栈区的内存是跟着线程而开释的。堆区分为三个区:年青代(Young Generation)、年迈代(Old Generation)、永远代(Permanent Generation,也就是要领区)。
1)年青代:对象被建立时(new)的对象一般被放在 Young(除了一些占有内存比较大的对象), 经由肯定的 Minor GC(针对年青代的内存接纳)还在世的对象会被挪动到年迈代(一些细致的挪动细节省略)。
2)年迈代:就是上述年青代挪动过来的和一些比较大的对象。Major GC (FullGC) 是针对年迈代的接纳。
3)永远代:存储的是 final 常量,static 变量,常量池。
11、包援用
import java.util.* ;
能接见java/util目录下的一切类,不能接见java/util子目录下的一切类
12、组织函数不能被继续,组织要领只能被显式或隐式的挪用。(有参和无参均是如许)
13、文件分为文本文件和二进制文件,计算机只熟悉二进制,所以实际上都是二进制的差别诠释体式格局。文本文件是以差别编码花样显现的字符,比方 Ascii、Unicode 等,window 中文本文件的后缀名有 “.txt”,".log", 种种编程言语的源码文件等;二进制文件就是用文本文档翻开是看不懂乱码,只需能用文本翻开的文件都可以算是文本文件,只是显现的效果不是你想要的,二进制文件只有效特别的运用才读懂的文件,比方 “.png”,".bmp" 等,计算机中大部分的文件照样二进制文件
14、try 只合适处置惩罚运转时非常,try+catch 合适处置惩罚运转时非常 + 一般非常。也就是说,假如你只用 try 去处置惩罚一般非常却不加以 catch 处置惩罚,编译是通不过的,由于编译器硬性划定,一般非常假如挑选捕捉,则必需用 catch 显现声明以便进一步处置惩罚。而运转时非常在编译时没有云云划定,所以 catch 可以省略,你加上 catch 编译器也以为无可厚非。
15、管道
关于管道,有下面这几种范例:
①一般管道(PIPE):一般有两种限定,一是单工,即只能单向传输;二是血缘,即常用于父子历程间(或有血缘关系的历程间)。
②流管道(s_pipe):去除了上述的第一种限定,完成了双向传输。
③定名管道(name_pipe):去除了上述的第二种限定,完成了无血缘关系的差别历程间通讯。
请求是关于差别的服务器之间的通讯,是要请求全双工情势的,而管道只能是半双工,虽然可以双向,然则同一时间只能有一个方向传输,全双工和半双工的区分可以以下图示明白:
引荐教程:java低级入门视频
原文地点:https://blog.csdn.net/qq_33945246/article/details/90040041
以上就是java口试知识点的细致内容,更多请关注ki4网别的相干文章!