java实习生面试题_java基础面试_java面试题2018及答案_java面试题库

简介: java实习生面试题_java基础面试_java面试题2018及答案_java面试题库

1、一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制?

2、Java有没有goto?

3、&和&&的区别?

4、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

5、short s1 = 1; s1 = s1 + 1;有什么错?short s1 = 1; s1 += 1;有什么错?

6、char型变量中能不能存贮一个中文汉字?为什么?

7、用最有效率的方法算出2乘以8等於几?

8、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

9、"=="和equals方法究竟有什么区别?

10、静态变量和实例变量的区别?

11、是否可以从一个static方法内部发出对非static方法的调用?

12、Integer与int的区别

13、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

14、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

15、面向对象的特征有哪些方面?

16、String是最基本的数据类型吗?

17、float f=3.4;是否正确?

18、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法?

19、数组有没有length()方法?String有没有length()方法?

20、在Java中,如何跳出当前的多重嵌套循环?

21、构造器(constructor)是否可被重写(override)?

22、两个对象值相同x.equals(y) == true,但却可有不同的hash code,这句话对不对?

23、是否可以继承String类?

24、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

25、String和StringBuilder、StringBuffer的区别?

26、描述一下JVM加载class文件的原理机制?

27、抽象类(abstract class)和接口(interface)有什么异同?

28、Java中会存在内存泄漏吗,请简单描述?

29、抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?

30、GC是什么?为什么要有GC?

31、String st = null和 String st =“ ”的区别?String s = new String("xyz")创建了几个对象?

32、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?

33、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否可以实现接口?

34、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?

35、final、finally和finalized的区别?

36、数据类型之间的转换?

37、如何实现字符串的反转及替换?

38、怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?

39、比较一下Java和JavaSciprt?

40、Error和Exception有什么区别?

41、try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?

42、throw和throws的区别、及处理方式?

43、编译时异常和运行时异常的区别?

44、List、Set、Map是否继承自Collection接口?

45、阐述ArrayList、Vector、LinkedList的存储性能和特性?

46、Collection和Collections的区别?

47、List、Map、Set三个接口存取元素时,各有什么特点?

48、TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

49、Thread类的wait( )和sleep( )的区别?

50、线程的sleep()方法和yield()方法有什么区别?

51、当一个线程进入一个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?

52、简述线程的五种状态?

53、创建多线程的两种方式期区别?

54、synchronized关键字的用法?

55、举例说明同步和异步。

56、启动一个线程是调用run()还是start()方法?

57、什么是线程池(thread pool)?

58、同步代码块与同步函数的区别?

59、Java中如何实现序列化,有什么意义?

60、Java中有几种类型的流?

61、Statement和PreparedStatement有什么区别?哪个性能更好?

62、使用JDBC操作数据库时,如何提升读取数据的性能?如何提升更新数据的性能?

63、在进行数据库编程时,连接池有什么作用?

64、什么是DAO模式?

65、JDBC中如何进行事务处理?

66、获得一个类的类对象有哪些方式?

67、如何通过反射创建对象?

68、简述一下面向对象的"六原则一法则"?

69、简述一下你了解的设计模式?

70、用Java写一个单例类?

71、线程如何同步和通讯?

72、hashCode方法的作用?

73、什么是SOA,谈谈你的SOA的理解?

74、java中实现多态的机制是什么?

75、.super.getClass()方法调用?

76、请写出你最常见到的5个runtime exception?

77、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

78、简述synchronized和java.util.concurrent.locks.Lock的异同 ?

79、HashMap和Hashtable的区别?

80、两个对象值相同x.equals(y) == true,但却可有不同的hash code,这句话对不对?

81、heap和stack有什么区别?

82、传统for循环、增强for循环、及迭代器的区别?

83、ArrayList、Vector、LinkedList的区别

84、描述一下你最常用的java编程风格

85、什么是内存泄漏?

86、Static Nested Class 和 Inner Class的不同

87、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1

88、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

89、请说出你所知道的线程同步的方法

90、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

91、线程的基本概念、线程的基本状态以及状态之间的关系

92、如果变量用final修饰,则怎样?如果方法final修饰,则怎样?

93、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?

94、作用域public,private,protected,以及不写时的区别

95、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实 现)interface(接口

96、什么时候用assert

97、Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何 区别

98、abstract class和interface有什么区别

99、介绍JAVA 中的Collection FrameWork(包括如何写自己的数据结构)?

100、JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代表什么意义?在try 块中可以抛出异常吗?

相关文章
|
2天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
7天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
9天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
32 4
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
17天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?
|
4天前
|
安全 Java 开发者
深入解读JAVA多线程:wait()、notify()、notifyAll()的奥秘
在Java多线程编程中,`wait()`、`notify()`和`notifyAll()`方法是实现线程间通信和同步的关键机制。这些方法定义在`java.lang.Object`类中,每个Java对象都可以作为线程间通信的媒介。本文将详细解析这三个方法的使用方法和最佳实践,帮助开发者更高效地进行多线程编程。 示例代码展示了如何在同步方法中使用这些方法,确保线程安全和高效的通信。
21 9
|
7天前
|
存储 安全 Java
Java多线程编程的艺术:从基础到实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及其实现方式,旨在帮助开发者理解并掌握多线程编程的基本技能。文章首先概述了多线程的重要性和常见挑战,随后详细介绍了Java中创建和管理线程的两种主要方式:继承Thread类与实现Runnable接口。通过实例代码,本文展示了如何正确启动、运行及同步线程,以及如何处理线程间的通信与协作问题。最后,文章总结了多线程编程的最佳实践,为读者在实际项目中应用多线程技术提供了宝贵的参考。 ####
|
4天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
7天前
|
Java
JAVA多线程通信:为何wait()与notify()如此重要?
在Java多线程编程中,`wait()` 和 `notify()/notifyAll()` 方法是实现线程间通信的核心机制。它们通过基于锁的方式,使线程在条件不满足时进入休眠状态,并在条件满足时被唤醒,从而确保数据一致性和同步。相比其他通信方式,如忙等待,这些方法更高效灵活。 示例代码展示了如何在生产者-消费者模型中使用这些方法实现线程间的协调和同步。
21 3
|
6天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。