java常见面试题目(二)

部分没有答案可以自行百度。

1、myeclipse与eclipse的区别。

2、说说对maven或者SVN的理解。

3、类的加载过程 (创建对象的过程)
  1)子父类里静态属性 赋上默认初始值 如果有显示赋值 赋值
  2)父类的静态代码块 子类的静态代码块
  3)父类的非静态属性 赋上默认初始值 如果有显示赋值 赋值
  4)父类的匿名代码快
  5)父类的构造器
  6)子类的非静态属性 赋上默认初始值 如果有显示赋值 赋值
  7)子类的匿名代码块
  8)子类的构造器

4、TCP与UDP的区别。

5、java中的值传递和引用传递本质上是否相同?为什么?

参考答案
    相同
    因为值传递和引用传递其实都是变量把自身存放的内容复制一份再传给方法的形参,
    只不过值传递是基本类型的变量把自身存放的数值复制一份传给方法的形参,
    而引用传递是引用类型的变量把自身存放的堆区内存地址值复制一份传给方法的形参。

6、在java中,&&和&有什么分别

参考答案:    
    &既可以用作位运算,又可以用作逻辑运算。

&&只能用作逻辑运算,具有短路的特点,第一个布尔表达式的结果如果能决定整个逻辑运行的结果,则后面的布尔表达式不再运算

7、在一个类里面,静态方法中不能直接调用非静态方法,但是非静态方法中可以直接调用静态方法,为什么?
参考答案
  
 因为静态方法是属于类的,在类加载的时候已经加载处理好了,可以随时使用类名来调用,而非静态方法是属于对象的,只有创建了对象之后,使用对象才能调用。当我们使用类名去调用静态方法的时候,可能还没有创建这个类的对象,那么非静态方法这时就不能调用,所有在静态方法中不能直接调用非静态方法,反之则可以。

8、final关键字可以修饰什么?分别有什么特点
参考答案
    final修饰类,该类不能子类继承
    final修饰属性,该属性只能赋值一次
    final修饰方法,该方法不能被重写

9、.匿名内部类中有没有构造器?
参考答案
    有构造器,只是我们不能编写和调用(因为没名字),它会有一个默认的构造器的。把编译生产的class文件,使用javap命名进行反编译就可以看到这个默认的构造器。

10、抽象类与接口的区别。

11、.为什么Set、List集合可以调用iterator方法,然后使用迭代器进行遍历,而Map集合不能使用迭代器遍历?
参考答案
    因为Set、List集合都继承了Collection接口,而Collection接口又继承了Iterable接口,Iterable接口中提供了iterator方法,该方法可以返回一个迭代器,用来遍历集合。Map集合则没有继承该接口。

12、抽象类不能使用new关键字创建对象,那么它的构造器有什么作用?
参考答案
    被子类调用

13、枚举是不是类?为什么?
参考答案
    枚举是一种特殊的java类。
    枚举的class文件,使用javap命令反编译之后,可以看到,它是一个final修饰的类,并且指定了继承了java.lang.Enum父类

14、Exception和Error的区别是什么
参考答案
    程序中出现Exception是可以处理的,并且处理后程序还可以继续执行
    程序中出现Error,是比较严重的问题,代码中无法处理,程序会终止运行。

15、假设在线程的等待池中,现在有很多线程都阻塞在这里,notifyAll方法可以叫醒等待池中的线程。
问题:调用哪个对象的notifyAll方法?叫醒等待池中的哪些线程?
参考答案
    调用锁对象的notifyAll方法,叫醒等待池中所以等待这把锁的线程,等待另外锁的线程,则不叫醒。

16、安装JDK后,需要配置的三个环境变量分别是什么?以及每个环境变量代表的含义是什么?

参考答案:
    JAVA_HOME
        JDK安装路径
    PATH
        JDK中bin目录所在路径
    CLASSPATH
        当前要执行的java类(class文件)所在路径
17、执行一个普通java类(有主函数)时,一般会涉及到哪些类加载器?CLASSPATH和哪一个类加载器有关系?什么关系?
  
