標簽:字節碼

Java

為什么要將局部變量的作用域最小化?

yanxinchi 發布于 2019-10-02

嗨,本篇文章來說說 Java 的一個小細節:為什么要將局部變量的作用域最小化? 明人不說暗話啊。這篇文章的靈感來源于《Effective Java》,這本書我買了有好長好長一段時間了,書頁都已經泛黃,烙下了時間的痕跡,但我仍然還沒有把這本書讀完。說來慚愧啊。 為什么呢?總感覺這本...

閱讀(6)評論(0)贊 (0)

Java

JMM – 玩轉 happens-before

7

hanze 發布于 2019-10-01

要玩轉 happens-before 我們需要先簡單介紹下幾個基本概念 高速緩存 隨著 CPU 的快速發展它的計算速度和內存的讀寫速度差距越來越大,如果還是去讀寫內存的話那么 CPU 的處理速度就會收到內存讀寫速度的限制,為了彌補這種差距,為了保證 CPU 的快速處理就出現了高速...

閱讀(6)評論(0)贊 (0)

Java

【Java雜貨鋪】JVM#虛擬機加載機制

3

dulong 發布于 2019-10-01

代碼編譯的結果從本地機器碼變為字節碼,是儲存格式發展的一小步,卻是編程語言發展的一大步——《深入理解Java虛擬機》 虛擬機把描述類的數據從Class文件加載到內存,并對數據進行 校驗、轉化解析和初始化 ,最終形成了可以被虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。 ...

閱讀(6)評論(0)贊 (0)

編程技術

如何定位微服務異常之鏈路跟蹤APM工具?

17

xirruiqiang 發布于 2019-09-30

微服務框架落地后,分布式部署架構帶來的問題就會迅速凸顯出來。尤其線上出現問題,不知道如何排查,**問題出現在哪個服務?如何快速定位問題?**如何跟蹤業務調用鏈路?**如何分析解決業務瓶頸?**今天老顧來跟小伙伴們看看如何解決以上問題。 什么是鏈路追蹤 微服務架構是通過業務來劃分服...

閱讀(12)評論(0)贊 (0)

編程技術

玩了微服務這么久,你不會連RPC都不清楚吧?

4

hanze 發布于 2019-09-30

首先了解什么叫RPC,為什么要RPC,RPC是指遠程過程調用,也就是說兩臺服務器A,B,一個應用部署在A服務器上,想要調用B服務器上應用提供的函數/方法,由于不在一個內存空間,不能直接調用,需要通過網絡來表達調用的語義和傳達調用的數據。 RPC 功能目標 RPC 的主要功能目標是...

閱讀(15)評論(0)贊 (0)

Java

# 作為程序開發,你所需要知道的編譯型與解釋型、動態語言與靜態語言、強類型語言與弱類型語言的概念…

1

puefu.he 發布于 2019-09-30

在各式各樣的開發過程當中,我相信各位開發小伙伴在開發過程中并沒有太關注什么是解釋性語言和編譯性語言,什么又是動態語言和靜態語言?什么是強類型語言和弱類型語言呢? 這里小棧君為大家解釋一下 file 1. 解釋型語言和編譯型語言 解釋型語言即是源代碼先翻譯成中間代碼,然后由解析器對...

閱讀(9)評論(0)贊 (0)

Java

動態代理

17

yeseng 發布于 2019-09-30

代理模式 代理模式(Proxy)就是為一個對象創建一個替身,用來控制對當前對象的訪問,目的就是為了在不直接操作對象的前提下對對象進行訪問。 為什么要用代理模式? 中介隔離作用:在某些情況下,一個客戶類不想或者不能直接引用一個委托對象,而代理類對象可以在客戶類和委托對象之間起到中介...

閱讀(9)評論(0)贊 (0)

Java

【JVM 知識體系框架總結】

19

wenming.gapo 發布于 2019-09-30

JVM 內存分布 線程共享數據區: 方法區->類信息,靜態變量 堆->數組對象 線程隔離區 虛擬機棧-> 方法 本地方法棧->本地方法庫 native 堆、程序計數器 JVM 運行數據 程序計數器 線程隔離 ,比較小的內存空間,當前線程所執行的字節碼的行號...

閱讀(9)評論(0)贊 (0)

Java

從一道面試題深入了解java虛擬機內存結構

3

