原创 單例模式、觀察者模式、裝飾着模式、適配器模式、工廠模式、代理模式

單例模式 簡單點說,就是一個應用程序中,某個類的實例對象只有一個,你沒有辦法去new,因爲構造器是被private修飾的,一般通過getInstance()的方法來獲取它們的實例。 getInstance()的返回值是一個對象的引

原创 【算法】-- 【實現字符串的反轉、判斷兩個字符串是否由相同的字符組成、刪除重複的字符、統計字符串由多少個單詞、按要求打印數組排列情況、輸出字符串所有組合】

01 如何實現字符串的反轉 例如:“I love you"反轉後"you love I” 思路:第一次對整個字符串中的字符進行反轉,然後對每個單詞進行反轉 public void swap(char [] cArr,int beg

原创 【算法】-- 【單鏈表的反轉、增刪、去重、中間節點、是否有環、有環的第一個節點、是否相交等】

1.定義一個數據類來存儲節點信息 public class Node { Node next = null; int data; public Node(int data){ this.da

原创 【算法】-- 【求數對之差的最大值、求絕對值最小的數、求兩個元素的最小距離、求指定數字在數組中第一次出現的位置、對數組的兩個子有序段進行合併】

01 如何求數對之差的最大值 方法一:蠻力法 首先遍歷數組,找到所有可能的差值,其次從所有差值中找出最大值。 public static int getMax(int[] a){ int n=a.length;

原创 【算法】-- 【尋找數組最小、大值,數組第二大數,最大子數組之和,最多重複的數,等於10的組合】

01 如何尋找數組中的最小值與最大值 static int Max; static int Min; public static void getMaxAndMin(int arr[]){ M

原创 詳解ArrayList、LinkedList和Vector的源碼解析

java.util.List接口是Java Collections Framework的一個重要組成部分,List接口的架構圖如下: 本文將通過剖析List接口的三個實現類——ArrayList、LinkedList和Vecto

原创 【算法】-- 【數組循環右移k位,數組第k個最小的值,數組中只出現一次的元素,數組唯一重複的元素,用遞歸法求數組的最大元素】

01 如何把一個數組循環右移k位 例如:數組{1,2,3,4,5,6,7,8,9}右移兩位 第一步 逆序數組子序列 1234567,數組變爲765432189 第二步 逆序列數組子序列89,數組變爲765432198 第三步

原创 【算法】-- 【字符串反轉】

如何將字符串反轉? /** * 二分遞歸地將後面的字符和前面的字符連接起來。 * * @param s * @return */ public static String

原创 Java面試:多線程中的各種鎖,你瞭解幾個?

學習 java 多線程時,最頭疼的知識點之一就是 java 中的鎖了,什麼互斥鎖、排它鎖、自旋鎖、死鎖、活鎖等等,細分的話可以羅列出 20 種左右的鎖,光是看着這些名字就足以讓人望而卻步了,更別說一個個去理解它們的含義了。其實我

原创 【面試題】--【MySql】

事務的基本特徵原子性(atomicity): 原子性 : 一個事務必須視爲一個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾,對於一個事務來說,不可能只執行其中的一部分操作。 一致性(cons

原创 【算法】-- 【棧與隊列的實現】

1.如何實現棧 1.數組實現棧 import java.util.Arrays; public class MyStack<E> { private Object[] stack; private int si

原创 【算法】-- 【螺旋矩陣】

今天去智度科技面試,遇到一個算法題,沒有答上,可惜了這次機會。 從矩陣的左上角出發,初始時向右移動;如果前方是未曾經過的格子,則繼續前進,否則右轉;重複上述操作直至經過矩陣中所有格子。根據經過順序,在格子中依次填入1, 2, 3,

原创 【算法】-- 【二叉樹的實現、層序遍歷二叉樹、已知先序中序遍歷二叉樹,求後序遍歷二叉樹、求二叉樹中結點的最大距離】

01 如何實現二叉樹 首先定義樹的結點 public class Node { public int data; public Node left; public Node right; publi

原创 深入理解MySQL,簡歷上再說熟悉數據庫

先拋出幾個問題 爲什麼不建議使用訂單號作爲主鍵? 爲什麼要在需要排序的字段上加索引? for update 的記錄不存在會導致鎖住全表? redolog 和 binlog 有什麼區別? MySQL 如何回滾一條 sql ? ch

原创 Redis緩存機制RDB、AOF及緩存雪崩、緩存擊穿、緩存穿透

一 、簡介 1.Redis的特點 Redis是一種非關係數據庫(不會像Mysql一樣多個表直接存在直接關聯關係),也是一種內存型數據庫 Redis是單線程的,並且是直接基於內存的,所以執行效率會非常高 爲什呢Redis是單線程的