原创 21.解悶算法-雙蛋問題(dp)

雙蛋問題: public class Egg { public static void main(String[] args) { int[][] a = new int[1][2];

原创 this::寫法,this::methodName寫法,ClassName::method寫法,方法引用

這種寫法是Java8的方法引用,方法引用是java8的新特性之一, 可以直接引用已有Java類或對象的方法或構造器。方法引用與lambda表達式結合使用,可以進一步簡化代碼。 傳送門

原创 7.跳錶Skip List

什麼是跳錶? 二分查找底層依賴的是數組隨機訪問的特性。如果是一個鏈表,如何支持二分查找呢,就是給這個鏈表建立多層的索引,如下圖所示,這種數據結構叫做跳錶。 在跳錶中,每兩個結點會抽出一個結點作爲上一級索引的結點,對於大小爲n的鏈表

原创 Java程序突然死掉的原因

Java程序突然死掉的原因一般有三種: 程序OOM了,自己的Java程序申請內存創建對象的時候,申請的內存超出了堆內存的限制,此時我們叫做堆OOM了,當然還包括棧溢出,本地方法區溢出。 程序佔用的內存過大,被Linux的oom

原创 系統運行緩慢排查思路

原文鏈接 JDK常用工具

原创 24.常見遞歸題目總結

123

原创 JVM梳理

注:你在網上所看到的大部分內容(包括本文)均來自於《深入理解Java虛擬機》周志明著,注意我這裏用了著字,所有內容均來自於自己,而編著一般是指來自於引用別人的,大家以後買書可以以此來辨別下作者的優秀程度。 JVM內存區域圖 上圖中

原创 來談談分佈式事務

什麼是事務? 事務具體表現A(原子性)C(一致性)I(隔離性)D(持久性)。 本地事務是解決單個數據源上的數據操作的一致性問題的話。 分佈式事務是爲了解決跨越多個數據源上數據操作的一致性問題。 業界目前方案: 兩階段提交(2P

原创 關於壓測

常聽到一句話。 xx併發下,系統的TPS是多少? 爲什麼系統的TPS要加上XX併發的條件下呢? https://blog.csdn.net/xingchao416/article/details/53188729/ c=nL/T

原创 反射中Class.forName()和ClassLoader.loadClass()的區別

Java類裝載過程 裝載:通過累的全限定名獲取二進制字節流,將二進制字節流轉換成方法區中的運行時數據結構,在內存中生成Java.lang.class對象; 鏈接:執行下面的校驗、準備和解析步驟,其中解析步驟是可以選擇的;   

原创 5種I/O模型的理解

參考與互聯網文章: https://cloud.tencent.com/developer/article/1586243—基礎 https://tech.meituan.com/2016/11/04/nio.html-----進

原创 理清SpringAOP,AspectJ,Cglib等幾個概念之間的關係

AOP 面向切面編程,Aspect Oriented Programming的縮寫,Aspect爲切面的意思。 AOP是一個概念,並沒有設定具體語言的實現,它能克服那些只有單繼承特性語言的缺點(如Java)。AOP有切面(Asp

原创 動態規劃-最短路徑

動態規劃作爲一個非常成熟的算法思想,適合用動態規劃來解決的問題需要滿足一個模型三個特徵。 模型是:多階段決策最優解模型 特徵是: 1. 最優子結構 最優子結構指的是,問題的最優解包含子問題的最優解。反過來說就是,我們可以通過子問

原创 CustomDialog(沒有白色背景的彈窗)

import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.view.Display

原创 Java中的輸入輸出流

InputStream和OutputStream是字節輸入輸出流的頂級父類,用於操作字節流。InputStream是輸入流,負責讀。OutputStream是輸出流,負責寫。Reader和Writer是字符輸入輸出流的頂級父類,