一、為什么會有粘包/拆包問題 1.1 根本原因:TCP 是面向流的協(xié)議 TCP 是一個面向字節(jié)流(byte-stream)的協(xié)議,不是面向消息的協(xié)議。它沒有消息邊界的概念,只...
一、為什么會有粘包/拆包問題 1.1 根本原因:TCP 是面向流的協(xié)議 TCP 是一個面向字節(jié)流(byte-stream)的協(xié)議,不是面向消息的協(xié)議。它沒有消息邊界的概念,只...
狼哥 還有堆外內(nèi)存溢出
JVM 發(fā)生 OOM 的 8 種原因、及解決辦法擼Java的同學(xué),多多少少都會碰到內(nèi)存溢出(OOM)的場景,但是造成OOM原因卻不止一個。 堆內(nèi)存不足 這種場景最為常見,報錯信息: 原因 1、代碼中可能存在大對象分配2、可...
****你需要知道的****之前我們介紹了排他鎖,其實innodb下的記錄鎖(也叫行鎖),間隙鎖,next-key鎖統(tǒng)統(tǒng)屬于排他鎖。 ****行鎖****記錄鎖其實很好理解,...
共享鎖這塊講的并不清晰,并沒有說明在哪個地方可以支持多線程訪問
java并發(fā)編程之AbstractQueuedSynchronizer引言 AbstractQueuedSynchronizer,隊列同步器,簡稱AQS,它是java并發(fā)用來構(gòu)建鎖或者其他同步組件的基礎(chǔ)框架。 一般使用AQS的主要方式是繼承,子...
1.hashCode介紹 hashCode() 的作用是獲取哈希碼,也稱為散列碼;它實際上是返回一個int整數(shù)。這個散列碼的作用是確定該對象在散列表中的索引位置,如果有看我的...
原創(chuàng)文章&經(jīng)驗總結(jié)&從校招到A廠一路陽光一路滄桑 詳情請戳www.codercc.com 1.Condition簡介 任何一個java對象都天然繼承于Object類,在線程間...
String s1 = new StringBuilder().append("StringTest").toString();
or
String s1 = new StringBuilder("StringTest").toString();
System.out.println(s1.intern() == s1) 輸出的效果是一樣的,都是false,因為在編譯期常量池就已經(jīng)存在了"StringTest",String s1 = new StringBuilder().append("String").append("Test").toString();
System.out.println(s1.intern() == s1)這個在編譯期是String 和 Test存在堆中,s1.intern()會在常量池加載"StringTest"并返回s1 的引用,所以比較結(jié)果為true
淺談Java String.intern()簡書 占小狼轉(zhuǎn)載請注明原創(chuàng)出處,謝謝! String.intern()原理 String.intern()是一個Native方法,底層調(diào)用C++的 StringTable::...
就是buddy算法呀
深入淺出Netty內(nèi)存管理 PoolChunk多年之前,從C內(nèi)存的手動管理上升到j(luò)ava的自動GC,是歷史的巨大進(jìn)步。然而多年之后,netty的內(nèi)存實現(xiàn)又曲線的回到了手動管理模式,正印證了馬克思哲學(xué)觀:社會總是在螺旋式前...
netty中事件的傳播主要包含inBound事件和outBound事件 首先我們看下ChannelInboundHandler接口,主要包含以下方法,基本都是用和連接事件相關(guān)...