Java代碼的執(zhí)行分類 我們都知道開(kāi)發(fā)語(yǔ)言整體分為兩類,一類是編譯型語(yǔ)言,一類是解釋型語(yǔ)言。那么你知道二者有何區(qū)別嗎?編譯器和解釋器又有什么區(qū)別?這是為了兼顧啟動(dòng)效率和運(yùn)行效...
前言 Java 在 JDK 1.4 引入了 ByteBuffer 等 NIO 相關(guān)的類,使得 Java 程序員可以拋棄基于 Stream ,從而使用基于 Block 的方式...
使用實(shí)例 監(jiān)聽(tīng)器: 帶有事務(wù)的業(yè)務(wù)代碼: 源碼: TransactionalEventListenerFactory: 作用: 這個(gè)類用來(lái)創(chuàng)建ApplicationListe...
前言 在上篇文章通過(guò)實(shí)戰(zhàn)走近Java Agent探針技術(shù)[https://juejin.cn/post/7025410644463583239]中,在進(jìn)行熱替換的時(shí)候,我們使...
一、前言 所謂Java Agent,其功能都是基于java.lang.instrument中的類去完成。Instrument提供了允許Java編程語(yǔ)言代理檢測(cè)JVM上運(yùn)行的程...
一. 前提 很早之前就了解到目前主流的APM開(kāi)源框架如Pinpoint、SkyWalking等等都是通過(guò)java.lang.instrument包提供的字節(jié)碼增強(qiáng)功能來(lái)實(shí)現(xiàn)的...
代理模式 生活處處可見(jiàn)代理,我們經(jīng)常會(huì)碰到各種代理,比如我們常見(jiàn)的微商其實(shí)就是一種代理商,他們直接負(fù)責(zé)和客戶交互,但是其實(shí)真正賣(mài)的東西還是在廠家那里,這里微商就是廠家的一種代...
一、準(zhǔn)備工作 1.1 Wireshark 下載安裝(MAC版) Wireshark(前稱Ethereal)是一個(gè)網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是截取網(wǎng)絡(luò)封包,并盡可...
何為延遲隊(duì)列 隊(duì)列,即先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),就和食堂打飯一樣,排在最前面的先打飯,打完飯就走;延遲隊(duì)列即隊(duì)列中的元素相比以往多了一個(gè)屬性特征:延遲。延遲隊(duì)列中的每個(gè)元素都指定了...
前言 guava-retrying github地址:https://github.com/rholder/guava-retrying[https://github.com...
標(biāo)準(zhǔn)Java庫(kù)沒(méi)有提供足夠的方法來(lái)操作其核心類,Apache Commons Lang提供了這些額外的方法。Apache Commons Lang為java提供了大量的幫助工...
前言 提到緩存,可能第一時(shí)間想到的就是Redis、Memcache等,這些都屬于是分布式緩存,而在某些場(chǎng)景下我們可能并不需要分布式緩存,畢竟需要多引入維護(hù)一個(gè)中間件,那么在數(shù)...
標(biāo)準(zhǔn)Java庫(kù)沒(méi)有提供足夠的方法來(lái)操作其核心類,Apache Commons Lang提供了這些額外的方法。Apache Commons Lang為java提供了大量的幫助工...
大家應(yīng)該都經(jīng)歷過(guò)為了學(xué)習(xí)Hibernate、Spring這樣的框架,需要引用大量Jar包而忙得焦頭爛額的經(jīng)歷吧。在Java中管理Jar包確實(shí)是一件麻煩事情。而且有時(shí)候就算你電...
什么是方法內(nèi)聯(lián) 方法內(nèi)聯(lián),是指JVM在運(yùn)行時(shí)將調(diào)用次數(shù)達(dá)到一定閾值的方法調(diào)用替換為方法體本身,從而消除調(diào)用成本,并為接下來(lái)進(jìn)一步的代碼性能優(yōu)化提供基礎(chǔ),是JVM的一個(gè)重要優(yōu)化...