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中的标识符指的是什么?
参考答案:
类的名字、方法的名字、变量的名字
java常见面试题目(二)的更多相关文章
- java常见面试题目(一)
在大四实习阶段,秋招的时候,面试了很多家公司,总结常见的java面试题目:(答案可以自己百度) 1.你所用oracle的版本号是多少? 2.tomcat修改8080端口号的配置文件是哪个? 3.myb ...
- java常见面试题目
(面的初级到中级之间的,却有很多高级的问题) 总结一些常见的遇见的面试题(来自各方面收集) 1.开发中Java用了比较多的数据结构有哪些? 2.谈谈你对HashMap的理解,底层原理的基本实现,Has ...
- java常见面试题目(三)
1.jsp的内置对象. JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page. ...
- BAT网络运维常见面试题目总结
BAT常见面试题目总结 Author:Danbo 2015-7-11 TCP/IP详解鸟哥Linux的书网络安全ping的原理make的过程文件有哪些类型各种Linux发行版的区别.有关suid的作用 ...
- java程序员常见面试题目
答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象.实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则 ...
- 一道JAVA经典面试题目的两种解法
题目要求:String s="-1 2 5 78 129 -65 -23";将字符串进行升序排序后输出. 方法一:使用数组进行排序 思路: 1.获取字符串中的数值: 2.将数组 ...
- 【面试笔试】Java常见面试笔试总结
Java 基础 1.有哪些数据类型 Java定义了8种简单类型:byte.short.int.long.char.float.double和boolean. 2.面向对象的语言特征 封装.继承.多态 ...
- JAVA常见算法题(二十六)
package com.xiaowu.demo; import java.util.Scanner; /** * Java实现将阿拉伯数字转为汉字 * * @author WQ * */ public ...
- JAVA常见算法题(二十五)
/** * Java实现中文数字转换为阿拉伯数字 * * * @author WQ * */ public class Demo26 { public static void main(String[ ...
随机推荐
- Centos7.3搭建DNS服务器--BIND
1.系统环境说明 [root@dns-server etc]# cat /etc/redhat-release CentOS Linux release (Core) 防火墙和Selinux关闭 [r ...
- LNet代码分析
源码版本:lustre-release 2.15.55 介绍 LNet是Lustre的网络模块,代码目录分为了lnet和lnd lnet提供了统一的接口 lnd封装了底层驱动,有socklnd(TCP ...
- PostgreSQL 窗口函数 ( Window Functions ) 如何使用?
一.为什么要有窗口函数 我们直接用例子来说明,这里有一张学生考试成绩表testScore: 现在有个需求,需要查询的时候多出一列subject_avg_score,为此科目所有人的平均成绩,好跟每个人 ...
- TCP传输协议中如何解决丢包问题
TCP在不可靠的网络上实现可靠的传输,必然会有丢包.TCP是一个“流”协议,一个详细的包将会被TCP拆分为好几个包上传,也是将会把小的封裝成大的上传,这就是说TCP粘包和拆包难题. 但是许多人有不同的 ...
- Go语言设计模式汇总
目录 设计模式背景和起源 设计模式是什么 Go语言模式分类 个人观点 Go语言从面世就受到了业界的普遍关注,随着区块链的火热Go语言的地位也急速蹿升,为了让读者对设计模式在Go语言中有一个初步的了解和 ...
- I/O:OutputStream
OutputStream: void close() :关闭此输出流并释放与此流有关的所有系统资源. void flush() :刷新此输出流并强制写出所有缓冲的输出字节. void write(by ...
- 【题解】Unit Fraction Partition-C++
Description给出数字P,Q,A,N,代表将分数P/Q分解成至多N个分数之和,这些分数的分子全为1,且分母的乘积不超过A.例如当输入数据为2 3 120 3时,我们可以得到以下几种分法: In ...
- RabbitMQ延迟消息的延迟极限是多少?
之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下如何使用RabbitMQ的延迟消息来实现定时任务.最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了 ...
- [leetcode] 22. Generate Parentheses(medium)
原题 思路: 利用DFS,搜索每一种情况,同时先加"("后加")",保证()匹配正确. 最近开始学习前端,尝试用js来写. const generate = f ...
- Linux系统安装Tomcat——.tar.gz版(old)
这里简单地阐述一下rpm.deb.tar.gz的区别. rpm格式的软件包适用于基于Red Hat发行版的系统,如Red Hat Linux.SUSE.Fedora. deb格式的软件包则是适用于基于 ...