原创 領釦——21.合併兩個有序鏈表

領釦——21.合併兩個有序鏈表 將兩個有序鏈表合併爲一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4 /** * Def

原创 領釦——83.刪除鏈表重複元素

83.刪除鏈表重複元素 給定一個排序鏈表,刪除所有重複的元素,使得每個元素只出現一次。 示例 1: 輸入: 1->1->2 輸出: 1->2 示例 2: 輸入: 1->1->2->3->3 輸出: 1->2->3 /** * Def

原创 InnoDB引擎——7.事物篇

InnoDB引擎——7.事物篇 衆所周知,數據庫的事物非常重要 上篇介紹鎖,討論了事物的隔離性,本章關注事物的原子性。 InnoDB引擎默認是READ REPEATABLE隔離級別. 隔離性=併發控制=可串行化=鎖等 事物類型:(1)

原创 領釦——234.迴文鏈表

領釦——234.迴文鏈表 請判斷一個鏈表是否爲迴文鏈表。 示例 1: 輸入: 1->2 輸出: false 示例 2: 輸入: 1->2->2->1 輸出: true 思路是翻轉後一部分的鏈表,然後用雙指針從每部分頭開始比較,一樣返回

原创 Tomcat結構剖析

一、Tomcat頂層架構 先上一張Tomcat的頂層結構圖(圖A),如下: Tomcat中最頂層的容器是Server,代表着整個服務器,從上圖中可以看出,一個Server可以包含至少一個Service,用於具體提供服務。 Servi

原创 劍指offer——206.反轉單鏈表

反轉單鏈表 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *

原创 數據結構——單鏈表

數據結構——單鏈表 鏈表中第一個結點的存儲位置叫做頭指針,那麼整個鏈表的存取就必須是從頭指針開始進行了。之後的每一個結點,其實就是上一個的後繼指針指向的位置。 這裏有個地方要注意,就是對頭指針概念的理解,這個很重要。 “鏈表中第一個結

原创 Git常用命令

Git簡單使用 Git是分佈式版本控制系統 版本庫又名倉庫,英文名repository,個目錄裏面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。 $

原创 InnoDB引擎——6.鎖篇

InnoDB引擎——6.鎖篇 行級鎖神話——行級鎖總會增加開銷 實際上,只有當實現本身會增加開銷時,行級鎖纔會增加開銷,InnoDB存儲引擎不需要鎖升級,因爲一個鎖和多個鎖的開銷是相同的。如何理解? MyISAM是表鎖,數據庫中loc

原创 領釦——2.兩數相加

3.兩數相加 給定兩個非空鏈表來表示兩個非負整數。位數按照逆序方式存儲,它們的每個節點只存儲單個數字。將兩數相加返回一個新的鏈表。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。 示例: 輸入:(2 -> 4 -> 3) +

原创 劍指offer——2.斐波那契數列小變形

2.斐波那契數列小變形 其實就是不能用遞歸,遞歸越深效率不高 public class Solution { public int Fibonacci(int n) { if (n==0) return

原创 深入理解session和cookie

深入理解session和cookie 1.他們本身只是HTTP的一個配置項 2.我們每次創建Cookie時是否都創建一個以NAME爲set-cookie的MimeHeaders? 答案是肯定的。實質上,在構建HTTP返回字節流的時候講

原创 計算機系統那些事——深入理解計算機系統(一)

從Hello World開始認識計算機系統(c語言) 一枚編程小白從2018.9.1的學習歷程… 世界上沒有什麼是努力辦不到的,如果有,那麼就更努力一些吧 1.在Unix系統上,源文件到目標文件是如何轉化的呢? 從源程序也就是hell

原创 劍指offer——1.二維數組中查找

二維數組查找 package com.fwc; /* 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序, * 每一列都按照從上到下遞增的順序排序。 * 請完成一個函數,輸入這樣的一個二維數組和一個整數