原创 Linux下的文件信息

Linux下一切皆文件,對文件信息的瞭解是非常重要的,如下代碼所示的文件信息:  ll drwxr-xr-x 6 root root 4096 0ct 20 2017 apt -rw-r--r-- 1 root root 211 0ct

原创 讀《深入理解Java虛擬機》有感

購買連接:https://item.jd.com/12607299.html?dist=jd 對於一個學習Java並且不只想會增刪改查的程序員來說,《深入理解Java虛擬機》就是一本聖書,一本必讀的書。爲什麼我會這樣說?首先,Ja

原创 Reactor多線程模型

之前講了Reactor單線程模型的優缺點以及實現,接下來看看Reactor模型的優化和改進 這裏有兩步改進,先貼出第一次改進的圖(借用),這兩張圖是一個意思,提出一個線程來接收請求以及讀寫,然後由線程池來處理具體的業務,具體的代碼就不貼的

原创 volatile的實現原理

volatile volatile和synchronized關鍵字在併發編程中扮演着非常重要的角色,volatile可以說是輕量級的synchronized,它在多處理器開發中保證了共享變量的可見性(一個線程修改某個變量的值,對於另一個線

原创 IO的幾種模型

五種網絡IO模型 對於一個應用程序即一個操作系統進程來說,它既有內核空間(與其他進程共享),也有用戶空間(進程私有),它們都是處於虛擬地址空間中。用戶進程是無法訪問內核空間的,它只能訪問用戶空間,通過用戶空間去內核空間複製數據,然後進行

原创 虛擬機中的類加載機制

前言 虛擬機把描述類的數據從Class文件加載到內存,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。 類加載步驟 class文件通過類加載器加入到內存區域,類加載的過程是很複雜的

原创 查看jdk動態代理類的內容

如果要看動態代理請轉移陣地:https://blog.csdn.net/qq_41861259/article/details/103096437 如果要看動態代理請轉移陣地:https://blog.csdn.net/qq_418612

原创 jdk中的動態代理源碼分析

前言 圖片來自https://www.cnblogs.com/maohuidong/p/7992894.html 代理是一種常用的設計模式,其目的就是爲其他對象提供一個代理以控制對這個對象的訪問。爲了保持行爲的一致性,代理類和委託類通常會

原创 java反射機制源碼分析

前言 我們先對前幾天的學習進行總結,前幾天我們主要結合源碼學習了java中的集合,重點分析了HashMap散列桶的實現,還讓大夥兒去看紅黑樹。今天就來學習java反射相關的東西,反射可是java一個很重要的高級特性,很多框架都是基於反射實

原创 Java虛擬機常用參數

前言 再筆試以及日常的開發工作中,我們多少會用到一些問題,而解決問題的根本就是尋找問題的根源,在這裏我將日常使用的性能監測工具以及虛擬機用到的調優參數羅列出來,希望對大家有所幫助。 性能監控常用工具 javap:將class文件返彙編爲我

原创 leetcode51

n 皇后問題研究的是如何將 n 個皇后放置在 n×n 的棋盤上,並且使皇后彼此之間不能相互攻擊。 上圖爲 8 皇后問題的一種解法。 給定一個整數 n,返回所有不同的 n 皇后問題的解決方案。 每一種解法包含一個明確的 n 皇后問題的棋子放

原创 紅黑樹

前面 終於,經過幾天的鑽研紅黑樹的相關只是後,我對紅黑樹有了基本的掌握。有句話說的是“如果能把學到的東西對別人也能講明白,那就是真的學會了”。因此,爲了能和大家一起學習,爲了知識的鞏固,我想把學到的知識完整的講述一遍。最後希望通過這個分享

原创 Reactor單線程模型

看這篇博客建議先看下netty(一)中的幾種網絡IO模型 Netty是典型的Reactor模型結構,Reactor模式也叫反應器模式,大多數IO相關組件如Netty、Redis在使用的IO模式。接下來我們看下原始多線程IO模型實現,以及單

原创 java集合

  前面 集合的重要性不言而喻,我們在日常的開發中總離不開他們,面試中也是重點,但是我們這裏只分析非併發包中的集合。 概述 HashMap,TreeMap都有紅黑樹實現的,如果小夥伴對紅黑樹有興趣,請移步:https://blog.csd