原创 java多線程:java.util.concurrent包下的類

java.util.concurrent 是在併發編程中很常用的實用工具類,稱爲JUC。 注意:在java.util下的集合都是發生fail-fast,而在java.util.concurrent下的發生的都是fail-safe。

原创 OPPO java後臺開發面經

OPPO公司整體給人感覺很大氣,流程很清晰,提前批現場面,第一天一面,晚上出結果,第二天二面+HR面,同樣晚上出結果,過了就是第三天現場簽約。我面的是java開發崗。 一面 早上去的,提前一個小時到的,先簽到先面試,這點很人性化,

原创 Linux:測試端口連通性

Linux系統有時候需要測試某個端口的連通性,用戶可以參考如下方法來測試。 方法一、telnet法 telnet爲用戶提供了在本地計算機上完成遠程主機工作的能力,因此可以通過telnet來測試端口的連通性,具體用法格式: teln

原创 分佈式:Redis線程模型、和memcached的區別

1. redis和memcached有啥區別 Redis支持服務器端的數據操作:Redis相比Memcached來說,擁有更多的數據結構和並支持更豐富的數據操作,通常在Memcached裏,你需要將數據拿到客戶端來進行類似的修改

原创 算法:二分查找及其變種

原文鏈接:https://cyc2018.github.io/CS-Notes/#/notes/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E4%BA%8C%E5%88

原创 JAVA多線程:sleep、wait、yield、join、notify、notifyAll

1.yield方法和sleep方法的區別 (1)yield方法和sleep方法都能暫停當前線程,sleep可以指定具體的休眠時間,而yield則依賴CPU的時間片劃分。 (2)yield和sleep在暫停的過程中,如果已經持有鎖,

原创 分佈式:分庫分表

原文鏈接:https://mp.weixin.qq.com/s/clQrAnxuxX_al7k6TPpgzw 移動互聯網時代,海量的用戶每天產生海量的數量,比如: 用戶表 訂單表

原创 java多線程:生產者消費者實現的幾種方式

1.方式一:使用BlockingQueue import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue;

原创 設計模式:代理模式

原文鏈接:https://mp.weixin.qq.com/s/4XccpeLLJr5iR3kDp2tmEg 1.代理模式簡介 代理模式是一種結構型設計模式,提供了對目標對象額外的訪問方

原创 算法:求排列組合

package Algorithm.PailieZuhe; /** * Created by zs on 2019/7/30. * 求排列組合 * A = n * (n-1) * (n-2) ... *(n-m+1) =

原创 設計模式:工廠模式

(1)簡單工廠模式 簡單工廠模式不是 23 種裏的一種,簡而言之,就是有一個專門生產某個產品的類。 比如下圖中的鼠標工廠,專業生產鼠標,給參數 0,生產戴爾鼠標,給參數 1,生產惠普鼠標。 (2)工廠模式 工廠模式也就是鼠標工廠是

原创 算法:動態規劃0-1揹包問題

原文鏈接:https://cyc2018.github.io/CS-Notes/#/notes/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E5%8A%A8%E6%80

原创 算法:雙指針:判斷鏈表有環,求環的入口

1.判斷一個鏈表是否有環 public boolean isHasCircle(Lnode head){ if(head == null)return false; Lnode p1 = hea

原创 OPPO

1.多線程 (1)線程轉換狀態 (1.1)新建狀態(New):新創建了一個線程對象。 (1.2)就緒狀態(Runnable):線程對象創建後,其它線程調用了該對象的start()方法。 該狀態的線程位於可執行線程池中,變得可執行,

原创 java基礎:static、final、static final的區別

(1)final可以修飾:屬性,方法,類,局部變量(方法中的變量) final修飾的屬性的初始化可以在編譯期,也可以在運行期,初始化後不能被改變。 final修飾的屬性跟具體對象有關,在運行期初始化的final屬性,不同對