原创 Java面試題之基本數據類型

聲明 題目來源於【每日一題】Java 基本數據類型基礎面試題 本文目的在於寫下自己的理解和補充,若沒有更好的理解會寫明原答案,歡迎大家補充和指正 1.如下賦值語句有什麼問題嗎? short i = 1; i = i +

原创 LeetCode 41. 缺失的第一個正數 詳解

自考研以來,第一次再次更新博客,接下來的時間會不斷寫新的文章。這道題目也是字節跳動的面試題,下面分享我的解題思路。 題目 內容:給定一個未排序的整數數組,找出其中沒有出現的最小的正整數。 要求:你的算法的時間複雜度應爲O(n),

原创 Linux基礎編程(二) 常用指令大全

文章目錄系統信息關機 (系統的關機、重啓以及登出 )文件和目錄文件搜索掛載一個文件系統磁盤空間用戶和羣組文件的權限文件的特殊屬性打包和壓縮文件RPM 包 - (Fedora, Redhat及類似系統)YUM 軟件包升級器 - (F

原创 Java 線程異常處理---UncaughtExceptionHandler

介紹 在多線程中,主線程是無法捕獲到子線程的異常的。除非所有的異常能夠在run()中被捕獲,否則將會把異常棧信息輸出到終端而中斷該線程。所以Thread提供了UncaughtExceptionHandler來供我們在線程外部進行操

原创 Thread源碼閱讀---Java14

文章目錄1.介紹2.提供的常量3.本地方法3.1 私有的本地方法3.2 公有的本地方法4.基本屬性及方法4.1 線程ID4.2 線程名稱4.3 線程狀態4.4 守護進程4.5 線程優先級4.5 線程組5.初始化線程5.1 靜態塊5

原创 理解Java序列化

序列化的理解 序列化:把對象轉換爲字節序列的過程稱爲對象的序列化。 反序列化:把字節序列恢復爲對象的過程稱爲對象的反序列化。 序列化目的:爲了讓不同JVM之間共享實例對象 作用:保存類對象某個時刻下的狀態 (快照) ,讓其可以多次複用

原创 GC的回收算法

文章目錄基本概念根對象(Roots)標記Mark-Sweep算法(標記-清除 算法)Copying算法(複製算法)Mark-Compact(標記-整理算法)Generational Collection(分代收集算法)新生代老年代

原创 Java的幾種引用類型

概述 Java裏存在四種類型的引用:強引用、軟引用、弱引用和虛引用。 這四種引用類型,可以讓我們決定對象的生命週期,利於JVM的GC回收,進而對內存溢出和內存泄漏可以有更好的解決途徑。 Java的幾種引用類型與可達性 引用類

原创 深入理解Java虛擬機(二) --- JVM內存管理

文章目錄運行時的數據區域一.程序計數器二.Java虛擬機棧局部變量表:操作數棧三.本地方法棧四.Java堆五.方法區(非堆)運行時常量池直接內存 運行時的數據區域 一.程序計數器 目的:作爲當前線程所執行字節碼的行號指示器 原理

原创 深入理解字符串的底層存儲方式

文章目錄引言Case1:字符串常量Case2:字符串對象String.intern() 引言 以下討論的,包括圖示,都是基於JDK1.8以上。因爲JDK1.7的常量池在方法區,而不是在Java堆中 先了解字符串常量在內存的表示方式,

原创 深入理解Java虛擬機(一)--- Java 與 JVM

文章目錄Java 特性JVM 特性Java語言與JVM的關係Java技術體系四種體系平臺 Java 特性 1.結構嚴謹,面向對象編程語言 2.跨平臺性 3.較安全的內存管理和訪問機制(避免了絕大部分內存泄漏和指針越界的問題) 4.實

原创 # Linux基礎編程(三) Vim常用操作

文章目錄Vim的四種模式文件操作移動操作行號操作插入操作刪除操作複製粘貼剪切操作搜索操作替換更改操作其他操作Vim配置文件 Vim的四種模式 正常模式:可以使用快捷鍵命令,或按:輸入命令行。在其他模式下,按即可回到正常模式 插入模式

原创 十進制數與N進制的轉換

文章目錄題目代碼(c語言)解析小結 題目 1)問題描述:將從鍵盤輸入的十進制數轉換爲N(如二進制,八進制,十六進制)進制數據。 2)要求:利用順序棧實現數制轉換問題 代碼(c語言) #include<stdio.h> #inclu

原创 Linux基礎編程(一) 文件

文章目錄文件與顏色7種文件類型根目錄下常見目錄文件屬性 文件與顏色 顏色 文件類型 綠色 可執行文件 紅色 壓縮文件或者包文件 藍色 目錄 白色 普通文件,如文本文件,配置文件,源碼文件等 淺藍色 符號鏈

原创 Linux Shell快捷鍵

文章目錄歷史記錄操作移動光標刪除操作替換操作其他操作 歷史記錄操作 鍵位 效果 Ctrl+p 上一條命令行歷史記錄,等同於Ctrl+← Ctrl+n 下一條命令行歷史記錄,等同於Ctrl+→ !! 執行最後一條