黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java三年經驗面試題總結,值得參考

Java三年經驗面試題總結,值得參考

更新時間:2019-12-13 14:56:54 來源:動力節點 瀏覽2550次

 

Java三年經驗面試題總結,值得參考.jpg

  1. java中wait和sleep有什么區別?多線程條件下如何保證數據安全?

  答:最大區別是等待時wait會釋放鎖,而sleep會一直持有鎖,wait通常用于線程時交,互,sleep通常被用于暫停執行。

  2. java中volatile和synchronized有什么區別?

  1.volatile本質是在告訴jvm當前變量在寄存器(工作內存)中的值是不確定的,需要從主存中讀取;synchronized則是鎖定當前變量,只有當前線程可以訪問該變量,其他線程被阻塞住。

  2.volatile僅能使用在變量級別;synchronized則可以使用在變量、方法、和類級別的。

  3.volatile僅能實現變量的修改可見性,并不能保證原子性;而synchronized則可以保證變量的修改可見性和原子性。

  4.volatile不會造成線程的阻塞;synchronized可能會造成線程的阻塞。

  5.volatile標記的變量不會被編譯器優化;synchronized標記的變量可以被編譯器優化。

  3. 有了解java的原子類?實現原理是什么?

  答:采用硬件提供原子操作指令實現的,即CAS。每次調用都會先判斷預期的值是否符合,才進行寫操作,保證數據安全。

  4. spring主要使用了哪些?IOC實現原理是什么?AOP實現原理是什么?

  答:spring主要功能有IOC,AOP,MVC等,IOC實現原理:先反射生成實例,然后調用時主動注入。AOP原理:主要使用java動態代理,

  5. mybatis有了解嗎?它與hibernate有什么區別?項目中,你會選哪個?

  答:兩者都是輕量級ORM框架,hibernate實現功能比較多,通過HQL操作數據庫,比較簡單方便,但hibernate自動生成的sql相長,不利測試和查找原因。復雜sql時,編寫比較困難,同時性能也會降低。mybatis是半自動化,手動編寫SQL語句,同時提供豐富的參數判斷功能。sql語句較清晰,可以直接進行測試,性能也較好,操作起來非常簡單。同時hibernate容易產生n+1問題。hibernate學習成本較mybatis高。國內一些大公司基本上使用mybatis

