• Java笔试复盘


    目录

    1. finalize的含义

    2.Statement和PreparedStatement用法

    3. 接口能用protected修饰吗

    4.java实现分解质因数


    今天去参加了一场国企单位的笔试,很基础,但是有些细节的地方还是觉得答得不好,所以复盘一下。

    1. finalize的含义

    finalize: 是Object类的一个方法,因为所有的类都继承自Object类,所以所有的类都有finalize方法。 在垃圾收集器将该对象清除出内存之前会先调用它的finalize方法,做一些内存清理工作,通常这部分内存是非java内存,如socket,finalize只会被调用一次。

    程序员都了解初始化的重要性,但是会常常忘记同样重要的清理工作,java有垃圾回收器负责回收无用对象占用的内存资源,但是也有特殊情况,你的对象获得了一块特殊的内存区域,并不是通过 new 方法,由于垃圾回收器只知道释放那些经由new分配的内存, 所以它不知道如何释放这些特殊的内存。

    java 考虑到这种情况,允许在类中定义一个名为 finalize() 的方法。他的工作原理是这样的:一旦垃圾回收器准备释放对象占用的存储空间,将首先调用 finalize() 方法,并在下一次垃圾回收动作发生时,才会真正的回收对象占用的内存。就像为垃圾回收器添加一个回调方法一样。

    这个题我只回答了是Object类的方法,可以进行手动GC,不是很准确。

    2.Statement和PreparedStatement用法

    这里考的是一道选择题,因为实在是很少手动写jdbc,平时太过依赖框架和IDE的自动生成,很遗憾,答错了。

    1. stmt = conn.createStatement();
    2. ResultSet rs = stmt.executeQuery(sql);

    createStatement方法是没有参数,PreparedStatement才有,晕,实在是不怎么写这种代码。

    ps = conn.prepareStatement(sql);
    

    这个太细节了,只能强记。

    3. 接口能用protected修饰吗

    接口方法只能使用public,既然只能用public,java编译器在你忘了在方法前写public的时候干脆自动帮你转成public了。

    至于接口类能不能用protected,自己看吧

    4.java实现分解质因数

    1. public class PrimeTest {
    2.  public static void main(String[] args) {
    3.   Scanner in=new Scanner(System.in);
    4.         int number=in.nextInt();
    5.         if(isPrime(number)){
    6.          System.out.print(number);
    7.         }else{
    8.          System.out.print(number+"=");
    9.          factor(number);
    10.         }
    11.        
    12.  }
    13.  public static void factor(int num){
    14.   for(int i=2;i<num;i++){
    15.    if(num%i==0){
    16.     System.out.print(i+"*");
    17.     if(isPrime(num/i)){
    18.      System.out.print(num/i);
    19.     }else{
    20.     factor(num/i); 
    21.     }
    22.     //结束方法非常重要,下面的方法就会因为方法没有结束而继续进行下去
    23.     return;
    24.    }
    25.   }
    26.  }
    27. public static boolean isPrime(int num){
    28.  boolean isPrime=true;
    29.  for(int i=2;i<num;i++){
    30.   if(num%i==0){
    31.    isPrime=false;
    32.    break;
    33.   }
    34.  }
    35.  return isPrime;
    36. }
    37. }
  • 相关阅读:
    【C++详解】——模板初阶
    期货开户应该了解的行内知识
    读取Excel的工具类——ExcelKit
    Android5.1 文件AES加密
    JVM垃圾回收
    FigDraw 17. SCI 文章绘图之主成分绘图(pca3d)
    关于@Autowired
    常用的深度学习自动标注软件
    关于融合软件运行unity程序被闪退解决方案
    机械人必须要知道的多轴滑台模组应用
  • 原文地址:https://blog.csdn.net/weixin_39570751/article/details/127808071