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

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

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

ps = conn.prepareStatement(sql);


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


3. 接口能用protected修饰吗


deeda9aa0df7223ea438769073b51a81.png


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

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

ea0822e94716c31ad82da6f9008e92b6.png


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;
}
}



相关文章
|
7月前
|
NoSQL Java 关系型数据库
BAT最新java800+合集面试复盘,能掌握80%就去进BATJTMD
金三银四俗称跳槽黄金期,很多同学都想趁着这段时间拿高薪,去更牛逼的公司工作,认识更多大牛,提升自己的职场竞争力。 那怎样才能通T面试官的考核?怎样成为一名Offer收割机? 之前讲过收割Offer有一个最直接的公示:Offer=硬实过BAT面试官的考核?怎样成为一名Offer收割机? 之前讲过收割Offer有一个最直接的公示:Offer=硬实力*软实力*好的心态,三者缺一不可。
|
6月前
|
SQL Java
java面试题笔试常见选择题大全含答案
java面试题笔试常见选择题大全含答案
|
4月前
|
存储 缓存 网络协议
复盘女朋友面试4个月的Java基础题
这篇文章是关于Java基础面试题的复盘,涵盖了HashMap原理、对象序列化作用等高频面试问题,并强调了Java基础知识的重要性。
复盘女朋友面试4个月的Java基础题
|
7月前
|
算法 Java Python
用友Java后端笔试2023-8-5
用友Java后端笔试2023-8-5
88 0
用友Java后端笔试2023-8-5
|
7月前
|
网络协议 算法 Java
史上最全大厂面试题复盘总结,全会进大厂拿35K没问题(Java岗)
为了方便大家之后的面试复习,我把各类面试题给汇总了一下,每道题都是经过自己筛选后觉得需要掌握的,此次整理包括 Java基础、数据结构与算法、计算机网络、操作系统、数据库、多线程等。后面我会把这些问题的解答陆续放出来。
|
Java 程序员
八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘
都说程序员工资高、待遇好,改变无数程序员职业生涯的金三银四已来,你的小目标是什么 30K、40K,还是 16 新的 20K?作为一名 Java 开发工程师,当能力可以满足公司业务需求时,拿到超预期的奖励 Offer 并不算难。然而,提升 Java 核心能力最快、最有效,短期内升职加薪的方法,到底是什么?
|
设计模式 算法 Java
内卷严重~面试八股文层出不穷!唯2023版Java复盘手册有复盘之路
最近有不少小伙伴表示内卷实在是太严重了,不少程序员都有辞退失业或跳槽的想法,今天给大家分享的这份手册可以快速帮大家找到正确思路,无论你是失业还是跳槽都推荐你看一看,这份手册涵盖了市面上90%的Java面试内容,十分全面! 不到最后一刻千万不要放弃,也不要灰心,哪怕到十一月还没有拿到offer也没关系,殊不知等到年底补录的时候也是一个非常容易进大厂拿offer的机会。
|
SQL 安全 Oracle
java笔试秋招复习总结
复习总结 Core Java 核心java 23天 一个月 数组 7天 入门 变量 八种基本类型 函数 分支 数组 面向对象编程 10天 面向对象 封装 继承 多态 方法覆盖 方法重载 this super 使用 父子类对象创建过程 三大修饰 static final abstrace 接口 JAVASE API 常见API 一周 String IO 线程 异常 集合 反射
182 0
java笔试秋招复习总结
|
设计模式 缓存 算法
差点跳起来了!阿里首推22w字Java面试复盘宝典成功助我入职美团
Java面试复盘 金三银四已经快要结束,不知道大家在这个跳槽旺季是否都拿到了自己理想的Offer?是否做好面试的复盘?对于我们做技术的来讲,每次面试之后的复盘工作非常重要,一次好的复盘能让我们认识到自己的短板,明确我们后续努力的方向! 如果你觉得自己复盘得差不多了,不妨来看看下面LZ的灵魂4连击,看自己能答出几道(手动狗头): 如何设计一个分布式环境下全局唯一的发号器? 如何设计一个带有过期时间的LRU缓存? 如何设计一个分布式锁? 如何设计一个分布式环境下的统─配置中心?
|
Java
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。(二)
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。
87 0
2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。(二)