原创 JVM虛擬機-Class文件之魔數

一、魔數之定義 魔數這個詞在不同領域代表不同的含義。在計算機領域,魔數有兩個含義,一指用來判斷文件類型的魔數;二指程序代碼中的魔數,也稱魔法值。 大多數情況下,我們都是通過擴展名來識別一個文件的類型的,比如我們看到一個.txt類型的文件我

原创 JVM虛擬機-Class文件之訪問標誌

一、訪問標誌的概念 常量池結束之後,緊接着的兩個字節代表訪問標誌,這個標誌用於識別一些類或者接口層次的訪問信息,包括:這個Class是接口還是類;是否被定義爲public類型;是否定義爲abstract類型;如果是類的話,是否被聲明爲fi

原创 Java虛擬機-逃逸分析(Escape Analysis)和棧上分配

我們都知道Java中的對象默認都是分配到堆上,在調用棧中,只保存了對象的指針。當對象不再使用後,需要依靠GC來遍歷引用樹並回收內存。如果堆中對象數量太多,回收對象還有整理內存,都會會帶來時間上的消耗,GC表示壓力很大,然後影響性能。所以

原创 Java虛擬機-內存分配策略

Java技術體系中的自動內存管理可以歸結爲自動化的解決了兩個問題:給對象分配內存和回收分配給對象的內存。前面講的是內存回收,這章講如何爲對象分配內存。 一、內存分配策略概述 對象的內存分分配主要是指堆上分配(也可棧上分配),對象主要分配

原创 Java虛擬機-垃圾回收器

一、如何查看垃圾回收器 查看JVM的默認垃圾回收器,可以看出JDK8中UseParallelGC即Parallel Scavenge+Serial Old java -XX:+PrintCommandLineFlags -versio

原创 Java虛擬機-垃圾回收簡介

一、如何判定對象爲垃圾對象 -verbose:gc  打印垃圾回收簡單信息參數 -xx:+PringDCDetail 打印垃圾回收的詳細信息 引用計數法 引用計數算法很簡單,它實際上是通過在對象頭中分配一個空間來保存該對象被引用的次數

原创 【實戰】Spring生成beanName衝突的解決之道:附源碼分析

一、問題描述 最近公司項目打算模塊化,其實一個原因也是爲了能夠整合公司多個業務的代碼,比如一個資源xxx,兩個業務中都有對這個資源的管理,雖然是一個資源,但是是完全不同的定義、完全不同的表、不同的處理邏輯。所以打算把類名弄成一樣的,但是包

原创 使用easyexcel導出時行高不自動調整的解決

easyexcel在使用模板填充的方式時,有些文字比較長,需要設置自動換行顯示,文檔中並沒有在此處說明如何設置,翻到前面的寫excel中有設置自定義樣式的方式,照着搬過來即可: // 內容的策略 WriteCellStyle conte

原创 JDK源碼(17)-Compiler

一、概述 Compiler這個類被用於支持Java到本地代碼編譯器和相關服務。在設計上,這個類啥也不做,他充當JIT編譯器實現的佔位符。 放JVM虛擬機首次啓動時,他確定系統屬性java.compiler是否存在(系統屬性可以通過Syst

原创 IDEA中svn無法提交的問題解決方案Waring:not all local changes may be shown due:ClassCastException

在idea中使用svn提交代碼,兩次出現了warning的紅色警告,然後找不到修改完畢需要提交的代碼,現記錄一下。問題描述: 解決方案: 初步斷定是maven中配置的jdk版本問題,將idea中的java環境改爲我自己安裝的,默認用的是

原创 JDK源碼(19)-Package

一、概述 Package對象包含有關Java包的實現和規範的版本信息。 該版本信息由加載該類的ClassLoader實例檢索並提供。 通常,它存儲在與類分發的清單中。構成包的一組類可以實現特定的規範。 在每個ClassLoader實例中,

原创 大屏監控系統實戰(2)-後臺工程搭建

一、概述 項目的後端技術棧爲Java、SpringBoot、MybatisPlus、爬蟲Jsoup、HttpClient、Maven項目構建。 各軟件版本分別如下: 軟件及環境 版本號 操作系統 Windows10&MacBook Pro

原创 螞蟻金服開源地理可視化引擎 L7 2.0 正式版來了,讓地圖動起來

github地址:https://github.com/antvis/L7 中文文檔地址:https://github.com/antvis/L7/blob/master/README.zh-CN.md L7 地理空間數據可視分析引擎 L

原创 爬蟲江湖的恩怨情仇

一、爬蟲的發展歷史 網絡爬蟲源於上個世紀90年代的Google等搜索引擎,爬蟲用於抓取互聯網上的Web頁面,再由搜索引擎進行索引和存儲,從而爲我們提供檢索服務。網絡爬蟲位於搜索引擎的後臺,並未直接與用戶接觸,屬於幕後技術,因此在較長的時間

原创 Alibaba Cloud Toolkit一鍵上雲神器

在中小公司中,有一個痛點,項目開發完畢需要部署到服務器上,傳統的做法比較麻煩,而且修改完代碼後又要重新打包上傳,做這些重複性的工作需要消耗大量的時間,而部署自動化的CI工具,則成本具大,需要很高的服務器配置,會讓老闆多花錢,而且,本來公司