原创 Java 算法題 實現出現次數最多的整數

原題 問題描述   編寫一個程序,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數N也是由用戶輸入的,最多不會超過20。然後程序將對這個數組進行統計,把出現次數最多的那個數組元素值打印出來。如果有兩個元素值出現的次數相

原创 Java 實現藍橋杯奧運會開幕式 約瑟夫環問題

問題描述   學校給高一(三)班分配了一個名額,去參加奧運會的開幕式。每個人都爭着要去,可是名額只有一個,怎麼辦?班長想出了一個辦法,讓班上的所有同學(共有n個同學)圍成一圈,按照順時針方向進行編號。然後隨便選定一個數m,並且從1

原创 Java基礎---HashMap源碼學習

HashMap源碼學習(一) 開頭想先說一點題外話 在以前初學HashMap的時候 就認識到了要對源碼進行學習 可當點開講解源碼的博客 發現這是一件太困難的事情 一直以來 對於HashMap也沒有深入的理解其底層原理 今天趁着

原创 Java基礎---爲什麼要重寫hashCode和equals方法

爲什麼要重寫hashCode和equals方法 1 複習一下Hash算法 先複習一下數據結構裏的一個知識點:在一個長度爲 n(假設是 10000)的線性表(假設是ArrayList)裏,存放着無序的數字;如果我們要找一個指定的數字

原创 Java 實現合根植物 並查集

問題描述   w星球的一個種植園,被分成 m * n 個小格子(東西方向m行,南北方向n列)。每個格子裏種了一株合根植物。   這種植物有個特點,它的根可能會沿着南北或東西方向伸展,從而與另一個格子的植物合成爲一體。 如果我們告訴

原创 Session 優化登錄案例

Session 優化登錄案例 1.代碼實現 public class LoginServlet extends HttpServlet { @Override protected void service(HttpServl

原创 關於at tk.mybatis.spring.mapper.SpringBootBindUtil$SpringBoot2Bind.bind(SpringBootBindUtil.java129)

at tk.mybatis.spring.mapper.SpringBootBindUtil$SpringBoot2Bind.bind(SpringBootBindUtil.java:129) ~[mapper-spring-bo

原创 Java基礎 線程入門

Java基礎 線程 線程的概述 進程 正在運行的程序 負責這個程序的內存空間分配 代表內存中的執行區域 線程 就是在一個進程中負責一個執行路徑 多線程 就是在一個進程中多個路徑同時執行(例如殺毒軟件同時在做系統優化和垃圾清理)

原创 牛客網---Java專項練習(2)(第二題單例設計模式)

牛客網—Java專項練習(2) 1.在異常處理中,以下描述不正確的有 a. try塊不可以省略 b. 可以使用多重catch塊 c. finally塊可以省略 d. catch塊和finally塊可以同

原创 牛客網---Java專項練習(1)(第二題List Set Map小知識點)

牛客網 Java專項練習(1) 1.在Web應用程序的文件與目錄結構中,web.xml是放置在( )中 WEB-INF目錄 2.下面有關List接口、Set接口和Map接口的描述,錯誤的是? a.他們都繼承自Colle

原创 牛客網 Java專項練習(3)

牛客網 Java專項練習(3) 1 下列關於Java類中方法的定義,正確的是() a 若代碼執行到return語句,則將當前值返回,而且繼續執行return語句後面的語句。 b 只需要對使用基本數據類型定義的屬性使用get

原创 鏈表中倒數第k個節點(棧 或者 快慢指針)

鏈表中倒數第k個節點 輸入一個鏈表,輸出該鏈表中倒數第k個結點。 這裏提供兩種解法 法一 用棧逆序鏈表 返回第k個節點 法二 快慢指針 先看第一種 package com.robot; import java.util.Stac

原创 二叉排序樹(java實現)

二叉排序樹(BST) 二叉搜索樹,倒狀的樹形結構。如下圖所示 特點: 所有的非葉子節點最多擁有兩個子節點樹(左子樹和右子樹)。 所有結點存儲一個關鍵字。 節點的左右兒子,左邊是比該節點小的,右邊是比該節點大的。 packag

原创 生產者消費者問題 傳統版+Lock版

題目 現在有生產者消費者兩個線程 可以對初始值爲0的一個變量進行操作 ​ 實現生產者線程對該變量加1 消費者線程立刻對該變量減1 ​ 實現交替 來10輪 (我們要求生產1個後 馬上就進行消費)(消費一個後 就馬上進

原创 可重入鎖+自旋鎖+讀寫鎖

可重入鎖 我們來看什麼是可重入鎖 可重入鎖的核心意思 是同一個線程在外層方法獲取鎖的時候 在進入內層方法會自動獲取鎖 這裏我們分別舉synchronized 和 ReentrantLock的例子 synchronized是可重