截止到2013年,核心Java帖子
隨著2013年即將結(jié)束,我最近發(fā)現(xiàn)了幾篇與我認(rèn)為“核心Java”知識(shí)有關(guān)的帖子。 該帖子列出了三個(gè)帖子,并提供了一個(gè)簡(jiǎn)短說(shuō)明的論壇。 我這樣做有兩個(gè)目的:(1)幫助他人意識(shí)到這些優(yōu)秀職位的存在;(2)當(dāng)我想再次找到這些職位時(shí),充當(dāng)自己的榮耀“書簽”。 這些帖子和論壇足以證明我花時(shí)間將它們作為PDF“ 打印 ”(保存)到我的硬盤中。
熱點(diǎn)JVM標(biāo)志
柯克·佩珀丁 ( Kirk Pepperdine )的“ JVM HotSpot標(biāo)志案例研究 ”是有關(guān)HotSpot JVM標(biāo)志的實(shí)際分析和應(yīng)用的極佳資源。 Pepperdine演示了使用-XX:+ PrintFlagsFinal標(biāo)志(我也已在其上進(jìn)行博客 )以“通過(guò)弄清楚默認(rèn)設(shè)置是什么來(lái)識(shí)別冗余標(biāo)志”,以便他可以刪除不推薦使用的標(biāo)志和簡(jiǎn)單地顯式設(shè)置為無(wú)論如何他們都會(huì)有默認(rèn)值。 然后,Pepperdine分析在刪除不贊成使用的標(biāo)記和刪除僅重新設(shè)置默認(rèn)值的標(biāo)記之后剩余的一些標(biāo)記。 他分析了它們之間的相互作用,有時(shí)甚至相互取代。 Pepperdine的結(jié)論段落明確表達(dá)了以下建議:
我認(rèn)為我們擁有如此可配置,如此靈活的技術(shù)真是太棒了。 但是這種靈活性是一把雙刃劍,不應(yīng)只是盲目地跳入使用所有這些可配置性。 我確實(shí)知道一件事,即您的應(yīng)用程序性能確實(shí)取決于其配置方式。 即使只有一個(gè)標(biāo)志,也會(huì)對(duì)應(yīng)用程序的性能造成不利影響,而弄錯(cuò)了錯(cuò)誤要比弄好它容易得多。 而且很多時(shí)候,JVM確實(shí)可以立即使用它。
遠(yuǎn)程Java調(diào)試
亞當(dāng)·比恩 ( Adam Bien )的文章“ 遠(yuǎn)程調(diào)試的選項(xiàng)是什么 ……”簡(jiǎn)要回顧了可用于調(diào)試 遠(yuǎn)程Java進(jìn)程 (如應(yīng)用程序服務(wù)器)的關(guān)鍵選項(xiàng) 。 在本文中,他引用了連接和調(diào)用詳細(xì)信息以獲取更多詳細(xì)信息,但提供了可用傳輸?shù)暮?jiǎn)要摘要( dt_shmem用于套接字和 Windows共享內(nèi)存訪問(wèn)的dt_socket和dt_shmem ), suspend=y 與 suspend = n和server=y 與 server=n 。
Java標(biāo)準(zhǔn)庫(kù)/語(yǔ)言愿望清單
問(wèn)題“ Java標(biāo)準(zhǔn)庫(kù)迫切需要什么功能? 最近在Reddit上被問(wèn)到。 由于各種原因,我發(fā)現(xiàn)答復(fù)(到目前為止有72篇)很有趣。 在在線論壇上,評(píng)論作者有一些例子展示了他們的高超知識(shí),卻犧牲了其他人的知識(shí),但是大多數(shù)評(píng)論都很有見(jiàn)地,并且為Java開(kāi)發(fā)人員希望看到的語(yǔ)言提供了有趣的視角。 (在少數(shù)情況下)或SDK(在答復(fù)中更常見(jiàn),可能是因?yàn)榕c問(wèn)題更加緊密地結(jié)合在一起)。 答案包括番石榴的所有子集, Apache Commons的全部或子集,不贊成使用和刪除大量未使用的功能和庫(kù),以及屬性注釋或其他用于替換獲取/設(shè)置方法(或Project Lombok )的機(jī)制。
我以為Tillerino發(fā)表了有見(jiàn)地的評(píng)論 ,一些Java開(kāi)發(fā)人員可能對(duì)Apache Commons(特別是Lang)和Guava之類的“公共”庫(kù)沒(méi)有意識(shí)到。 蒂勒里諾說(shuō):
每個(gè)定義的commons-lang提供了Java API中沒(méi)有的那些類。 commons-lang提供的功能出現(xiàn)在Java API中然后從commons-lang中刪除是很常見(jiàn)的。 我使用了其他兩個(gè)軟件包,盡管commons-lang可能是所有項(xiàng)目的90%的一部分,但其他軟件包只是專門成為Java API一部分的方式。 對(duì)于Java開(kāi)發(fā)人員來(lái)說(shuō),知道哪些功能可以通過(guò)公用區(qū)輕松訪問(wèn)很重要,但是我認(rèn)為這條線已經(jīng)很劃清了。
Java SE采用和標(biāo)準(zhǔn)化流行庫(kù)功能的最新示例包括Java 7添加了Objects類和Java 8添加了Optional類,這兩個(gè)類均與Guava的Objects類和Optional類有明顯的相似之處。 我們?cè)贘ava EE世界中也看到了這一點(diǎn),其中最主要的例子之一就是近年來(lái)受Spring Framework啟發(fā)的Java EE的許多新功能。
這是我在《 標(biāo)準(zhǔn)化工作:開(kāi)源的危險(xiǎn)關(guān)系》一書中寫的一個(gè)普遍原則。 我們的開(kāi)發(fā)人員應(yīng)該對(duì)此原則感到“滿意”,因?yàn)殚_(kāi)源似乎有助于完善最好的創(chuàng)意,一旦這些功能的流行性和實(shí)用性得到證明,組織可以將緩慢發(fā)展的標(biāo)準(zhǔn)納入標(biāo)準(zhǔn)。 這些開(kāi)源產(chǎn)品的實(shí)現(xiàn)使我們能夠在標(biāo)準(zhǔn)實(shí)現(xiàn)中使用該功能。
感謝Nikita Salnikov-Tarnovski最近發(fā)布的RMI強(qiáng)制每小時(shí)運(yùn)行Full GC的原因有以下三個(gè):
由于設(shè)置了名為sun.rmi.dgc.server.gcInterval的HotSpot RMI屬性, sun.rmi.dgc.server.gcInterval -Tarnovski遇到的問(wèn)題與“每小時(shí)發(fā)生一次完整GC” sun.rmi.dgc.server.gcInterval 。 在Java SE 6中,針對(duì)JDK-6200091錯(cuò)誤的修復(fù)(“默認(rèn)情況下RMI gcInterval太短”)將sun.rmi.dgc.server.gcInterval和sun.rmi.dgc.server.gcInterval的設(shè)置延長(zhǎng)了一小時(shí)。 作為參考,與常規(guī)定期分布式垃圾收集相關(guān)的其他感興趣的帖子包括:我們?nèi)绾谓鉀Q–在Tomcat上每1分鐘進(jìn)行一次 GC,為Sun Hotspots,JVM 6分析GC日志, 由于遠(yuǎn)程方法調(diào)用(RMI)導(dǎo)致無(wú)法解釋的System.gc()調(diào)用)或公開(kāi)垃圾收集 , 如果不這樣做,JBoss的運(yùn)行會(huì)很慢 。
我喜歡Salnikov-Tarnovski記錄了他解決問(wèn)題的步驟,而不是簡(jiǎn)單地指出解決方案。 盡管在這種情況下,解決方案是使用Google搜索引擎搜索其他人解決該問(wèn)題的方法,但是之前嘗試的幾個(gè)步驟可以向其他人說(shuō)明如何縮小問(wèn)題并磨練缺陷。 我在此博客上被問(wèn)到的最大問(wèn)題之一是,當(dāng)有人留下評(píng)論詢問(wèn)我如何找到該帖子中記錄的修復(fù)程序時(shí)。 在我發(fā)布并閱讀此評(píng)論時(shí),我已經(jīng)忘記了解決該棘手問(wèn)題的步驟,因此并沒(méi)有真正的幫助。
在本文中Salnikov-Tarnovski的案例中,所提供的幾乎全部是“有時(shí)系統(tǒng)運(yùn)行緩慢”(我敢肯定,我們當(dāng)中很多人已經(jīng)多次接受了該系統(tǒng))。 診斷問(wèn)題的步驟包括監(jiān)視響應(yīng)時(shí)間以查看常規(guī)模式,排除此類情況下的常見(jiàn)嫌疑人,增加日志記錄輸出并最終求助于Google。
結(jié)論
每周都有成千上萬(wàn)的新職位,為軟件開(kāi)發(fā)人員詳細(xì)介紹各種新技術(shù)和工具。 這些是有價(jià)值的帖子,可以幫助我們所有人學(xué)習(xí)新事物,但是我也非常感謝那些關(guān)注“核心概念”的帖子和論壇。 盡管核心概念可能不像新事物那樣令人興奮或浮華,但核心概念可幫助我們更好地交付和管理軟件,以使客戶受益。
翻譯自: https://www.javacodegeeks.com/2014/01/closing-2013-with-core-java-posts.html
總結(jié)
以上是生活随笔為你收集整理的截止到2013年,核心Java帖子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 四川备案网(四川备案管理)
- 下一篇: Java 8中的java.util.Ra