java面试知识点总结,java面试知识点记不住
1.Java文件由JVM编译成字节码文件,即。类文件。当字节码文件在不同的操作系统中运行时,操作系统会将字节码文件编译成机器码文件。这就是Java跨平台
2.首先明确一点,java的GC回收是完全自动的,没有提供相关的api用于手动回收。所有的内存分配和回收权都在jvm里,开发者手里没有绝对的方法强制垃圾回收。但是,您可以这样做:
1)对于不再被引用的对象,及时将其引用赋值为null。obj=null
2)如果内存真的很紧张,调用System.gc()方法建议垃圾收集器开始收集垃圾,通知gc运行,但是Java语言规范并不保证一定会执行GC。
3.java基本类型的默认值和值范围
类型整数字节(1字节)短(2字节)整数字节(4字节)长(8字节)
字符类型(2字节)
类型浮点float(4字节)double(8字节)
如何解决写爬虫IP受阻的问题?立即使用。
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之前,抽象类方法的默认访问是受保护的。
在JDK 1.8中,抽象类的方法的默认访问权限变成了默认值。
2)关于界面
在JDK 1.8之前,接口中的方法必须是公共的。
在JDK 1.8中,接口中的方法可以是公共的或默认的。
在JDK 1.9中,接口中的方法可以是私有的。
7.包装和拆包
基本数据类型到包装类的转换是装箱(比如int - Integer)。
将类打包成基本数据类型就是解包(例如Integer - int)。
包装器是引用类型,基本数据类型是值类型。
通过装箱和解包操作,可以在值类型和引用类型之间建立一座桥梁。换句话说,很容易实现值类型和引用类型之间的相互转换,装箱和解包可以统一检查系统,任何类型的值最终都可以根据对象进行处理。
8.序列化和反序列化
Java不会在序列化过程中实例化静态变量和被transient修改的变量,因为static表示类的成员,transient表示对象的临时数据,这两种类型声明的数据成员是不能序列化的。
9.Java有两种交付方式,值交付和引用交付。基本类型sum采用string str=" aaa这样所有的创建都是值传递,对象创建和数组创建都是引用传递,所以要特别注意函数参数的判断。
10.Java垃圾收集机制
垃圾回收主要是针对堆区的回收,因为堆区的内存是用线程释放的。堆分为三个区域:年轻代、老代和永久代(即方法区)。
1)年轻一代:在创建对象(new)时,通常将对象放在Young中(除了一些占用内存比较大的对象),经过一定的Minor GC(对年轻一代的内存回收)后仍然存活的对象会被移动到老一代中(省略一些具体的移动细节)。
2)老一代:就是上面说的搬过来的年轻一代和一些比较大的对象。主要GC (FullGC)是对老一代的回收。
3)永久生成:存储最终常量、静态变量和常量池。
1.包装参考
导入Java . util . *;
您可以访问java/util目录中的所有类,但不能访问java/util子目录中的所有类。
12.构造函数不能被继承,只能显式或隐式调用构造函数。(参与和不参与)
13.文件分为文本文件和二进制文件。计算机只知道二进制,所以实际上是二进制的不同解释。文本文件是以不同编码格式显示的字符,如Ascii、Unicode等。window中文本文件的后缀名称是"。txt“,”。各种编程语言的源文件等。二进制文件是一种不能与文本文档一起阅读的文件。任何可以用文本打开的文件都可以视为文本文件,但是显示的结果并不是你想要的。二进制文件只能用特殊的应用程序读取,比如。png“,”。bmp 等。电脑里的大部分文件还是二进制文件。
14.try只适合处理运行时异常,try catch适合处理运行时异常。也就是说,如果你只是试图处理普通异常而不去捕捉它们,那么编译就会失败,因为编译器规定,如果你选择捕捉普通异常,就必须使用catch来显示声明,以便进一步处理。但是,运行时异常在编译时并不是这样规定的,所以可以省略catch,你添加catch编译器也是可以理解的。
15.管道
对于管线,有以下类型:
普通管道:通常有两种限制。一种是单工,即只能单向传输;二是血缘关系,即常用于父子进程之间(或有血缘关系的进程之间)。
流管(s_pipe):去掉了上面提到的第一个限制,实现了双向传输。
name_pipe:去掉了上面提到的第二个限制,实现了不同无关进程之间的通信。
要求不同服务器之间的通信应该是全双工形式,而管道只能是半双工。虽然可以双向,但同一时间只能单向传输。全双工和半双工的区别可以理解如下:
推荐教程:java初级入门视频
原文地址:https://blog.csdn.net/qq_33945246/article/details/90040041以上是java面试知识点的详细介绍。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。