java基础知识忘记了_牢记这些java基础知识,升职加薪不是梦

对于常年进行项目开发的程序员来说,java基础知识很容易被遗忘,尤其是那些纯理论性知识,项目上基本用不到的知识,早已被每日海量涌入的信息冲磨得没了痕迹。但这些却是面试考核、升职加薪的重要信息,毕竟在别人不了解你的情况下,谁都会觉得一个理论基础牢固的人事比较可靠的,直接上知识点。

db9bf490d86fa932afbbeaaf0e1de249.png

1、java跨平台是怎么实现的

java是利用JVM(java虚拟机)实现跨平台的。

java源代码(*.java)经过java编译器编译成java字节码(*.class),执行java字节码,java字节码经过JVM解释为具体平台的具体指令,并执行。不同平台有不同的JVM,主流平台都提供了JVM,所以java字节码可以再主流平台上能够解释执行。在这个意义上java是跨平台的,也就是说:java的字节码是跨平台的。

4a988c01f5c423d4084575533caf71db.png

2、GC是什么?为什么要有GC?

GC是垃圾收集的意思(Gabage Clooection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统不稳定甚至崩溃,java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。java程序员编程的时候不用考虑变量不用时释放内存,java虚拟机可以自动判断出并收集到垃圾。

4be64d84bacba65e1bae441bb4c3df2f.png

3、什么是装箱拆箱?

java为每种基本数据类型提供了包装类,装箱和拆箱是java基本数据类型和包装类型自动转换的过程,基本类型自动转换为包装类就是装箱,例如Integer i = 10;而包装类型自动转换为基本类型就是拆箱,例如 int n = i;这是从Java SE5开始提供的新特性。

8301e320a112781ecd152fa05a29d06a.png

4、关系数据库三大设计范式是什么

第一范式,数据库表的每一列都是不可分割的基本数据项,例如员工表里面姓名和性别不要放在一个字段,因为这是员工的不同基本属性。

第二范式,数据表字段属性必须完全依赖主键,例如学生表里面可以有学号字段,因为学号相对于学生来说是唯一的,但是不要有社团字段,社团信息和学生信息放在一个表里面维护,如果有一个社团没有学生加入,那这张表里面就会缺失改社团的数据,而且删除学生数据的时候也会对社团信息造成影响,也会有数据的冗余

第三范式,数据库表不要包含在其他表中已存在的非关键字段,比如员工表中不要有部门简介、部门名称等部门相关信息,这些信息应该在部门表里面维护

420adc443a86c3a603c3ae23cd742639.png

5、ArrayList和LinkedList的区别?

ArrayList和LinkedList都是List的实现类,ArrayList是基于动态数组的数据结构,LinkedList是基于链表的数据结构。对于随机访问的get和set,ArrayList效率更高,而对于新增(add)和删除(remove)操作,LinkedList效率更高。PS:两个都是非线程安全的。

e48fa29ad64ea73ea7b1735205d39d0b.png

java基础知识点当然远不止这些,以上是笔者曾经遇到过的面试或者考核题目,印象比较深刻的几个,至于为啥印象这么深刻,自然是在这些问题上吃过亏,有些问题,或许你不是不知道,可是你一犹豫,别人就会否定你了,因为这实在是最简单的常识,尤其是对于非开发的面试或考核人员来说!你懂得!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值