笔试 | Java知识点总结
Posted 结构化思维wz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔试 | Java知识点总结相关的知识,希望对你有一定的参考价值。
Java笔试总结
刷了一些笔试题总结了一些细节! 加油吧!
-
Java成员变量的访问控制权限
访问级别 访问控制修饰符 同类 同包不同类 同包子类 不同包不同类 不同包子类 公开 public 🉑 🉑 🉑 🉑 🉑 受保护 protected 🉑 🉑 🉑 🉑注意 默认 default 🉑 🉑 🉑 私有 private 🉑 -
Math.ceil
与Math.floor
double d1 = -0.5; System.out.println("Ceil d1 = "+Math.ceil(d1)); // 大于等于x,并且与他最接近的整数-----> -0.0 System.out.println("floor d1 = "+Math.floor(d1));// 小于等于x,并且与x最接近的整数-----> -1.0
-
线程的创建知识点:
start()
和run()
要写一个线程类,可以继承thread方法,然后override他的run()方法;另一种方法师实现Runnable接口,即为实现run()方法。
start() 是启动一个线程的方法。此时线程处于就绪态。
run() 是线程获得CPU的时间,开始执行的点。
拓展:Callable 与 Runnable ;Callable可以有返回值,并且允许抛出异常。
-
已屏蔽:关于容器组件的概念
组件是响应用户操作的可视化对象,例如文本框(TextField),按钮(Button),列表(List)等。容器是能容纳和排列组件的对象,例如容器Container,面板Panel,框架frame
-
Servlet的生命周期
- 加载:容器通过类加载器使用servlet类对应的文件加载servlet
- 创建:通过调用servlet构造函数创建一个servlet对象
- 初始化:调用
init
方法初始化 - 处理客户请求:没当有一个客户请求,容器就会创建一个线程来处理客户请求
- 卸载:调用
destroy
方法让servlet自己释放其占用的资源。
-
加载驱动程序的方法
Class.forName("驱动的全类名")
DriverManager.registerDriver(new com.mysql.jdbc.Driver)
System.setProperty("jdbc.driver","com.mysql.jdbc.Driver")
-
自动装箱拆箱
典型例题: public class Demo{ public static void main(String[] args){ Integer num = 100; Integer num2 = 100; System.out,println(num1==num2); //true Integer num3 = 128; Integer num4 = 128; System.out.println(num3==num4); //false } }
Integer和int比较会进行自动拆箱,比较的是大小。
Integer 直接等于数字如果在
-128到127
之间会保存到常量池,这个区间比较地址也是相等的。而直接new出来的是对象,所以不相等,超过这个区间的也不相等。包装类型.equals()
首先会比较类型,类型相同比较值,值相同返回true。如果参数是基本类型,会自动装箱再比较。 -
Java中包的概念
- 为了更好的组织类,Java提供了包的概念,包是类的容器,用于分割类名空间。java的包是用来组织文件的一种虚拟文件系统
-
try catch处理异常的坑
1.若catch(){}块中有throw语句,则 try{} catch{} finally{}块之外的代码不执行。否则执行。 2.try{}中有异常,则异常下面的代码块不执行。 3. finally{}中的代码必然执行。 try{ 代码1....//正常执行的代码(可能抛出异常的代码) 代码2....//如果上面代码有异常那么此处代码不执行。 } catch{ 代码3....//出错后执行的代码,如果这也出异常,那么没被捕捉就会停止运行。 } 外部代码....//如果catch中有异常了,外部代码不执行。 finally{ 代码5..... //必然执行 }
-
~n = -n -1
-
list,set继承Colletion接口,map不继承
-
⭐️ java程序初始化的顺序
1.父类的静态代码块 2.子类的静态代码块 3.父类的普通代码快 4.父类的构造方法 5.子类的普通代码块 6.子类的构造方法
-
Java有5种方式来创建对象: (只有new和反射会调用构造方法,且反射一定是执行无参构造)
使用 new 关键字(最常用):
ObjectName obj = new ObjectName();
使用反射的Class类的newInstance()方法:
ObjectName obj = ObjectName.class.newInstance();
使用反射的Constructor类的newInstance()方法:
ObjectName obj = ObjectName.class.getConstructor.newInstance();
使用对象克隆clone()方法:
ObjectName obj = obj.clone();
使用反序列化(ObjectInputStream)的readObject()方法:
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE_NAME))) { ObjectName obj = ois.readObject(); }
-
String对象创建的两种方式
- `String str1 = "aaa";` 在常量池中获取aaa
- `String str2 = new Strinng("aaa");` 常量池中没有的话,就要创建两个,堆中一个,常量池中一个。
以上是关于笔试 | Java知识点总结的主要内容,如果未能解决你的问题,请参考以下文章