我們知道,很多maven官方插件都支持skip參數(shù)盲憎,命令行指定skip=true即可跳過此插件的執(zhí)行戒劫,非常方便半夷。但是很多第三方的插件根本就不支持skip參數(shù),無法通過命令行傳...
我們知道,很多maven官方插件都支持skip參數(shù)盲憎,命令行指定skip=true即可跳過此插件的執(zhí)行戒劫,非常方便半夷。但是很多第三方的插件根本就不支持skip參數(shù),無法通過命令行傳...
很多文章搞長篇大論大講特講人類為了讓計(jì)算機(jī)能夠準(zhǔn)確表示各種字符的演化歷史谱仪,這完全是沒有必要的,幾句話就能說明白否彩。 "字符集"和"字符集編碼"是兩回事 字符集(Charset ...
用JavaFX寫GUI的朋友肯定少不了SceneBuilder這個(gè)神器,拖拖拽拽就能完成窗口布局列荔。但是對于Mac M1的用戶來說, SceneBuilder 并沒有提供M1版...
本篇我們專注invokevirtual這一條指令敬尺,先通過簡單粗暴的方式實(shí)現(xiàn)指令的功能枚尼,然后探究如何通過著名的虛方法表(Virtual Method Table)來進(jìn)行一些優(yōu)化...
我們都知道在Java中final字段都是要在定義時(shí)完成初始化工作的,否則通不過編譯砂吞。但是有一處例外署恍,那就是對于對象的字段來說final字段可以"延遲"到構(gòu)造方法,或者stat...
首先需要明確幾個(gè)問題蜻直。 沒有Native方法JVM什么也做不了 可能很多人認(rèn)為native方法是Java里的禁區(qū)盯质,使用本地方法會犧牲可移植性,而且還會有額外開銷概而,貌似幾乎沒有...
一直以來又長又臭的調(diào)用鏈簡直就是Java語言的標(biāo)志性特色呼巷,方法調(diào)用可謂是Java世界里表達(dá)一切邏輯的基石。現(xiàn)在我們終于具備了實(shí)現(xiàn)它的基礎(chǔ)赎瑰。 JVM中的5條方法調(diào)用指令 在JV...
在上一篇中我們實(shí)現(xiàn)了一個(gè)能跑的解釋器王悍,支持了一些基本的棧操作指令。現(xiàn)在我們就可以開始實(shí)現(xiàn)"有點(diǎn)用"的數(shù)學(xué)運(yùn)算和條件判斷了餐曼。 github: https://github.co...
在上一篇中我們已經(jīng)完成了class文件的解析工作压储,雖然沒有解析所有的屬性,但是已經(jīng)足夠支持一些基本的算法題Java代碼編譯生成的class文件了源譬。有了這一步集惋,日后如果遇到新的...
正確解析class文件是萬里長征第一步。本篇我們會全程使用golang完成class文件的解析工作瓶佳。 數(shù)據(jù)類型 JVM的class文件完全是二進(jìn)制文件芋膘,最小單位是字節(jié),也有數(shù)...
學(xué)習(xí)JVM最好的方法霸饲,就是實(shí)現(xiàn)它为朋,沒有之一。 對JVM感興趣的朋友可能會去主動尋找講解JVM的書厚脉,比如《深入理解JVM》习寸、《Java虛擬機(jī)規(guī)范》、《虛擬機(jī)的設(shè)計(jì)與實(shí)現(xiàn)》傻工,但是...
隨著類似Vue霞溪、Angular這類通過JS將web頁面"畫"出來的前端框架的流行,爬取網(wǎng)頁不再像以前那樣隨便發(fā)個(gè)GET請求中捆,解析HTML就能搞定了鸯匹。對于使用這類框架制作的SP...
在Java應(yīng)用中,我們往往會使用spring-kafka組件簡單的設(shè)置一下group_id, topic就開始消費(fèi)消息了泄伪,其實(shí)這樣會埋下巨大的安全隱患殴蓬,即當(dāng)消費(fèi)速度過慢時(shí)有可...
常見但是錯(cuò)誤的實(shí)現(xiàn) 在業(yè)務(wù)系統(tǒng)中防重名是一個(gè)非常普遍的需求,例如用戶注冊時(shí)不允許用戶名重復(fù)蟋滴、已登錄用戶不可以在自己的賬號范圍內(nèi)創(chuàng)建同名的某種實(shí)體等染厅。很多人在實(shí)現(xiàn)的時(shí)候都是簡單...
Go1.14即將于2020年2月底發(fā)布痘绎,這個(gè)版本有一些值得注意的性能改進(jìn),如下: defer 跟正常的函數(shù)調(diào)用相比肖粮,defer幾乎已經(jīng)沒有額外的開銷了孤页。你可以在對性能極度敏感...
在討論所有的錯(cuò)誤處理實(shí)踐之前首先要接受一個(gè)事實(shí)行施,那就是每調(diào)用一個(gè)函數(shù)/方法都要檢查一下返回值中的err是否為空的操作是無法避免的,這可能是很多從Java轉(zhuǎn)過來的開發(fā)者們除語法...
開門見山 可重復(fù)讀僅能保證再次執(zhí)行同樣的查詢時(shí)凌净,先前返回【過】的結(jié)果一定跟之前一樣悲龟,而不保證會不會多出別的記錄。如果返回了之前沒有出現(xiàn)過的記錄冰寻,就是幻讀须教。 隔離級別 數(shù)據(jù)庫事...
首先我們來看一下維基百科對零拷貝給出的定義: 零拷貝描述了一種計(jì)算機(jī)中的操作,即CPU在執(zhí)行某項(xiàng)任務(wù)時(shí)不需要先將數(shù)據(jù)從內(nèi)存中的一個(gè)位置移動到另一個(gè)位置就可以完成操作斩芭,從而節(jié)省...