原创 單例模式 雙重檢查判斷 不一定安全

單例模式 雙重檢查判斷 不一定安全 雙重檢查判斷 public class Singleton { private static Singleton instance=null; private Singleto

原创 Java 實現藍橋杯不同非空子串

【問題描述】 一個字符串的非空子串是指字符串中長度至少爲 1 的連續的一段字符組成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 個。 注意在計算時,只算本質不同的串的個

原创 生產者消費者問題 阻塞隊列版

生產者消費者問題 阻塞隊列版 package com.zyk; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.Blocki

原创 JVM運行時數據區之---虛擬機棧

JVM運行時數據區之—虛擬機棧 我們首先來看一下運行時數據區的大體結構 瞭解虛擬機棧處於運行時數據區的哪一部分 我們初步對於虛擬機棧有了一個瞭解 下面我們對它做一個深入一點的學習 Java虛擬機棧是什麼 定義主管Java程序

原创 OOM異常後GC收集日誌信息

OOM異常後GC收集日誌信息 我們先對-Xms -Xmx等參數做一個設置 方便來出現OOM異常(我們將堆的大小設定爲10m) 我們的測試代碼 package com.zyk; import java.util.Random;

原创 Java基礎 線程8鎖

Java基礎 線程8鎖 package com.robot; import java.util.concurrent.TimeUnit; //我們來看第一個場景 這時候會先輸出sendMes還是call呢? //1: 答案

原创 GC的4種算法

GC的4種算法 複製算法 我們先來看一張原理圖 明確發生的作用域 年輕代中採用的Minor GC 這種GC算法採用的複製算法 過程分析 當GC開始後 對象只會存在於Eden和From區 而To區是空的 緊接着進行G

原创 Session機制代碼實現

session機制代碼實現 public class SessionA extends HttpServlet { @Override protected void service(HttpServletRequest req

原创 Java 類的初始化和實例的初始化

Java 類的初始化和實例的初始化 類的初始化 一個子類初始化要先初始化他的父類 一個類初始化就是執行clinit方法 這裏我們注意 這裏的初始化是對靜態變量和靜態代碼塊進行初始化 而他們兩執行的先後順序就是看

原创 Java 實現劍指Offer 重建二叉樹(遞歸出口)

Java 實現劍指Offer 重建二叉樹 害 開頭還是來點題外話 今天下午不想做題了 準備把最近做的算法題整理一下 這裏的這篇文章依舊會參考不少的優秀代碼和博客 同時呢 也儘量多一些不一樣與衆不同的東西 加入自己的一丟丟思考(害

原创 一文淺析---從面試題連環炮的角度梳理HashMap

一文淺析—從面試題連環炮的角度梳理HashMap 你瞭解HashMap的底層數據結構嗎? 對於HashMap的底層數據結構在Java7和Java8中的實現是不同的,在Java7中是採用數組+鏈表的數據結構進行實現,而在Java8中

原创 linux下安裝jdk並配置環境變量

linux下安裝jdk並配置環境變量 首先通過xftp將jdk上傳到/opt下 解壓到opt下(這裏作者一開始忘記截圖了 所以換了個目錄 但是命令沒變) 查看解壓後的結果 配置環境變量 測試是否成功

原创 AVL平衡二叉樹(java)

AVL平衡二叉樹 引入 因爲二叉搜索樹不存在平衡算法,所以在某些特殊的情況下,二叉搜索樹等同於線性,出現蹩腳的情況,設計者們發現降低樹的高度自然就可以提高查找效率。那麼如何解決降低樹的高度的問題?在這種基礎上設計者給二叉樹加入了平

原创 CAS學習+ABA問題

CAS學習+ABA問題 CAS 定義 比較和交換 (Compare And Swap)它是一條cpu併發原語 是多線程同步的原子指令 作用 判斷內存中某個位置的值是否是預期值 如果是就更改爲新的值 Unsafe類中getA