JVM(三)-java虛擬機器類載入機制
概述: 上一篇文章,介紹了java虛擬機器的執行時區域,Java虛擬機器根據不同的分工,把記憶體劃分為各個不同的區域。在java程式中,最小的執行單元一般都是建立一個物件,然後呼叫物件的某個 方法。通過上一篇文章我們知道呼叫某個方法是通過虛擬機器棧的棧幀並通過執行引擎來實現的,但是實際上一個方法的執行前提
概述: 上一篇文章,介紹了java虛擬機器的執行時區域,Java虛擬機器根據不同的分工,把記憶體劃分為各個不同的區域。在java程式中,最小的執行單元一般都是建立一個物件,然後呼叫物件的某個 方法。通過上一篇文章我們知道呼叫某個方法是通過虛擬機器棧的棧幀並通過執行引擎來實現的,但是實際上一個方法的執行前提
# 伺服器重新部署踩坑記 ## Intro 之前的伺服器是 Ubuntu 18.04 ,上週週末想升級一下伺服器系統,從 18.04 升級到 20.04,結果升級升掛了... 後來 SSH 始終連不上,索性刪除重新部署了一個,新部署了一個 Centos 8 的系統,新部署之後很多東西需要配置,折騰了好幾天
前言 最近檢視有關框架原始碼,發現AsyncLocal這玩意水還挺深,於是花了一點功夫去研究,同時對比ThreadLocal說明二者區別以及在何時場景下使用AsyncLocal或ThreadLocal。ThreadLocal相信很多童鞋用過,但AsyncLocal具體使用包括我在內的一大部分童鞋應該完全沒怎麼
### 1. 概要 2018年Bwar釋出了[《C++反射機制:可變引數模板實現C++反射》](https://www.cnblogs.com/bwar/p/9304261.html),文章非常實用,Bwar也見過好幾個看了那篇文章後以同樣方法實現反射的專案,也見過不少從我的文章抄過去連程式碼風格類名函式
# kubelet CPU 使用率過高問題排查 ## 問題背景 客戶的k8s叢集環境,發現所有的worker節點的kubelet程序的CPU使用率長時間佔用過高,通過pidstat可以看到CPU使用率高達100%。針對此問題對kubelet程序的異常進行問題排查。 [ 提到過會實現一個簡易版的 IoC 和 AOP,今天它終於來了。。。相信對於使用 Java 開發語言的朋友們都使用過或者聽說過 Spring 這個開發框架,絕大部分的企業級開發中都離不開它,通過
Android systrace是分析效能問題最稱手的工具之一,可以提供豐富的手機執行資訊。 經過摸索,我們可以挖掘出許多技巧,分析問題更加得心應手。 第一篇文章,我先將systrace的官方文件引用一番,畢竟分析systrace的基本操作,是介紹後續技巧的鋪墊。 希望我下面對官方文件的體會,能減少翻譯腔文件
最近精讀Netty原始碼,讀到NioEventLoop部分的時候,發現對Java執行緒&執行緒池有些概念還有困惑, 所以深入總結一下 ### 執行緒建立 Java執行緒建立主要有三種方式:繼承Thread類、實現Runable介面、實現Callable介面 只有通過呼叫``Thread.star
## 寫在前邊 JVM調優更多是針對不同應用型別及目標進行的調整,往往有很大的實驗成份,通過實驗來針對當前應用設定相對合適的引數,提高應用程式的效能與穩定性 最近在複習JVM,Parallel Scavenage GC收集器是一個新生代、複製演算法、並行多執行緒收集器,主要目標是控制吞吐量與GC的停頓時間。
 --- 一杯茶一包煙,一個Bug改一天!!相信很多“愛碼仕”都曾經對著電腦幾個小時就為改一個bug,最後是在美團小
> 本文摘自深入理解 Java 虛擬機器第三版 ## 概述 Java 虛擬機器在執行 Java 程式的過程中會把它所管理的記憶體劃分為若干個不同的資料區域,這些區域有各自的用途,以及建立和銷燬的時間,有的區域隨著虛擬機器程序的啟動而一直存在,有的區域則是依賴使用者執行緒的啟動和結束而建立和銷燬。因
## 類載入機制 虛擬機器把描述類的資料從Class檔案載入到記憶體,並對資料進行校驗、轉換解析和初始化,最終形成可以被虛擬機器直接使用的Java型別,這就是虛擬機器的類載入機制。 ## 類載入的時機 * 遇到new(比如new Student())、getstatic和putstatic(讀取或設定
## 1.Cobaltstrike 安裝與簡介 --- ### 一、簡介 --- ``` Cobalt Strike是一款美國Red Team開發的滲透測試神器,常被業界人內稱為CS.自去年起, Cobaltstrike升級到3.0版本,脫離了MSF框架後在國內安全圈大火,成為了滲透測試中不可缺少的利器。 其
##前言 套接字(Sockets)是雙向通訊通道的端點。 套接字可以在一個程序內,在同一機器上的程序之間,或者在不同主機的程序之間進行通訊,主機可以是任何一臺有連線網際網路的機器。 套接字可以通過多種不同的通道型別實現:Unix域套接字,TCP,UDP等。 套接字型檔提供了處理公共傳輸的特定類,以及一個用於處
# Mybatis筆記整理 ## 所需要的基礎知識 > JDBC > > Mysql > > Java基礎 > > Maven > > Junit 框架:是有配置檔案的。最好的方式:**看官網文件** ## 1、簡介 ### 1.1、什麼是MyBatis 簡介 什麼是 MyBatis?