您的位置 首页 java

15个Java面试的零碎知识点,你知道几个?

15个Java面试的零碎知识点,你知道几个?

1、Java文件经过JVM编译成 字节码 文件 ,即.class文件,将字节码文件在不同的操作系统中运行时,操作系统再将字节码文件编译成机器码文件。这就是Java跨平台


2、首先明确一点, java 的 GC 回收是完全自动的 ,没有提供相关 api 手动回收,所有的内存分配和回收权限都在 jvm,在开发人员手里没有绝对的强制垃圾回收的方法,不过可以这样去做:

  • 对于不再引用的对象,及时把它的引用赋为 null。 obj = null;
  • 如果内存确实很紧张,调用 System.gc () 方法来建议垃圾回收器开始回收垃圾,通知 GC 运行,但是 Java 语言规范并不保证 GC 一定会执行。

3、 java 基本类型的默认值和取值范围

  • 整数类型 byte(1 个字节) short (2 个字节)int(4 个字节) long (8 个字节)
  • 字符类型 char (2 个字节)
  • 浮点类型 float(4 个字节)double(8 个字节)
15个Java面试的零碎知识点,你知道几个?


4、常见字符的 ASCII码值 如下:空格的ASCII码值为32;数字0到9的ASCII码值分别为48到57;大写字母“A”到“Z”的ASCII码值分别为65到90;小写字母“a”到“z”的ASCII码值分别为97到到122。


5、 Java 标识符有如下命名规则

  • 由 26 个英文字母大小写,数字:0-9 符号:_ $ ¥ 组成
  • 标识符应以字母、_ 、$ 开头。
  • 标识符不能是关键字。

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,也就是方法区)。

  • 年轻代:对象被创建时(new)的对象通常被放在 Young(除了一些占据内存比较大的对象), 经过一定的 Minor GC(针对年轻代的内存回收)还活着的对象会被移动到年老代(一些具体的移动细节省略)。
  • 年老代:就是上述年轻代移动过来的和一些比较大的对象。Major GC (FullGC) 是针对年老代的回收。
  • 永久代:存储的是 final 常量,static 变量,常量池。

11、 包引用

  • import java.util.* ;
  • 能访问java/util 目录 下的所有类,不能访问java/util 子目录 下的所有类

12、 Java的保留字和关键字

goto const 是保留字也是关键字。

  • Java 关键字列表 (依字母排序 共 50 组):abstract, assert, boolean, break, byte, case, catch, char, class, const(保留关键字), continue, default, do, double, else, enum, extends, final, finally, float, for, goto(保留关键字), if, implements, import, instanceof , int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while
  • 保留字列表 (依字母排序 共 14 组),Java 保留字是指现有 Java 版本尚未使用,但以后版本可能会作为关键字使用:byValue, cast, false, future, generic, inner, operator , outer, rest, true, var, goto (保留关键字) , const (保留关键字) , null

13、 构造函数不能被继承,构造方法只能被显式或隐式的调用。(有参和无参均是这样)


14、文件分为文本文件和 二进制文件 ,计算机只认识二进制,所以实际上都是二进制的不同解释方式。文本文件是以不同编码格式显示的字符,例如 Ascii、Unicode 等,window 中文本文件的后缀名有 “.txt”,”.log”, 各种编程语言的源码文件等;二进制文件就是用文本文档打开是看不懂乱码,只要能用文本打开的文件都可以算是文本文件,只是显示的结果不是你想要的,二进制文件只有用特殊的应用才能读懂的文件,例如 “.png”,”.bmp” 等,计算机中大部分的文件还是二进制文件


15、servlet 是运行在服务器端的小应用程序,是接收网络服务的请求和产生响应的一种方式。

servlet 的功能:接受 http 请求,产生动态 http 响应。Web容器负责将 HTTP 请求转换为 HttpServletRequest 对象

分享更多 Java面试知识点资料 ,有需要的小伙伴们可以 转发+私信关键词【资料】 免费获取哦

文章来源:智云一二三科技

文章标题:15个Java面试的零碎知识点,你知道几个?

文章地址:https://www.zhihuclub.com/184365.shtml

关于作者: 智云科技

热门文章

网站地图