原创 解密Eclipse體系結構:IAdaptable

如果您閱讀Eclipse源代碼,您會發現IAdaptable是一個非常流行的接口,該接口由許多其他人實現。爲什麼這麼多的類/接口實現IAdaptable?答案是適配器是Eclipse Core Runtime的核心設計模式。 IA

原创 Java:按值對map進行排序

在Java中,我們可以使用TreeMap該類通過其鍵對地圖進行排序。該類非常易於使用。但是,有時我們需要按其值對map進行排序。如何通過其值對映射進行排序是Java程序員最常問的問題。在本文中,我將開發編寫這種方法的最佳方法。 1

原创 Java經典算法:最大的BST子樹

給定一棵二叉樹,找到最大的子樹,即二叉搜索樹(BST),其中最大表示其中的節點數最多的子樹。 Java解決方案 class Wrapper{ int size; int lower, upper; boolean isBST; p

原创 實時協作編碼的7種工具和服務

大多數時候,在軟件項目上進行協作意味着要使用Git之類的工具-輪流進行修改,然後將最終產品與單個代碼庫協調。 但是,近年來,在代碼上進行實時協作(兩個或多個人實時處理同一個文件)變得更加可行。您仍然需要一個人在最終代碼上簽字,但是

原创 企業應用開發框架的分類

如果您是Google的“最佳Java框架”,那麼您很可能會迷失本文,它對Java Enterprise世界中的情況進行了很好的概述。但是,從我的角度來看,它缺少一個非常重要的內容-所提及框架的分類。讓我們看看這個生態系統的另一個角

原创 操作系統概念層次圖

操作系統是管理電腦硬件與軟件資源的程序,同時也是計算機系統的內核與基石。操作系統是控制百其他程序運行,管理系統資源併爲用戶提供操作界面的系統軟件的集合。操作系統身負諸如管理與配置內存、度決定系統資源供需的優先次序、控制輸入與輸出設

原创 Java經典算法:通配符匹配

實現通配符模式匹配並支持“?” 和“ *”。 Java解決方案 要了解此解決方案,可以使用s =“ aab”和p =“ * ab”。 public boolean isMatch(String s, String p) { int

原创 Java經典算法:二叉樹的最大深度

給定二叉樹,找到其最大深度。 最大深度是沿着從根節點到最遠葉節點的最長路徑的節點數。 Java解決方案 public int maxDepth(TreeNode root) { if(root==null) return 0; i

原创 Java經典算法:最小堆棧

設計一個堆棧,該堆棧支持在固定時間內推送,彈出,頂出和檢索最小元素。 push(x)-將元素x推入堆棧 pop()-刪除堆棧頂部的元素。 top()-獲取頂部元素。 getMin()-檢索堆棧中的最小元素。 Java解決方案 爲了

原创 解決Maven中的依賴衝突

Maven依賴衝突確實很難解決。這篇文章的目的是讓讀者更好地理解什麼是版本衝突以及爲什麼最好避免它們。我將從一個簡短的故事開始,大多數讀者可能會涉及到這個故事。 故事 首先,想象一下您已經開始着手開發一個有趣的大型項目,該項目使用

原创 Java經典算法:糖果問題

有N個孩子排成一列。每個孩子都有一個評分值。您正在爲符合以下要求的這些孩子提供糖果: 1.每個孩子必須至少吃一個糖果。 2.評分較高的孩子比鄰居得到的糖果更多。 您必須給的最低糖果是多少? 分析 這個問題可以在O(n)時間內解決。

原创 多語言編程實用嗎?

語言融合1960年代中期,各種功能廣泛的編程語言如雨後春筍般涌現:用於數學的APL(1964),作爲教育入門語言的BASIC(1964),用於大規模應用的PL / I(1965),Simula(1965)用於模擬現實世界中的交互

原创 9個另類的數據庫值得一看

總的來說,如果您需要數據庫,則可以使用其中的一個大名鼎鼎的數據庫-MySQL / MariaDB,PostgreSQL,SQLite和MongoDB,然後開始工作。但是有時候,“一刀切”的方法並不能完全適用。時不時地,您的用例會落

原创 Java經典算法:句子屏幕擬合

給定x cols行屏幕和由非空單詞列表表示的句子,請查找給定句子可以在屏幕上顯示的次數。 注意: 一個單詞不能分爲兩行。 句子中的單詞順序必須保持不變。 一行中的兩個連續單詞必須用單個空格分隔。 Java解決方案 public i

原创 Java讀取XML文件缺少部分字符串

如果使用Java StAX api讀取xml文件,則可能會有某些字段缺少某些部分。這篇文章跟蹤我如何解決問題。通過添加以下代碼行可以解決問題。 XMLInputFactory inputFactory = XMLInputFact