参考答案:    
    启动类加载器
    扩展类加载器
    应用类加载器
    CLASSPATH和应用类加载器有关系
    应用类加载器会通过CLASSPATH中配置的路径,来查找当前需要执行的java代码所存在的class文件
18、类加载器加载了字节码文件之后,会对该文件做字节码校验,请列出几条校验的方面(至少三条)  
参考答案:    
    字节码版本和JVM是否兼容
    代码不能破坏系统的完整性
    运行时堆栈没有溢出
    参数类型是否正确
    类型转换是否正确
    变量要在使用之前进行初始化
    方法调用与对象引用类型间要匹配
19、java程序中,如何给对象申请内存,如何释放不再使用的对象内存?   
参考答案:
    使用new关键字就可以给要创建的对象申请内存空间。
    当一个对象不再被使用(没有引用指向它)时,会被标记为垃圾,再之后的某个时刻,会被垃圾回收器(GC)进行内存的释放

20、java中的标识符指的是什么?
参考答案:
    类的名字、方法的名字、变量的名字

原文地址:https://www.cnblogs.com/jk-jun/p/10102184.html

时间: 2024-10-25 18:14:26

java常见面试题目(二)的相关文章

JS常见面试题目 选择的第几个radio,name一样都叫radiogroup

<html> <head> <script language="javascript"> function parse() { } </script> </head> <body> <form onsubmit = "return parse()"> <input name="radioGroup" type="radio"/> &

Java笔试面试题目(一)

每日一句:没有一劳永逸的幸福,只有先苦后甜的努力!加油! java应届生或自学初学者笔试面试题目总结,希望对大家有帮助,题目来自自己学习总结和老师讲解,网络资源,书籍资料.敲出来大家看,每次更新10+道题目,希望大家能找到一份好工作. 第一部分:基础部分 基础部分的包括:基本语法,类似相关的语法,内部类.继承.异常.线程.集合.IO.虚拟机.其他. 1 一个".Java"源文件中是否可以包含多个类(不是内部类)?有什么限制?可以有多个,但是只能有一个public的类,并且public的

JAVA笔试面试题目集锦

来自棱镜学院-在线IT教育www.prismcollege.com 1.数据库,比如100用户同时来访,要采取什么技术解决:(JDBC) 答:可采用连接池.控制数据库的连接数量 2.String,  StringBuffer StringBuilder的区别.(Core Java) 答:String是一组不可变的unicode编码的字符序列: StringBuffer的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String

java常见算法题目

1: JAVA经典算法40题 2: [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3: 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 4: public class exp2{ 5: public static void main(String args[]){ 6: int i=0; 7: for(i=1;i<=20;i++) 8: System.o

spring基础知识汇总及常见面试题目总结

Spring简介 Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版.Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率. Spring总结起来优点如下: 低侵入式设计,代码的污染极低. 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺. Spring的IoC容器降低了业务对象替换的复杂性,提高

【面试笔试】Java常见面试笔试总结

Java 基础 1.有哪些数据类型 Java定义了8种简单类型:byte.short.int.long.char.float.double和boolean. 2.面向对象的语言特征 封装.继承.多态 3.有几种訪问机制? 4.面向对象的多态性在JAVA中怎么实现的 方法的重写Overriding和重载Overloading是Java多态性的不同表现.重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现.假设在子类中定义某方法与其父类有相同

JAVA常见算法题(二十四)

package com.xiaowu.demo; //一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. public class Demo24 { public static void main(String[] args) { f2(123454321); } // 方法一 public static void f1(int n) { if (n >= 10000 && n < 100000) { String s = String.va

Java字符串面试(二)

先看下面2个程序 [java] view plain copy public static void main(String[] args) { String a = "a1"; String b = "a" + 1; System.out.println(a == b); } [java] view plain copy public static void main(String[] args) { String a = "a1"; Stri

Java常见笔试题&lt;二&gt;

1.静态代码块.非静态代码块.构造函数的输出顺序 情况一:没有继承父类时 1 class HelloA { 2 3 public HelloA() { 4 System.out.println("I'm A class"); 5 } 6 7 static { 8 System.out.println("static A"); 9 } 10 11 { 12 System.out.println("A"); 13 } 14 15 public sta