原创 線上一些問題排查

一,線上cpu飆升很高怎麼排查? 1.通過top命令或者htop也可以看到哪些pid(進程)的cpu使用率比較高,比如pid=2266這個進程跑java服務佔用百分之70的cpu. 2.如果發現當前進程pid佔用較高,你就可以使用 top

原创 ThreadLocal相關代碼和麪試題

1代碼1 class House { int saleCount = 0; public synchronized void saleHouse() { saleCount++; } //

原创 檢測死鎖兩種方式

方式1: public class DeadLockDemo { public static void main(String[] args) { Object o1 = new Object();

原创 java (註解)

  1.Annocation的使用示例 示例一:生成文檔相關的註解 示例二:在編譯時進行格式檢查(JDK內置的三個基本註解) @Override:限定重寫父類方法,該註解只能用於方法 @Deprecated:用於表示所修飾的元素(類,方法等

原创 java(枚舉)

1.自定義枚舉類 public class Season { /** * 私有化屬性並final修飾 */ private final String seasonName; private fi

原创 java(泛型)

  1.例子 /** * 泛型的使用 * 在集合中使用泛型 * 注意點: * 1.泛型的類型必須是類,不能是基本數據類型,需要用到基本數據類型的位置,需要使用其包裝類 * 2.如果實例化時,沒有指明泛型的類型,默認類型爲java

原创 python入門9 (字符串)

1.字符串的內容對齊操作     s = 'hello,Python' '''居中對齊''' print(s.center(20,'*')) '''左對齊''' print(s.ljust(20,'*')) print(s.ljust

原创 python入門8 (字符串)

1.字符串的創建和駐留機制     a='python' b="python" c='''python''' print(a,id(a)) print(b,id(b)) print(c,id(c))  

原创 python入門7(集合)

1.集合的創建方式     #集合的創建方式 '''第一種創建方式使用{}''' s={2,3,4,5,5,6,7,7} #集合中的元素不允許重複 print(s) '''第二種創建方式使用set()''' s1 =set(range

原创 python入門6 (元組)

1.什麼是元組    2.元組的創建方式     '''第一種創建方式,使用()''' t=('Python','world',99) print(t) print(type(t)) t2='Python','world',99 p

原创 Flink代碼1

1.maven依賴 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artif

原创 JUC分支合併框架Fork和Join用法

Fork/Join它可以將一個大的任務拆分成多個子任務進行並行處理,最後將子任務結果合併成最後的計算結果, 並進行輸出,Fork/Join框架要完成兩件事情: Fork: 把一個複雜任務進行拆分,大事化小 Join: 把拆分任務的結果進行合

原创 JUC異步回調CompletableFuture用法

      代碼如下: //異步調用和同步調用 public class CompletableFutureDemo { public static void main(String[ ]args) throws Excepti

原创 多線程-CountDownLatch,CyclicBarrier,Semaphore

1.CountDownLatch 代碼如下: public class CountDownLatchDemo { public static void main(String[ ]args) throws Interrupted

原创 多線程-Callable

  1.FutureTask是Runnable接口的實現類,剛好構造器方法可以傳入Callable.,然後就可以通過 new Thread(new FutureTask(new Callable())).start()類似方法創建線程執行,