原创 網絡相關知識(TCP部分)

七層協議和TCP/IP協議簇 OSI七層協議和Tcp/ip四層協議         應用層:應用程序間通信規則 DNS:建立ip地址和域名之間關係 Telnet:遠程管理協議,是不安全的,與此相對SSH是安全的 FTP:傳文件的協議 H

原创 筆試中的流程控制題

最近做到了兩個筆試中的這種題目,這裏備註一下 大概就是需要你維護一個隊列,然後根據一個什麼過程模擬這個流程的進行 一個是華爲筆試的題目:             這道題實際上就是維護一個隊列,然後查表 然而題意確實很複雜,寫輸入輸出也要很久

原创 筆試:一些怕忘掉的基礎東西

平方函數:Math.pow(a,b) new一個數組: int[] index=new int[3];//已知容量 int[] index={2,3,4};//已知數據int[][] index2=new int[2][3];//二維數組

原创 筆試:處理輸入基礎

筆試都是acm模式,需要自己處理輸入輸出   首先注意類名都是規定好的,一般是Main類,最終直接new一個對象輸出結果 其次有一些常用函數: 爲了導入包,需要import java.util.*; Scanner sc=new Scan

原创 設計模式:行爲型->觀察者模式

參考這篇文章,很生動:https://zhuanlan.zhihu.com/p/158537313 有點像發佈訂閱,有不同之處,但是要實現的功能很像   舉了一個遊戲的例子 Hero類走格子,有怪物類,寶物類,走到格子時需要判斷是否進入這些

原创 設計模式:結構型->代理模式

結構型模式是用來設計程序的結構的。結構型模式就像搭積木,將不同的類結合在一起形成契合的結構。 聽起來沒那麼好懂的樣子   代理模式的基本思路 代理模式就是給一個對象提供一個代理,並由代理對象控制對原對象的引用。它使得客戶不能直接與真正的目

原创 設計模式:創建型->單例模式

創建型模式:對象實例化的模式,創建型模式用於解耦對象的實例化過程。   以下參考這篇文章:https://zhuanlan.zhihu.com/p/160842212   什麼是單例模式 單例模式是指在內存中只會創建且僅創建一次對象的設計模

原创 設計模式:創建型->工廠模式

在我們平常創建對象的時候,都是通過關鍵字 new 來實現的,例:Class A = new A() 。   在一些情況下,要創建的對象需要一系列複雜的初始化操作,比如查配置文件、查數據庫表、初始化成員對象等,如果把這些邏輯放在構造函數中,會

原创 劍指 Offer 55 - I. 二叉樹的深度

    思路:       統計層數,一開始想能不能dfs做,但怎麼想感覺都不好做(腦袋裏還是遍歷的想法),然後自然就想到層序遍歷,然後每次經過一層加一就行 class Solution { public int maxDep

原创 樹 先序遍歷 中序遍歷 後序遍歷

 寫之前先看作用: 先序遍歷:在第一次遍歷到節點時就執行操作,一般只是想遍歷執行操作(或輸出結果)可選用先序遍歷; 中序遍歷:對於二分搜索樹,中序遍歷的操作順序(或輸出結果順序)是符合從小到大(或從大到小)順序的,故要遍歷輸出排序好的結果需

原创 Java 多線程 02

產生線程安全問題的原因: 線程的working memory是cpu的寄存器和高速緩存的抽象描述:現在的計算機,cpu在計算的時候,並不總是從內存讀取數據,它的數據讀取順序優先級 是:寄存器-高速緩存-內存。線程耗費的是CPU,線程計算的

原创 Java 多線程 01

進程和線程 進程:process,線程:thread 進程是資源分配的基本單位;線程是程序執行的基本單位。 進程擁有自己的資源空間,每啓動一個進程,系統就會爲它分配地址空間;而線程與CPU資源分配無關,多個線程共享同一進程內的資源,使用相同

原创 JVM總結2:堆 GC GC參數

我們學習的jvm都是sun公司出的基於hotspot的jvm。 jvm堆的結構       新生代:eden區,倖存0區,倖存1區 老年代 元空間(堆外內存,方法區) 因爲大部分java中的對象都是朝生夕死,所以搞了這一套gc(gar

原创 雙指針:42. 接雨水

   這題難度還是在想到辦法,實現並不困難 如何計算雨水呢,可以按列來算,統計每列能接的雨水 列的寬度已經確定了,能接雨水的高度等於 min(左側最高的高度,右側最高的高度)-本列高度   首先介紹雙指針,左側右側靠掃描來計算 clas

原创 雙指針:26. 刪除排序數組中的重複項

    這道題開始沒思路,但是後來用雙指針的分區域法一思考,基本很快就搞出來了。不過一是有個細節搞錯了,二是還有很多地方可以優化。     class Solution { public int removeDuplicate