文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java面试知识点

2020-03-24 23:31

关注

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


首先明确一点,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 个字节)

20190509164307147.png


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”;这种方式创建的都是值传递,对象创建和数组都是引用传递,所以在函数的判断形参需要特别注意。


Java垃圾回收机制

  垃圾回收主要针对的是堆区的回收,因为栈区的内存是随着线程而释放的。堆区分为三个区:年轻代(Young Generation)、年老代(Old Generation)、永久代(Permanent Generation,也就是方法区)。

  1)年轻代:对象被创建时(new)的对象通常被放在 Young(除了一些占据内存比较大的对象), 经过一定的 Minor GC(针对年轻代的内存回收)还活着的对象会被移动到年老代(一些具体的移动细节省略)。

  2)年老代:就是上述年轻代移动过来的和一些比较大的对象。Major GC (FullGC) 是针对年老代的回收。

  3)永久代:存储的是 final 常量,static 变量,常量池。


包引用

  import java.util.* ;

  能访问java/util目录下的所有类,不能访问java/util子目录下的所有类


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


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


try 只适合处理运行时异常,try+catch 适合处理运行时异常 + 普通异常。也就是说,如果你只用 try 去处理普通异常却不加以 catch 处理,编译是通不过的,因为编译器硬性规定,普通异常如果选择捕获,则必须用 catch 显示声明以便进一步处理。而运行时异常在编译时没有如此规定,所以 catch 可以省略,你加上 catch 编译器也觉得无可厚非。


管道

  对于管道,有下面这几种类型:

    ①普通管道(PIPE):通常有两种限制,一是单工,即只能单向传输;二是血缘,即常用于父子进程间(或有血缘关系的进程间)。

    ②流管道(s_pipe):去除了上述的第一种限制,实现了双向传输。

    ③命名管道(name_pipe):去除了上述的第二种限制,实现了无血缘关系的不同进程间通信。

  要求是对于不同的服务器之间的通信,是要要求全双工形式的,而管道只能是半双工,虽然可以双向,但是同一时间只能有一个方向传输,全双工和半双工的区别可以如下图示理解:

20190702140622848.png

推荐教程:java初级入门视频

原文地址:https://blog.csdn.net/qq_33945246/article/details/90040041

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