有時(shí)您需要將大量數(shù)據(jù)導(dǎo)出為 JSON 到一個(gè)文件。也許是“將所有數(shù)據(jù)導(dǎo)出到 JSON”,或者 GDPR“可移植性權(quán)利”,您實(shí)際上需要這樣做。與任何大型數(shù)據(jù)集一樣,您不能將其全部放入內(nèi)存并將其寫入文件。這需要一段時(shí)間,它從數(shù)據(jù)庫中讀取大量條目,您需要小心不要使此類導(dǎo)出使整個(gè)系統(tǒng)過載或耗盡內(nèi)存。
支持雙因素身份驗(yàn)證 (2FA) 幾乎總是一個(gè)好主意,尤其是對(duì)于后臺(tái)系統(tǒng)。2FA 有許多不同的形式,其中一些包括 SMS、TOTP 甚至硬件令牌。
可信時(shí)間戳是讓可信第三方(“時(shí)間戳機(jī)構(gòu)”,TSA)以電子形式證明給定事件的時(shí)間的過程。歐盟法規(guī) eIDAS 賦予這些時(shí)間戳法律效力——即,如果事件帶有時(shí)間戳,則沒有人可以對(duì)時(shí)間或事件內(nèi)容提出異議。適用于多種場(chǎng)景,包括時(shí)間戳審計(jì)日志。(注意:時(shí)間戳對(duì)于良好的審計(jì)跟蹤是不夠的,因?yàn)樗荒茏柚箰阂庑袨檎咄耆珓h除事件)
緩存是幾乎所有應(yīng)用程序性能的關(guān)鍵。有時(shí)需要分布式緩存,但并非總是如此。在許多情況下,本地緩存可以正常工作,并且不需要分布式緩存的開銷和復(fù)雜性。
Spring Framework 為常見緩存場(chǎng)景提供了全面的抽象,而無需耦合到任何受支持的緩存實(shí)現(xiàn)。但是,特定存儲(chǔ)的到期時(shí)間聲明不是此抽象的一部分。如果我們要設(shè)置緩存的生存時(shí)間,則必須調(diào)整所選緩存提供程序的配置。從這篇文章中,您將學(xué)習(xí)如何為具有不同 TTL 配置的多個(gè) Caffeine 緩存準(zhǔn)備設(shè)置。
下面是最近小編開發(fā)的一個(gè)應(yīng)用程序,用于從 URL 或 Base64 編碼的有效負(fù)載中讀取條形碼圖像并提供結(jié)果。 為此,我使用了 Dynamsoft 的 jar 并創(chuàng)建了一個(gè) Java 包,從 Dynamsoft 導(dǎo)入條碼閱讀器的類并為 ImageReader 創(chuàng)建一個(gè)類。
Java 安全性是所有使用 Java 應(yīng)用程序的企業(yè)的重要主題。Java Champion Simon Ritter 深入探討了 JDK 和不讓您的應(yīng)用程序保持最新的潛在缺點(diǎn),以及為什么了解關(guān)鍵補(bǔ)丁更新 (CPU) 和補(bǔ)丁集更新 (PSU) 之間的區(qū)別至關(guān)重要。
Java 虛擬機(jī) (JVM) 生成 3 個(gè)關(guān)鍵組件,這些組件對(duì)于優(yōu)化性能和排除生產(chǎn)問題很有用。這些組件是:垃圾收集 (GC) 日志線程轉(zhuǎn)儲(chǔ)堆轉(zhuǎn)儲(chǔ)在本文中,讓我們嘗試了解這 3 個(gè)關(guān)鍵組件,它們?cè)谀睦锸褂?,它的外觀如何,如何捕獲它們,如何分析它們以及它們的差異。
在這篇文章中,我們將討論如何快速找到您的 Java 應(yīng)用程序進(jìn)程 ID。對(duì)于某些監(jiān)控工具(如?yCrash?),您需要將應(yīng)用程序進(jìn)程 ID 作為輸入傳遞。如果您想查找包含多個(gè)不同選項(xiàng)的更詳細(xì)的帖子來查找您的應(yīng)用程序的進(jìn)程 ID,您可以參考這篇文章。
我們的軟件傾向于使用大量的線程池——主要是通過?j?ava.util.concurrent.ExecutorService??實(shí)現(xiàn)(通過?Executors.new...?創(chuàng)建)。我們?yōu)楦鞣N異步用例創(chuàng)建這些線程池,它們隨處可見。所有這些執(zhí)行器都有一個(gè)線程工廠。它隱藏在默認(rèn)工廠方法,但您可以提供線程工廠。如果未提供,則在需要線程時(shí)使用默認(rèn)線程工廠。