java综合面试题_综合性18道面试官必问经典Java面试题!
Java具有簡單性、面向?qū)ο蟆⒎植际健⒔研浴踩浴⑵脚_獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn) 。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
線程的概念
線程進(jìn)程區(qū)別
在Java中如何實(shí)現(xiàn)線程
我們應(yīng)該是使用Runnable還是Thread?
Thread類的start()和run()方法的區(qū)別
start()方法會創(chuàng)建新的線程并啟動該線程,所以該方法會調(diào)用其他native方法,而run()方法就是
正常的Java方法調(diào)用,即在原來的線程中執(zhí)行java代碼。
Java中Runnable和Callable的區(qū)別
Runnable和Callable都代表要線程中執(zhí)行的任務(wù)。Runnable是JDK1.0加入的,而Callable確實(shí)是在JDK1.5加入的。
區(qū)別:Callable的 call() 方法可以返回值和拋出異常,
而Runnable的run()方法不能返回值也不能拋出異常。
Callable是需要使用java.util.concurrent.ExecutorService.submit(Callable)方法提交的,這樣就可以獲得Future對象,該對象可以裝載了Callable接口的call()方法的返回結(jié)果。
Java中CyclicBarrier和CountDownLatch的區(qū)別
簡述Java內(nèi)存模型
Java內(nèi)存模型包含了一系列的規(guī)則和指導(dǎo)原則。
Java語言是跨平臺的,Java的內(nèi)存模型確保了Java在不同的操作系統(tǒng)、CPU、內(nèi)存架構(gòu)上有確定的行為,特別是在多線程的情況下,一個(gè)線程所做的變動對其他線程是否可見是很重要的,這叫做先行發(fā)生關(guān)系:
Java中的volatile變量有什么特點(diǎn)
線程安全的概念,Vector是否是線程安全類?
競態(tài)條件的概念
Java停止線程的方法
線程發(fā)生異常的結(jié)果
如何在線程之間共享數(shù)據(jù)
共享對象(類的靜態(tài)變量或類的實(shí)例變量)
也可以使用阻塞隊(duì)列等并發(fā)的集合。
notify和notifyAll的區(qū)別
wait,notify和notifyAll是Object類的方法的原因
ThreadLocal變量含義(線程局部變量)
Java程序員學(xué)習(xí)交流群217799417,既有技術(shù)大佬,又有老司機(jī)開車,各位對Java感興趣的可以來交流學(xué)習(xí)一下,快樂與技術(shù)一起進(jìn)步。
總結(jié)
以上是生活随笔為你收集整理的java综合面试题_综合性18道面试官必问经典Java面试题!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用java编写计时器_JAVA编写计时器
- 下一篇: java邮箱找回密码_Spring实现简