Java三年經驗面試題總結,值得參考.jpg

 

  6. 緩存框架有使用過哪些?memcache和redis有什么區別?項目中,怎么去選擇?

  答:緩存有:ehcache,memcache和redis等

  區別:

  1、 Redis和Memcache都是將數據存放在內存中,都是內存數據庫。不過 memcache還可用于緩存其他東西,例如圖片、視頻等等。

  2、Redis不僅僅支持簡單的k/v類型的數據,同時還提供list,set,hash等數據結構的 存儲。

  3、虛擬內存--Redis當物理內存用完時,可以將一些很久沒用到的value 交換到磁盤

  4、過期策略--memcache在set時就指定,例如set key1 0 0 8,即永不過期。Redis可以通 過例如expire 設定,例如expire name 10

  5、分布式--設定memcache集群,利用magent做一主多從;redis可以做一主多從。都 可以一主一從

  6、存儲數據安全--memcache掛掉后,數據沒了;redis可以定期保存到磁盤(持久化)

  7、災難恢復--memcache掛掉后,數據不可恢復; redis數據丟失后可以通過aof恢復

  8、Redis支持數據的備份,即master-slave模式的數據備份。

  項目使用選擇:

  redis是單線程實現,若需要使用控制某些并發狀態時,可以使用redis.項目中需要使用 復雜的list,set操作時,同時可以對數據進行持久化。

  當存儲數據較大時,如100k以上,那memcache性能較好,在多核上,memcache較 好

  7. 說說數據庫性能優化有哪些方法?

  答:使用explain進行優化,查看sql是否充分使用索引。避免使用in,用exist替代,字段值盡可能使用更小的值,任何對列的操作都將導致表掃描,它包括數據庫函數、計算表達式等等,查詢時要盡可能將操作移至等號右邊。使用連接查詢(join)代替子查詢。

  在表的多列字段上建立一個索引,但只有在查詢這些字段的第一個字段時,索引才會被使用。

  8. HTTP請求方法get和post有什么區別?

  1:Post傳輸數據時,不需要在URL中顯示出來,而Get方法要在URL中顯示。

  2:Post傳輸的數據量大,可以達到2M,而Get方法由于受到URL長度限制,只能 傳遞大約1024字節.

  3:Post就是為了將數據傳送到服務器段,Get就是為了從服務器段取得數據.而Get 之所以也能傳送數據,只是用來設計告訴服務器,你到底需要什么樣的數據.Post 的信息作為http請求的內容,而Get是在Http頭部傳輸的。

  9. linux命令熟悉?查看某個線程命令是什么?查看整個機器負載命令?文件內容快速查找命令是什么?

  查看線程:ps -ef|greptomcat

  查看負載:top

  文件內容查找:vi /aa test.txt 或者先打開文件,再查找: vi test.txt /aa

  10. JVM內存模型是如何?垃圾回收機制有哪些?如何對JVM進行調優?

  答:由棧和堆組成,棧是運行時單位,堆內存則分為年輕代、年老代、持久代等,年輕代中的對象經過幾次的回收,仍然存在則被移到年老代;持久代主要是保存class,method,filed等對象。

  sun回收機制:主要對年輕代和年老代中的存活對象進行回收,分為以下:

  年輕代串行(Serial Copying)、年輕代并行(ParNew)、年老代串行(SerialMSC),年老代并行(Parallel Mark Sweep),年老代并發(Concurrent Mark-Sweep GC,即CMS)等等,目前CMS回收算法使用最廣泛。

  JVM調優主要是對堆內容和回收算法進行配置,需要對jdk產生的回收日志進行觀察,同時通過工具(Jconsole,jProfile,VisualVM)對堆內存不斷分析,這些優化是一個過程,需要不斷地進行觀察和維護。

 

Java三年經驗面試題總結,值得參考

      以上就是動力節點Java培訓機構小編介紹的“Java三年經驗面試題總結,值得參考”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

 

相關推薦

最新最全java面試題及答案(初級到高級)

史上最全的中高級JAVA工程師面試題及答案匯總

Java高級開發工程師面試題

2019史上最全java面試題題庫大全800題

哪有資深java工程師面試題

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 深夜在线视频免费网址 | 国产在线观看一区二区三区 | 最近免费中文完整视频观看 | 日本三级网络 | 激情五月视频 | 一本大道香一蕉久在线影院 | 在线免费观看毛片 | 翁熄性荡事最新篇王伟忠 | 成人午夜在线视频 | 国产a一级毛片午夜剧院 | 一个色亚洲 | 97夜夜澡人人爽人人喊中国片 | 91精品国产高清久久久久久 | 6080欧美a大片一级 | 琪琪午夜伦埋影院77 | 欧美亚洲国产激情一区二区 | 手机看片国产免费久久网 | 日韩免费视频一区二区 | 亚洲444444在线观看 | 国产日韩精品视频一区二区三区 | 日本动态120秒免费 日本二区视频 | 国外免费精品视频在线观看 | 国产精品91视频 | 国产做受视频激情播放 | 国产成人午夜精品免费视频 | 亚洲视频 在线观看 | 黑丝网站| 成人短视频视频在线观看网站 | 亚洲人成高清 | 亚洲欧美日本一区 | 国产欧美91 | 天天爽天天碰狠狠添 | 日韩福利视频高清免费看 | 色avv | 最近中文字幕视频完整 | 国产乱人视频在线播放不卡 | 日韩免费高清视频网站 | 天天爽夜夜爽免费看 | 最刺激黄a大片免费观看下截 | 日日干天天操 | 亚洲毛片网站 |