yanxinchi 發布于 2019-09-30

記得剛大學畢業時,為了應付面試,瘋狂的在網上刷JAVA的面試題,很多都靠死記硬背。其中有道面試題,給我的印象非常之深刻,有個大廠的面試官,順著這道題目,一直往下問,問到java虛擬機的知識,最后把我給問住了。 我當時的表情是這樣的: 后來我有機會面試別人了,也按照他的思路出面試題...

閱讀(10)評論(0)贊 (0)

Java

JVM圖文系列–一文學會JVM性能優化!

22

Harries 發布于 2019-09-30

公眾號ID:Java-jiagou 碼字不易,加個雞腿吧! 9 實戰性能優化 9.1 重新認知JVM 之前 我們畫過一張圖,是從Class文件到類裝載器,再到運行時數據區的過程,現在咱們把這張圖不妨豐富完善一下,展示了JVM的大體物理結構圖。 執行引擎:用于執行JVM字節碼指令 ...

閱讀(14)評論(0)贊 (0)

Java

coding騷操作-lombok

3

小丁 發布于 2019-09-29

“麻煩”的代碼 很多java程序員在寫代碼時,經常抱怨java語言寫起來的臃腫與繁復,在大家都依照前人制定的代碼規范進行編寫的今天,大家在這些條條框框的限制下,都需要編寫很多“麻煩”的代碼。比如下面的代碼: /** * 員工類 **/public class Employee {...

閱讀(14)評論(0)贊 (0)

Java

java并發synchronized的原理和應用

5

likai 發布于 2019-09-29

java并發編程這個領域中synchronized關鍵字一直都是元老級的角色,在java早期版本中,synchronized屬于重量級鎖,效率低下,因為監視器鎖(monitor)是依賴于底層的操作系統的Mutex Lock來實現的,java的線程是映射到操作系統的原生線程之上的。...

閱讀(10)評論(0)贊 (0)

Java

品Spring:注解之王@Configuration和它的一眾“小弟們”

8

puefu.he 發布于 2019-09-29

其實對Spring的了解達到一定程度后,你就會發現,無論是使用Spring框架開發的應用,還是Spring框架本身的開發都是圍繞著 注解 構建起來的。 空口無憑,那就說個最普通的例子吧。 在Spring中要啟用一項XXX功能,標準做法就是用@EnableXXX這種“啟用”類型的注...

閱讀(13)評論(0)贊 (0)

Java

Apache Commons BCEL 6.4.0 發布,JAVA 字節碼操作庫

hellas 發布于 2019-09-29

Apache Commons BCEL 6.4.0 發布了,字節碼操作庫 Apache Commons BCEL 旨在為用戶提供一種方便的方法來分析、創建和操作(二進制)Java 類文件(以 .class 結尾的文件)。BCEL 包含一個名為 JustIce 的字節碼驗...

閱讀(10)評論(0)贊 (0)

編程技術

APK瘦身探索

12

dulong 發布于 2019-09-28

我平常在項目開發中,剛開始的APK包可能不太大,但是隨著時間的變遷,項目的迭代,慢慢的就回發現打出來的APK包越來越大,包每大一點可能用戶下載的欲望就小一些,所以在平常的項目迭代過程中,對APK瘦身的工作也要持續進行,這篇文章就會記錄一下從幾個方面對apk進行瘦身 APK構成初探...

閱讀(17)評論(0)贊 (0)

Java

Kotlin與java對比

yanxinchi 發布于 2019-09-28

最近因為工作關系,需要迭代維護公司現有kotlin客服聊天的項目。之前一直使用java,對于kotlin還是比較陌生的。 使用kotlin一段時間后,感觸還是有點。kotlin比java真是太簡潔了,一段代碼,剛開始可能按java語法習慣編寫,然后根據ide的提示,一步一步優化,...

閱讀(12)評論(0)贊 (0)

Java

使用ASM完成編譯時插樁

6

劉莉莉 發布于 2019-09-28

使用ASM完成編譯時插樁 ASM,是一個跟AspectJ功能類似比AspectJ更強大的編譯時插樁框架。功能雖強大,不過用起來比AspectJ麻煩不少。 其實這個框架在Java中用的很多,對于Android開發者來說如果之前沒有開發過Java就有點陌生了 官網 https://a...

閱讀(16)評論(0)贊 (0)

2013平特肖公式