原创 leetcode刷題:我好像戳到奇妙的知識點了——Trie樹

前言 3月份Leetcode發起了"每日一題"的打卡活動,本人蔘加過一次之後,就覺得這活動真有意思,然後就忘了,直到活動快結束了纔想起來。今天戳的題目是: 820. 單詞的壓縮編碼 題目是這樣的, 給定一個單詞列表,我們將這個列

原创 《軟技能:代碼之外的生存指南》筆記

前言 知道這本書,正是我完成畢設,又不能去實習這種尷尬的時候(直到發佈這篇文章的時候,我還沒去實習),想着怎麼計劃未來一兩年的學習方向和大致的發展方向(筆者還是很想讀研,只是因爲家裏的環境不適合)。遇到這本書,感覺像是一位經歷了很

原创 計算機網絡知識框架總結(複習)

前言 在大學學習了計算機網絡,已經複習好幾遍了,依然會忘記一些內容,雖然每次複習的時候都能重新認識到新的知識,但腦海中沒有形成一個大致的框架,在複習的時候會沒有查漏補缺的效果。 筆者打算寫一篇學習筆記,初步總結計算機網絡的知識框架

原创 關於String的這9個問題,值得一看

前言 Java中String的應用無處不在,無論是算法題還是面試題,String都獨佔一方,甚至是無數面試者心中難以名狀的痛。本文着重對String(若無特地說明,默認是JDK 1.8版本)常見的問題來進行介紹: 字符串的不可變

原创 不來了解下JVM支持的語言有哪些?

前言 與上文我們知道,JVM作爲一個可以將Class文件轉換成機器碼的平臺,只要安裝了虛擬機,就可以在上面運行字節碼。 同樣,只要其他原因在編譯過程中生成了字節碼,那麼照樣可以通過JVM在不同平臺上運行,這就實現了跨平臺能力了。

原创 你真的有好好了解過序列化嗎:Java序列化實現的原理

前言 在開發過程中經常會對實體進行序列化,但其實我們只是在“只知其然,不知其所以然”的狀態,很多時候會有這些問題: 什麼是序列化和反序列化?爲什麼要序列化? 怎麼實現序列化? 序列化的原理是什麼呢? transient關鍵字 序

原创 【Java集合】除了Vector,還有另一個提供線程安全的List是什麼?

前言 金三銀四,勢在必得。我自信又有點緊張地走進了面試現場。 面試官:“我們先聊點Java基礎吧,除了Vector,還有另一個提供線程安全的List是什麼?”。 我:“我知道可以通過Collections.synchronized

原创 Java的成員變量、局部變量(深入版)

前言 在《Java的構造函數與默認構造函數(深入版)》介紹Java對象初始化過程時,提到了實例變量。本文介紹Java中包括實例變量在內的幾種變量,以及它們的作用域。 (若文章有不正之處,或難以理解的地方,請多多諒解,歡迎指正) 變

原创 分佈式CAP理論:爲什麼CAP理論中的三個指標不能同時滿足呢?

文章目錄前言分佈式系統的特點分佈式系統技術是用來解決什麼問題的呢?CAP代表什麼含義一致性(Consistency)可用性(Availability)分區容錯性(Partition Tolerance)CAP理論的證明CAP理論的

原创 Java基礎:JavaIO流入門

前言 現在很多項目的開發都會用到SpringBoot,而SpringBoot的自動配置的底層原理實現就在於,Java提供的IO流將META-INF/spring-autoconfigure-metadata.properties文

原创 Java基礎:Java網絡IO流

前言 在上一篇文章中,我們瞭解流的概念以及JavaIO流的基本用法,但JavaIO流的演化不僅是如此簡單,有心的讀者會發現,在JDK1.4之前的IO類都是基於阻塞的IO(可以從InputStream.read()方法實現中看到由s

原创 《軟技能:代碼之外的生存指南》筆記——職業篇(上)

前言 知道這本書,正是我完成畢設,又不能去實習這種尷尬的時候(直到發佈這篇文章的時候,我還沒去實習),想着怎麼計劃未來一兩年的學習方向和大致的發展方向(筆者還是很想讀研,只是因爲家裏的環境不適合)。遇到這本書,感覺像是一位經歷了很

原创 Java基礎:枚舉的用法與原理

在學習過程中,我們也只是在定義常量的時候,會意識到枚舉的存在,而定義常量其實可以在類中實現,這時就會感覺枚舉有點雞肋。但在實際項目開發的過程中,枚舉因相當迷人的特性而受到越來越多的關注。本文將按以下小節點來,一一介紹枚舉: 枚舉

原创 Shiro框架:認證和授權原理

前言 Shiro作爲解決權限問題的常用框架,常用於解決認證、授權、加密、會話管理等場景。本文將對Shiro的認證和授權原理進行介紹: Shiro可以做什麼?、 Shiro是由什麼組成的? 舉個Shiro的例子唄? Shiro認證

原创 Java集合:List、Set和Map需要注意的5個問題

前言 Java集合中的List、Set和Map作爲Java集合食物鏈的頂級,可謂是各有千秋。本文將對於List、Set和Map之間的聯繫與區別進行介紹,以及這三者衍生出來的問題進行介紹(若無特地說明,jdk版本皆爲1.8): L