`

java面试题

阅读更多
1.什么是对象序列化,为什么要使用?

   所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值(字节流)再生成相同状态的对象
    对象序列话的前提就是实现了Serializable接口的类,

为了保存对象到文件,方便数据的传播
因为不管是哪一种流,在传输时都是以字节方式进行传输,对象流也不例外,先将对象变成字节以方便传输,到达目地的的时候再还原成对象



2.值传递与引用传递的区别?

值传递只能传递一个值
引用传递是通过对象、数组、集合的内存地址传递值,可以传递多个值



3.接口与抽象类的区别?

1.接口只能定义抽象方法,通过继承接口来实现接口中的所有方法

抽象类不但能定义抽象方法,还可以写自己的实现方法,并且子类可以只实现自己想要的方法

2.java中只能单一继承,接口可以通过实现多个接口来达到‘多继承’的方法

3.一个抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类

4.接口中定义的变量不可修改,抽象类中的变量可以修改

具体:
1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。

2、抽象类要被子类继承,接口要被类实现。

3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现

4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类

。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

6、抽象方法只能申明,不能实现。abstract void abc();不能写成abstract void abc(){}。

7、抽象类里可以没有抽象方法

8、如果一个类里有抽象方法,那么这个类只能是抽象类

9、抽象方法要被实现,所以不能是静态的,也不能是私有的。

10、接口可继承接口,并可多继承接口



4.谈谈继承,为什么要使用继承?

继承是java面向对象的特征之一,继承就是拥有父类中所有的方法和属性使用继承,可以大大提高代码的重用性。同时,这种方式也便于扩展

终态类不能继承,构造方法不能被继承,私有的方法属性不能被继承

5.方法重载的好处?

定义:方法名相同,但参数不同。(与返回类型无关)
可以通过传入不同的参数来调用不同的方法,满足不同的功能



6.项目中印象最深的部分?

xml映射成java对象,业务层和dao层的分离,实现简单的动态页面



7.谈谈你对面向对象的理解与认识?

为什么用面向对象

什么是面向对象---封装继承多态

什么时候用面向对象----能简化程序开发,让复杂的问题简单化

怎么用面向对象----Java是面向对象语言,在编程中就要将封装继承多态应用到程序中

8.谈谈集合框架?

最顶层 Collection接口Map 接口

Collection 接口下有子接口 List和Set   Map接口下 有实现类HashMap 和 TreeMap

List接口下有实现类 ArrayList 和 LinkedList 还有 Vector

Set 接口下有实现类 TreeSet 和HashSet



9.什么是异常?描述下异常处理?

异常是程序正常执行过程中出现的不正常的情况,JAVA中通过使用try-catch语句把可能抛出异常的语句包起来。当异常发生后,程序执行将忽略try程序块中剩余的语句,继续执行catch块后面的语句。如果在try程序块中没有抛出异常,那么catch块将被忽略



10.多线程的优先级?为什么要分优先级?

线程的优先级用数字表示,范围从1到10,一个线程的缺省优先级是5。通过setProperty(int i)方法设置线程优先级。Thread类中的三个线程优先级的常量:

  MAX_PRIORITY:级别为10

MIN_PRIORITY:级别为5

NORM_PRIORITY:级别为1

让某些线程能够机率更大的获得cpu控制权,我们才用优先级

11.异常框架的类结构?

父类 Throwable
子类 Error, Exception(运行时异常和编译时异常)




12.说说游戏框架的搭建。

13.谈谈HashMap与Hashtable的区别。

1、都属于Map接口的类,实现了将惟一键映射到特定的值上。
2、HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
3、Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。

4、Hashtable线程安全,HashMap线程不安全

5、Hashtable在jdk1.0时就出现了,HashMap在jdk1.2时出现

14.你的排行榜怎么做的?

15.说一下iterator。

用在集合遍历中,hasNext判断后面还有没有元素,next让指针指向下一个元素

16.什么是泛型?它有什么样的好处?

泛型就是在集合后加上<数据类型>,将类型进行参数化,存入的类型必须是指定的类型,如果不是指定类型就会报错。

好处就是定义了一种规范,指定程序员向该集合中存储该数据类型的值,方便数据的存入和取出



17.说一下你在游戏中遇到的异常,并说出什么时候发生的,怎么解决的。

18.你的程序遇到错时怎么解决的?

首先找出现的异常,然后调试,如果还是不能解决,就上网找问题所在

19.谈谈&&和&的区别

&是位运算符。&&是布尔逻辑运算符。


20.System.out和System.in是什么意思?

前者是输出,后者是输入

21.Java为什么能够跨平台?

因为Java有不同平台使用的虚拟机,而虚拟机是先将java文件编译成字节码文件,然后再解释执行,所以Java能够跨平台

22.private变量能不能被其他类访问?如果能,怎么访问?

能。通过get和set方法或者反射访问。

23.演示java项目如何打包成jar文件

24.java的环境变量如何配置?为什么要配置?

JAVA_HOME指向的是JDK的安装路径
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,
CLASSPATH=.;%JAVA_HOME%\lib\tools.jar



这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。

25.static和非static修饰的变量哪个生命周期长?

当类首次被加载时static定义的变量被分配空间,程序结束后由系统释放.他的生命周期是整个程序。

    非static的变量要运行时才会产生。

26.什么是线程同步?

线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。为了解决这个问题我们使用synchronized关键字同步方法或代码块加上synchronized代码块。

27.媒体追踪器的作用是什么?

28.什么是封装?封装的好处是什么?

将属性方法实现的细节进行隐藏的过程叫封装

封装就是外部不能直接操作该类的属性,只能调用该类方法操作该属性值
优点:防止使用者错误的修改系统属性
解耦,提高系统独立性
提高软件的可重用性



29.在线程中wait与sleep的区别?

Wait在object类里面,sleep在thread的里面

sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级
(b)正在运行的线程因为其它原因而阻塞。
wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。


30.Class 和class的区别

Class 类是在Java语言中定义一个特定的类,Class 类的实例表示正在运行的 Java 应用程序中的类和接口。

        class是java语言关键字

class也是每个类的一个成员变量

31.awt和swing的区别?

32.为什么实现一个接口必须要实现接口里面所有的方法?

因为接口的定义是一种规范,可以通过接口调用实现类的方法,达到解耦和多态
假如不实现接口里面所有的方法,父接口就不能调用到实现类的方法了,就会出问题



33.线程和进程的区别是什么?

1:每个进程都有独立的内存地址空间,进程间的切换会有较大的开销;

2:线程是共享内存地址空间,线程切换开销小;

3:多进程,指在操作系统中能同时运行多个任何(程序);

4:多线程,在同一个应用程序中有多个顺序流同时执行。

34.Java基础技能中强调程序代码的读写能力,如果一个类很长,你会怎样读写?

读:首先看总体功能,然后再逐步分解,一段一段读



35.抽象方法能不能是private和static修饰符?

不能

36.用接口有什么好处?

代码复用、隐藏细节、安全性

37.什么是反射?

反射是Java程序的特征之一,允许运行中的JAVA程序对自身进行检查(自省),

38.创建对象的方式有哪些?

●  用new语句创建对象

●  运用反射手段,调用java.lang.Class 或者 java.lang.reflect.Constructor 类的newInstance()实例方法

●  调用对象的clone()方法

●  运用序列化手段,调用java.io.ObjectInputStream 对象的 readObject()方法.

39.transient是什么意思?

被transient修饰的方法或者属性的状态不能被序列化

40.在设计游戏类的时候,你是怎么使用静态变量和成员变量的?

41.定义抽象方法的意义何在?



42.谈集合遍历的方式

1、for-each循环遍历(JDK1.5版本,只能从头遍历到尾)
for(List list : temp{
temp就是每个元素对象
}
2、for循环遍历(只适用于List接口类)
for(int i = 0 ; i <temp.size(); i++){
temp.get(i)就是每个元素对象
}
3、使用迭代器循环遍历(只能从头遍历到尾)
while(it.hasNext()){
it.next()获得下一个元素对象
}



43.java安全性体现在什么地方?

44.谈谈线程所拥有的几种状态

睡眠 --sleep(),线程进入休眠状态,待时间到了自动唤醒

等待---调用Object的wait()方法

挂起---调用yield()方法,线程显式出让cpu控制权

阻塞---等待IO事件输入,如JoptionPane输入框
分享到:
评论

相关推荐

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量...8、java面试题及答案 9、java面试题编程篇 10、Oracle面试题 11、Oracle企业面试题集锦 12、Spring面试题 13、SSH面试题 14、Strut+Spring+Hibernate面试题 15、张孝祥整理Java就业面试题大全

    java面试笔试资料java笔试题大集合及答案题库java笔试题汇总资料188个合集.zip

    Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询语句练习.doc Web服务器的工作...

    汇丰软件java面试题

    "汇丰软件Java面试题详解" 汇丰软件Java面试题是许多IT行业新人的梦寐以求的岗位,需要考生具备扎实的Java基础知识和良好的编程能力。以下是对汇丰软件Java面试题的详细解析。 笔试部分 笔试部分主要包含三部分:...

    java面试资料java面试题集java笔试题汇总资料

    java面试资料java面试题集java笔试题汇总资料,java面试资料java面试题集java笔试题汇总资料,java面试资料java面试题集java笔试题汇总资料,包括基础面试题、JavaWeb面试题、JAVA面试题集.txt、分布式相关面试题...

    java面试笔试题库java软件设计java笔试题大集合及答案文档资料合集300MB.zip

    Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询语句练习.doc Web服务器的工作...

    java笔记java笔试题 java面试题

    这份"java笔记java笔试题 java面试题"的资源无疑是准备Java程序员的笔试和面试时的重要参考资料。以下是一些关键的Java知识点,这些内容可能会在笔记或面试中出现: 1. **Java基础**:Java的基础语法包括数据类型...

    java面试题集锦 java面试题集锦

    以下是对标题和描述中涉及的一些常见Java面试题的详细解释: 1. **JDK 和 JRE 的区别** JDK(Java Development Kit)是用于开发和调试Java程序的完整工具集,包括JRE(Java Runtime Environment)、编译器(javac...

    java试题 java笔试题 java面试题

    Java 试题、Java 笔试题、Java 面试题 本资源摘要信息中,我们将对 Java 相关试题、笔试题和面试题进行总结和分析,涵盖了 XML 解析技术、Struts 框架、ArrayList 和 Vector 的区别、HashMap 和 Hashtable 的区别、...

    Java面试题以及答案整理.pdf

    为了在Java面试中脱颖而出,了解和掌握常见的面试题及答案至关重要。以下是一些关键知识点的详细解析: 1. **super()与 this()的区别** `super()`用于调用父类的构造器,确保子类实例化时父类的初始化;`this()`则...

    java笔试题笔试题

    java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 java笔试题 ...

    2020 兴业银行Java笔试题

    【Java笔试题解析】 在2020年兴业银行的Java笔试中,涉及了多个核心的Java编程和技术概念。以下是对部分题目进行的详细解答: 1. 输入一个正整数,计算并输出距离它最近的对称数 对称数是指从左向右读和从右向左...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    java面试笔试资料Java经典项目集锦java笔试题大集合及答案题库java笔试题汇总资料个合集(188).zip

    java面试笔试资料Java经典项目集锦java笔试题大集合及答案题库java笔试题汇总资料个合集(188) 100家大公司java笔试题汇总.doc 125条常见的java 面试笔试题大汇总.pdf 2011最新整理java经典代码....Java面试题以及答案

    Java面试题全集(上)(中)(下)合集

    这里我们将根据"Java面试题全集(上)(中)(下)合集"来探讨这些核心知识点。 1. **基础语法**:这部分通常考察Java的基本数据类型、变量、运算符、流程控制(if,switch,for,while,do...while)、方法的定义...

    张孝祥整理的JAVA面试题宝典下载

    这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很泛,很广,很杂,至少需要一个月的时间才能消化和...

    2017java面试题

    "2017java面试题"这个压缩包文件提供了丰富的资源,帮助Java开发者准备面试,深化对Java开发的理解。 文档"Java面试宝典2017.doc"可能包含了以下核心Java知识点: 1. **基础语法**:这包括变量、数据类型、运算符...

    java 面试题

    这是面试中常出现的java面试题 ex:【考题题干】类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符 获得需要的访问控制。 A .public B .no modifier C .protected D .private 【试题...

    JAVA面试题和笔试题总汇(含答案)

    JAVA面试题和笔试题总汇(含答案)

    java笔试题面试题

    Java作为一门广泛使用的编程语言,其笔试题和面试题涵盖了众多知识点,对于求职者来说,了解并掌握这些知识点是至关重要的。以下将根据标题、描述和标签,详细解析一些常见的Java笔试题和面试题所涉及的Java核心概念...

    java面试笔试题库java笔试题大集合及答案互联网公司面试资料Java面试问题集大全合集(200个).zip

    java面试笔试题库java笔试题大...Java面试题以及答案(小生).pdf java面试题(题库全).doc JS 数据库答案.doc Land.the.Tech.Job.You.Love-人人都有好工作—IT行业求职面试必读.pdf Linux命令大全完整版.doc sql查询

Global site tag (gtag.js) - Google Analytics