美文网首页面试题Java 杂谈
18道面试官必问Java面试题!

18道面试官必问Java面试题!

作者: OSET我要编程 | 来源:发表于2017-12-28 15:34 被阅读14次

    java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序Web应用程序、分布式系统和嵌入式系统应用程序等。

    学习之路http://www.zparkedu.com/

    线程的概念

    线程进程区别

    在Java中如何实现线程

    我们应该是使用Runnable还是Thread

    Thread类的start和run方法的区别

    start方法会创建新的线程并启动该线程,所以该方法会调用其他native方法,而run方法就是

    正常的Java方法调用,即在原来的线程中执行java代码。

    Java中Runnable和Callable的区别

    Runnable和Callable都代表要线程中执行的任务。Runnable是JDK1.0加入的,而Callable确实是在JDK1.5加入的。

    区别:Callable的 call方法可以返回值和抛出异常,

    而Runnable的run方法不能返回值也不能抛出异常。

    Callable是需要使用java.util.concurrent.ExecutorService.submit(Callable)方法提交的,这样就可以获得Future对象,该对象可以装载了Callable接口的call方法的返回结果。

    Java中CyclicBarrier和CountDownLatch的区别

    简述Java内存模型

    Java内存模型包含了一系列的规则和指导原则。

    Java语言是跨平台的,Java的内存模型确保了Java在不同的操作系统、CPU、内存架构上有确定的行为,特别是在多线程的情况下,一个线程所做的变动对其他线程是否可见是很重要的,这叫做先行发生关系:

    线程安全的概念,Vector是否是线程安全类?

    竞态条件的概念

    Java停止线程的方法

    如何在线程之间共享数据

    共享对象(类的静态变量或类的实例变量)

    也可以使用阻塞队列等并发的集合。

    notify和notifyAll的区别

    wait,notify和notifyAll是Object类的方法的原因

    相关文章

      网友评论

        本文标题:18道面试官必问Java面试题!

        本文链接:https://www.haomeiwen.com/subject/jblvgxtx.html