随笔 - 434,  文章 - 0,  评论 - 463,  阅读 - 46万

目录

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的自动生成,很遗憾,答错了。

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

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

ps = conn.prepareStatement(sql);

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

3. 接口能用protected修饰吗

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

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

4.java实现分解质因数

public class PrimeTest {

 public static void main(String[] args) {
  Scanner in=new Scanner(System.in);
        int number=in.nextInt();
        if(isPrime(number)){
         System.out.print(number);
        }else{
         System.out.print(number+"=");
         factor(number);
        }
       
 }
 public static void factor(int num){
  for(int i=2;i<num;i++){
   if(num%i==0){
    System.out.print(i+"*");
    if(isPrime(num/i)){
     System.out.print(num/i);
    }else{
    factor(num/i); 
    }
    //结束方法非常重要,下面的方法就会因为方法没有结束而继续进行下去
    return;
   }
  }
 }

public static boolean isPrime(int num){
 boolean isPrime=true;
 for(int i=2;i<num;i++){
  if(num%i==0){
   isPrime=false;
   break;
  }
 }
 return isPrime;
}
}

posted on   剽悍一小兔  阅读(8)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2016-11-11 JavaScript : 浅讲ajax

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示