笔试 | Java知识点总结

Posted 结构化思维wz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔试 | Java知识点总结相关的知识,希望对你有一定的参考价值。

Java笔试总结

刷了一些笔试题总结了一些细节! 加油吧!

  1. Java成员变量的访问控制权限

    访问级别访问控制修饰符同类同包不同类同包子类不同包不同类不同包子类
    公开public🉑🉑🉑🉑🉑
    受保护protected🉑🉑🉑🉑注意
    默认default🉑🉑🉑
    私有private🉑
  2. Math.ceilMath.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
    
    
  3. 线程的创建知识点:start()run()

    要写一个线程类,可以继承thread方法,然后override他的run()方法;另一种方法师实现Runnable接口,即为实现run()方法。

    start() 是启动一个线程的方法。此时线程处于就绪态。

    run() 是线程获得CPU的时间,开始执行的点。

    拓展:Callable 与 Runnable ;Callable可以有返回值,并且允许抛出异常。

  4. 已屏蔽:关于容器组件的概念

    组件是响应用户操作的可视化对象,例如文本框(TextField),按钮(Button),列表(List)等。容器是能容纳和排列组件的对象,例如容器Container,面板Panel,框架frame

  5. Servlet的生命周期

    • 加载:容器通过类加载器使用servlet类对应的文件加载servlet
    • 创建:通过调用servlet构造函数创建一个servlet对象
    • 初始化:调用init方法初始化
    • 处理客户请求:没当有一个客户请求,容器就会创建一个线程来处理客户请求
    • 卸载:调用destroy方法让servlet自己释放其占用的资源。
  6. 加载驱动程序的方法

    • Class.forName("驱动的全类名")
    • DriverManager.registerDriver(new com.mysql.jdbc.Driver)
    • System.setProperty("jdbc.driver","com.mysql.jdbc.Driver")
  7. 自动装箱拆箱

    典型例题:
    
    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。如果参数是基本类型,会自动装箱再比较。

  8. Java中包的概念

    • 为了更好的组织类,Java提供了包的概念,包是类的容器,用于分割类名空间。java的包是用来组织文件的一种虚拟文件系统
  9. try catch处理异常的坑

    1.catch(){}块中有throw语句,则 try{} catch{} finally{}块之外的代码不执行。否则执行。
    2.try{}中有异常,则异常下面的代码块不执行。
    3. finally{}中的代码必然执行。
        
    try{
         代码1....//正常执行的代码(可能抛出异常的代码)
         代码2....//如果上面代码有异常那么此处代码不执行。
    }
    catch{
        代码3....//出错后执行的代码,如果这也出异常,那么没被捕捉就会停止运行。
        
    }
    外部代码....//如果catch中有异常了,外部代码不执行。
    finally{
        代码5..... //必然执行
    }
    
  10. ~n = -n -1

  11. list,set继承Colletion接口,map不继承

  12. ⭐️ java程序初始化的顺序

    1.父类的静态代码块
    2.子类的静态代码块
    3.父类的普通代码快
    4.父类的构造方法
    5.子类的普通代码块
    6.子类的构造方法
    

  13. 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(); }

  14. String对象创建的两种方式

- `String str1 = "aaa";` 在常量池中获取aaa
- `String str2 = new Strinng("aaa");` 常量池中没有的话,就要创建两个,堆中一个,常量池中一个。

以上是关于笔试 | Java知识点总结的主要内容,如果未能解决你的问题,请参考以下文章

Java面试基础知识,2021阿里Java笔试总结

第一次网上笔试总结

2021阿里Java笔试总结,挥泪整理面经

Java笔试面试总结—trycatchfinally语句中有return 的各类情况

2021阿里Java笔试总结

java笔试面试题总结