2020-02-27

如何編寫可怕的 Java 代碼?

  1. 對一切使用異常 2. 不用擔心訪問修飾符 3. 在 Java 中沒有什麼是真正的 final 4. 使用 Java 序列化,干就對 5. 將對象用於一切 6. 充分擁抱便捷編程的藝術 7. 不要學習任何新知識–你總是最了解 我決定告訴你如何編寫可怕的Java代碼。如果你厭倦了所有這些美麗的設計模式和最佳實踐,並且想寫些瘋狂的東西,請繼續閱讀。 如果你正在尋找有關如何編寫良好代碼的建議,請查看其它文章! 1. 對一切使用異常 你知道循環對嗎?差一錯誤(英語:Off-by-one error,縮寫 OBOE,是在計數時由於邊界條件判斷失誤導致結果多了一或少了一的錯誤,通常指計算機編程中循環多了一次或者少了一次的程序錯誤,屬於邏輯錯誤的一種)很容易犯。當你迭代一個集合時,很容易出錯。讓我 […]

Read more
2020-02-25

Java 14 令人期待的 5 大新特性,打包工具終於要來了!

1. instanceof 模式匹配 2. 文本塊再次作為預覽特性保留 3. 記錄類型(Record Type)的引入 4. 打包工具終於來了 5. 一個組合垃圾收集器被棄用 6. 結束語 隨著新的 Java 發布生命周期的到來,新版本預計將於 2020 年 3 月發布,本文將對其中的 5 個主要特性作些概述。 Java 13 剛剛發布給開發人員使用不久,最新版本的JDK於2019年9月發布。但是很少有公司現在改用了 Java 13 ,因為這個版本看起來無論如何都不會從甲骨文公司獲得長期支持(LTS)。更不要說現在Java 14又已經出現了。 隨著新的Java發布生命周期的到來,新的Java版本預計將於2020年3月發布。時間已經所剩不多了,這就是為什麼甲骨文公司的Java首席架構師Mark […]

Read more
2020-02-22

Vert.x!這是目前最快的 Java 框架

如果您搜索「 最佳網路框架 」,您可能會偶然發現Techempower基準測試,其中排名超過300個框架,在那裡你可能已經注意到Vert.x是排名最高的。 Vert.x是一個多語言 Web 框架,它支持 Java ,Kotlin,Scala,Ruby和Javascript支持的語言之間的共同功能。無論語言如何,Vert.x都在Java虛擬機(JVM)上運行。模塊化和輕量級,它面向微服務開發。 Techempower基準測試衡量從資料庫更新,獲取和交付數據的性能。每秒提供的請求越多越好。在這種涉及很少計算的IO場景中,任何非阻塞框架都會有優勢。近年來,這種範式幾乎與Node.js不可分割,Node.js通過其單線程事件循環來推廣它。 與Node類似,Vert.x運行單個事件循環。但Vert.x […]

Read more
2020-02-22

在boss上更新簡歷后,找上門的全是外包…什麼情況?

你是否有過這麼一段經歷,一直做著OA,CRM管理系統等傳統項目,簡歷技能開頭第一行,基本都是「Java基礎紮實」,然後下面接著就是熟悉XXX。然後不斷列名詞,舉例一下: Java基礎紮實 熟悉Mysql… 熟悉Redis… 熟悉HTML/CSS/JS… 這個,是否就是你的簡歷套路??? 但是你發現,這樣的簡歷,沒有絲毫亮點,收到的面試機會更是少得可憐,而且還是低質量的外包居多。 於是,你就看了一些書,加上了一些高大上的名詞來修飾,比如JVM調優、分散式事務、分散式鎖、分散式作業等。 這樣一來面試是有了,可是面試官一上來,就一頓連環問! ! !  你說你有做過JVM調優,那你說下你們線上都設置了哪些JVM參數? GC日誌怎麼看,怎麼調優? 你說你們用了分散式事務,在哪個業務場景用的? 對於TC […]

Read more
其他
2020-02-07

2019 年最受歡迎的 JVM 配置參數是怎樣的?

以下是 JVM 常見十大配置參數: 1. -Xms : 初始堆大小。 只要啟動,就佔用的堆大小。 2. -Xmx : 最大堆大小。 java.lang.OutOfMemoryError: Java heap這個錯誤可以通過配置-Xms和-Xmx參數來設置。 3. -Xss : 棧大小分配。 棧是每個線程私有的區域,通常只有幾百K大小,決定了函數調用的深度,而局部變數、參數都分配到棧上。 當出現大量局部變數,遞歸時,會發生棧空間OOM(java.lang.StackOverflowError)之類的錯誤。 4. XX:NewSize :設置新生代大小的絕對值。 5. -XX:NewRatio : 設置年輕代和年老代的比值。 比如設置為3,則新生代: 老年代=1:3,新生代佔總heap的1/4。 […]

Read more
Go Top