<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    幾個很火的 Java 項目,開源!

    共 3494字,需瀏覽 7分鐘

     ·

    2021-12-31 13:36

    大家好,我是魚皮,今天看到好友 Guide 哥推薦了幾個 Java 的開源項目,都很不錯,給大家分享一下~

    分別是:

    • Mindustry :一款 Java 語言編寫的沙盒塔防游戲,目前已經(jīng)上架 Apple Store 和 Steam。
    • Caffeine :性能超強的本地緩存解決方案。
    • JADX : 一款強大的反編譯工具。
    • Debezium :一個用于追蹤數(shù)據(jù)更改(change data capture ,CDC)的開源項目。你可以通過 Debezium 輕松實現(xiàn)數(shù)據(jù)同步,將一個數(shù)據(jù)源中的數(shù)據(jù)同步到其他數(shù)據(jù)源,比如將 MySQL 中的數(shù)據(jù)同步到 ES 中。
    • JNDI-Injection-Exploit :一個開箱即用的 JNDI 注入工具。

    Mindustry:沙盒塔防游戲

    Mindustry 是一款 Java 語言編寫的沙盒塔防游戲,目前已經(jīng)上架 Apple Store、Google Play 和 Steam,支持 Windows,Linux,安卓等平臺。

    是的?。。∧銢]看錯,這款游戲就是使用 Java 語言編寫的。

    目前的話,這個游戲在 Apple Store 評分 4.7,Google Play 評分 4.6, Steam 上也有 96% 的好評。非常厲害了!

    這個游戲的很多用戶直呼:“一玩就停不下來了!”

    另外,這個項目使用 Gradle 構(gòu)建,如果你想要在本地運行這個游戲的話,你的 JDK 版本至少是 JDK16。

    作者在 README 文檔中提供了這個項目詳細的運行方法,你可以直接在本地對游戲進行修改。

    不過,最讓我佩服的是這個項目作者的毅力。雖然這個游戲已經(jīng)發(fā)布 4 年多了,但是作者依然還在不斷維護游戲,不斷完善游戲的玩法。

    大家感受一下項目作者的提交記錄吧!簡直恐怖如斯!

    • 項目地址:https://github.com/Anuken/Mindustry
    • 官網(wǎng):https://mindustrygame.github.io/

    Caffeine:本地緩存之王

    Caffeine 是一款強大的本地緩存解決方案,性能非常 ??。

    有多牛呢?看下 Caffeine 和其他可以提供本地緩存的工具的性能對比吧!

    Caffeine 和 Guava 一樣,通過 API 的方式即可使用緩存。

    LoadingCache?graphs?=?Caffeine.newBuilder()
    ????.maximumSize(10_000)
    ????.expireAfterWrite(Duration.ofMinutes(5))
    ????.refreshAfterWrite(Duration.ofMinutes(1))
    ????.build(key?->?createExpensiveGraph(key));

    不過,相比于 Guava 提供的緩存功能來說 Caffeine 在各個方面都要更加優(yōu)秀。像 Redisson、Cassandra、Hbase、Neo4j、Druid 等知名開源項目都用到了 Caffeine。

    相關(guān)文章推薦:萬字詳解本地緩存之王 Caffeine 的高性能設(shè)計之道!

    JADX:強大的反編譯工具

    jadx 是一款功能強大的反編譯工具,使用起來簡單方便,不光提供了命令行程序,還提供了 GUI 程序。一般情況下,我們直接使用 GUI 程序就可以了。

    jadx 支持 Windows、Linux、 macOS,能夠幫我們打開.apk, .dex, .jar,.zip等格式的文件

    就比如說我們需要反編譯一個 jar 包查看其源碼的話,直接將 jar 包拖入到 jadx 中就可以了。效果如下:

    再比如說我們想看看某個 apk 的源碼,我們拿到 apk 之后直接拖入進 jadx 中就可以了。效果如下:

    除此之外,這個工具具備下面這些特性:

    • 自帶強大的搜索功能,支持多種匹配模式;
    • 支持查看類,變量或者方法使用情況;
    • 支持在源碼中添加注釋
    • 支持反混淆
    • ......

    這個工具使用起來還挺簡單的,立個 flag :下周出一篇 JADX 使用介紹的文章。

    項目地址:https://github.com/skylot/jadx

    Debezium:追蹤數(shù)據(jù)更改

    Debezium 是一個用于追蹤數(shù)據(jù)更改(change data capture ,CDC)的開源項目,基于 Java 語言,利用 Kafka 和 Kafka Connect 實現(xiàn)持久性、可靠性和容錯性,工作原理類似大家比較熟悉的 Canal、Maxwell,通過數(shù)據(jù)庫日志來獲取變更。

    CDC(Change Data Capture)是一種軟件設(shè)計模式,用于確定和跟蹤已變更的數(shù)據(jù),以便可以對更改后的數(shù)據(jù)采取措施,

    Debezium 已經(jīng)支持 MySQL、PostgreSQL、Oracle、Cassandra、MongoDB、SQL Server 等數(shù)據(jù)庫。

    你可以使用 Debezium 來監(jiān)控你的數(shù)據(jù)庫,每一個提交的行級別(row-level)的更改都會被捕獲。因此,你可以通過 Debezium 輕松實現(xiàn)數(shù)據(jù)同步,將一個數(shù)據(jù)源中的數(shù)據(jù)同步到其他數(shù)據(jù)源,比如將 MySQL 中的數(shù)據(jù)同步到 ES 中。

    下圖是基于 Debezium 追蹤數(shù)據(jù)更改常見的一種架構(gòu):

    相對于 ETL 數(shù)據(jù)同步方案來說,Debezium 這種方式更加靈活。

    Debezium 的官方文檔中還介紹了很多其他有價值的使用場景,感興趣的小伙伴可以自己去看看。

    Debezium常見適用場景
    • 項目地址 :https://github.com/debezium/debezium
    • 中文介紹:https://github.com/debezium/debezium/blob/main/README_ZH.md
    • 官網(wǎng):https://debezium.io/
    • 官方文檔:https://debezium.io/documentation/

    相關(guān)文章推薦:

    JNDI-Injection-Exploit:JNDI 注入工具

    JNDI-Injection-Exploit 這個項目是一個開箱即用的 JNDI 注入工具,用于生成 JNDI 鏈接并啟動后端相關(guān)服務(wù),可用于 Fastjson、Jackson 等相關(guān)漏洞的驗證。

    JNDI 是什么呢? 簡單來說,JNDI (Java Naming and Directory Interface) 是一組應(yīng)用程序接口,類似于一個索引中心,它允許客戶端通過 jndiName 來定位用戶、網(wǎng)絡(luò)、機器、對象和服務(wù)等各種資源。

    //指定需要查找name的名稱
    String?jndiName=?"jndiName";
    //初始化默認環(huán)境
    Context?context?=?new?InitialContext();
    //查找該name對應(yīng)的資源部
    context.lookup(jndiName);

    當 jndiName 變量可控時,如果獲取到的資源是遠程 class 文件的話,就可能會觸發(fā)執(zhí)行惡意代碼,這也就是我們常說的 JNDI 注入。

    JNDI 這家伙帶來了很多重大的漏洞,就比如前段時間技術(shù)圈刷屏的 Log4j2 重大漏洞?就是這玩意引起的。

    項目地址:https://github.com/welk1n/JNDI-Injection-Exploit

    相關(guān)文章推薦:

    參考資料

    [1]

    深入理解 JNDI 注入與 Java 反序列化漏洞利用: https://kingx.me/Exploit-Java-Deserialization-with-RMI.html

    [2]

    log4j2 漏洞簡單小計: https://juejin.cn/post/7042458032701177887


    ··········? END? ··············

    往期推薦

    微信發(fā)力了,一鍵部署網(wǎng)站后端!

    考研結(jié)束,抓緊做這件事!

    N 年沉淀,騰訊這套系統(tǒng)終于開源!

    一鍵生成幾千套代碼模板,這個神器有多刺激!

    這款內(nèi)網(wǎng)穿透神器,免費!

    瀏覽 126
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報
    評論
    圖片
    表情
    推薦
    點贊
    評論
    收藏
    分享

    手機掃一掃分享

    分享
    舉報

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    亚洲视频在线观看视频在线 | 国产欧美在线免费观看 | 黄色毛片学生妹免费看视频 | 亚洲无码免费的 | 青青草在线精品视频 |