本站AI自動(dòng)判斷提供您所需要的app下載:點(diǎn)我下載安裝,你懂的APP
本篇文章給大家談?wù)?a href="http://m.hljstys.com/t1808.html">問(wèn)道手游輔助腳本免費(fèi)版,以及問(wèn)道手游輔助源碼的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
文章詳情介紹:
冷門輔助熱門代練手游 享蜂窩高端服務(wù)
《游戲蜂窩》三大平臺(tái)同步更新以來(lái),在安卓、PC、iOS用戶群中都收到了廣大玩家的好評(píng)。在早期以安卓版本為核心時(shí)期,累積了許多研發(fā)技術(shù)和黑科技,在最新迎來(lái)的2.0版本中,首次加入免ROOT黑科技,讓更多安卓玩家方便的使用輔助。
游戲蜂窩
而全新推出的《游戲蜂窩》iOS版和PC版更是讓所有手游玩家都可以有機(jī)會(huì)使用到這款強(qiáng)大的腳本輔助。iOS游戲蜂窩越獄版出色的穩(wěn)定性、PC版蜂窩助手完美兼容所有手游模擬器。在強(qiáng)大輔助腳本的支持下,游戲蜂窩依然以更好的服務(wù)玩家作為自己的使命。
目前的游戲蜂窩輔助,不論多么冷門的游戲,游戲蜂窩都會(huì)在第一時(shí)間適配出合適的腳本推薦給玩家。讓玩家不論什么游戲都能輕松體驗(yàn)。
如今《游戲蜂窩》服務(wù)再度升級(jí),為了讓玩家更好的享受游戲樂(lè)趣,推出手游日常代練服務(wù)。你還在為玩多款手游都需要日常而苦惱?還在為多個(gè)小號(hào)需要任務(wù)而煩心?還在為其他代練不靠譜而猶豫?平臺(tái)化運(yùn)營(yíng)的蜂窩代練幫你解決一切。
蜂窩代練現(xiàn)已支持《夢(mèng)幻西游》《問(wèn)道》《仙劍奇?zhèn)b傳》《熱血傳奇》《火影忍者》五款手游的日常代練。拋開輔助腳本,純真人手工代練,客戶隨時(shí)查看代練進(jìn)度,自定義代練內(nèi)容……一切只為你服務(wù)!
蜂窩真人手工代練業(yè)務(wù)現(xiàn)已開啟小規(guī)模限量測(cè)試,機(jī)不可失失不再來(lái),趕緊來(lái)體驗(yàn)一下真人代練解決日常煩惱吧。
97973手游網(wǎng)聲明:97973手游網(wǎng)登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實(shí)其描述。
企業(yè)采購(gòu)源代碼對(duì)數(shù)字化轉(zhuǎn)型有無(wú)幫助?
近年來(lái),越來(lái)越多企業(yè)著手?jǐn)?shù)字化轉(zhuǎn)型,各類管理系統(tǒng)應(yīng)用于企業(yè)管理和經(jīng)營(yíng)的方方面面。很多大中型企業(yè),在建設(shè)數(shù)字化系統(tǒng)時(shí),開始要求供應(yīng)商提供源代碼。企業(yè)希望以源代碼作為開發(fā)底座,自行完成系統(tǒng)開發(fā)或修改升級(jí)工作。
基于以上情形,大家不禁問(wèn)道:為什么企業(yè)會(huì)有源代碼采購(gòu)需求?企業(yè)拿到源代碼要注意什么?企業(yè)數(shù)字化轉(zhuǎn)型是否一定要源代碼?……
原文作者:田磊Roger,內(nèi)容有部分刪改
為什么企業(yè)有源代碼采購(gòu)需求?很多企業(yè)搭建數(shù)字化系統(tǒng)時(shí),因?yàn)楣芾砗徒?jīng)營(yíng)需要,需要持續(xù)不斷地結(jié)合實(shí)際應(yīng)用場(chǎng)景變化,對(duì)系統(tǒng)進(jìn)行二次開發(fā)或功能補(bǔ)充升級(jí),而這就涉及對(duì)源代碼的修改。
此外,企業(yè)在系統(tǒng)更新升級(jí)、故障維護(hù)等方面主要依賴于軟件服務(wù)商,因?yàn)閾?dān)心軟件服務(wù)商因經(jīng)營(yíng)問(wèn)題而倒閉的潛在風(fēng)險(xiǎn),故要求供應(yīng)商授予源代碼權(quán)限,從而獲得更多自主權(quán)。也有很多企業(yè)采購(gòu)源代碼,是為了獲得軟件著作權(quán)及發(fā)明專利,甚至意圖將數(shù)字化系統(tǒng)作為能力輸出。
另一方面,企業(yè)除了成立信息管理部門,有的為了實(shí)現(xiàn)數(shù)字化高薪聘請(qǐng)CIO。然而,大部分CIO均為技術(shù)出身,為了自己的能力和業(yè)績(jī),提出要重建或更換系統(tǒng),甚至提出自主研發(fā)的目標(biāo),他們主張“自主與安全”,而源代碼則是實(shí)現(xiàn)其目標(biāo)的基礎(chǔ)。
企業(yè)拿到源代碼要注意什么?企業(yè)拿到系統(tǒng)的源代碼,主要是進(jìn)行開發(fā)和運(yùn)維工作。需要注意的是,軟件開發(fā)運(yùn)維是系統(tǒng)化的工程,要做到有序承接,除了要充足的資源,還需要健全的管理方法和完整的運(yùn)營(yíng)體系,以及合理的職能支持。
由于B端業(yè)務(wù)相對(duì)復(fù)雜,相關(guān)系統(tǒng)的技術(shù)棧往往非常復(fù)雜,不同的業(yè)務(wù)板塊也存在不同的技術(shù)方案,因此單一團(tuán)隊(duì)很難完全掌握完整的技術(shù)鏈條。同時(shí),很多技術(shù)部分屬于基礎(chǔ)架構(gòu),如果選擇與軟件供應(yīng)商合作,可以減少重復(fù)造輪子,有利于成本節(jié)降。
另外,大部分B端企業(yè),應(yīng)更專注于業(yè)務(wù)實(shí)現(xiàn),實(shí)現(xiàn)業(yè)務(wù)價(jià)值最大化。其團(tuán)隊(duì)配置更多的向業(yè)務(wù)側(cè)靠攏,并不一定適合吸收全部層次的源代碼。
企業(yè)數(shù)字化轉(zhuǎn)型是否一定要源代碼?我們必須清楚,企業(yè)數(shù)字化與源代碼并沒(méi)有直接聯(lián)系。數(shù)字化是企業(yè)在業(yè)務(wù)模式上的一種變革,而源代碼則屬于技術(shù)范疇。企業(yè)是否擁有源代碼,與企業(yè)數(shù)字化成功與否并沒(méi)有直接影響。
首先,軟件業(yè)務(wù)并非是公司的核心業(yè)務(wù),企業(yè)更需要依托于軟件的賦能推動(dòng)核心業(yè)務(wù)的開展。也就是說(shuō),數(shù)字化轉(zhuǎn)型的核心目的,是企業(yè)核心業(yè)務(wù)的快速提升和經(jīng)營(yíng)目標(biāo)的實(shí)現(xiàn)。企業(yè)采購(gòu)源代碼性價(jià)比低,除了要懂業(yè)務(wù)還要求其懂技術(shù),資源和精力容易被分散。
其次,企業(yè)購(gòu)買源代碼需要有自己的研發(fā)團(tuán)隊(duì),得有很強(qiáng)的研發(fā)實(shí)力才能進(jìn)行吸收。對(duì)傳統(tǒng)企業(yè)來(lái)講,往往其本身的能力遠(yuǎn)遠(yuǎn)小于第三方專業(yè)企業(yè),購(gòu)買以后并不能形成自身的持續(xù)開發(fā)能力。企業(yè)各類業(yè)務(wù)系統(tǒng)眾多,組成復(fù)雜,公司需要投入人力物力來(lái)維持系統(tǒng)的持續(xù)開發(fā)與運(yùn)維(任何一家企業(yè)提供的產(chǎn)品往往都是由幾十上百人的團(tuán)隊(duì)耗費(fèi)數(shù)年時(shí)間完成)。
最后,由于購(gòu)買軟件源代碼耗資巨大,絕大部分企業(yè)在預(yù)算有限的情況下,都是找規(guī)模不大的第三方開發(fā)公司來(lái)完成,出現(xiàn)技術(shù)架構(gòu)陳舊、代碼陳舊、不能持續(xù)迭代升級(jí)等問(wèn)題。在自身研發(fā)和維護(hù)能力不強(qiáng)的情況下,要么建成即落后,要么繼續(xù)投入更大的預(yù)算來(lái)確保迭代升級(jí)。這種模式下,解決了CIO短期的考核需求,解決了中小規(guī)模軟件公司的生存需求(把落后的代碼重復(fù)售賣),卻解決不了真正數(shù)字化轉(zhuǎn)型的需求,更解決不了自研節(jié)省成本的需求。
企業(yè)擔(dān)心的問(wèn)題如何解決?綜上所述,源代碼與企業(yè)數(shù)字化轉(zhuǎn)型無(wú)直接聯(lián)系,企業(yè)拿到源代碼也需要更大的投入來(lái)維持,那么企業(yè)對(duì)于源代碼的需求或疑慮,該如何解決呢?以下將結(jié)合具體情況解答:
Q:系統(tǒng)代碼是否安全或存著漏洞?
A:一般公司并不具備代碼審核的能力和條件,通常采用第三方認(rèn)定標(biāo)準(zhǔn)即可達(dá)到目的,在行業(yè)中只要供應(yīng)商及時(shí)對(duì)發(fā)現(xiàn)的漏洞進(jìn)行修補(bǔ)即可。
Q:擔(dān)心軟件服務(wù)商因經(jīng)營(yíng)問(wèn)題而倒閉?
A:可在合同簽訂中進(jìn)行約定,如果軟件服務(wù)商出現(xiàn)倒閉等經(jīng)營(yíng)風(fēng)險(xiǎn)時(shí),需提供源代碼。
Q:希望獲得軟件著作權(quán)及發(fā)明專利?
A:軟著及專利問(wèn)題并不受制于源代碼本身。
Q:希望自行完成二次開發(fā)或功能補(bǔ)充升級(jí)?
A:一般的行業(yè)軟件都非常復(fù)雜,包含較多的對(duì)業(yè)務(wù)的深層次的理解及公司自身發(fā)展所造成的遺留問(wèn)題,直接進(jìn)行二次開發(fā)并不容易,大部分企業(yè)購(gòu)買源代碼后,依然委托原公司進(jìn)行開發(fā)。
另外,針對(duì)源代碼的自行開發(fā)將導(dǎo)致原廠維保的失效,其原因?yàn)樽孕虚_發(fā)的部分所造成的影響,原公司并不能對(duì)后續(xù)結(jié)果負(fù)責(zé),雖然在實(shí)際執(zhí)行過(guò)程當(dāng)中通常沒(méi)有嚴(yán)格執(zhí)行,但此處顯然存在潛在風(fēng)險(xiǎn)。
Q:希望通過(guò)對(duì)系統(tǒng)包裝進(jìn)行二次銷售?
A:通常來(lái)講,軟件產(chǎn)品要再次進(jìn)行銷售,需要與原軟件服務(wù)商進(jìn)行協(xié)議授權(quán),而非有了源代碼就可以隨意銷售。
結(jié)語(yǔ)
數(shù)字化轉(zhuǎn)型并非一蹴而就,企業(yè)需從公司發(fā)展戰(zhàn)略出發(fā),進(jìn)行全面的數(shù)字化建設(shè)規(guī)劃,盡量采購(gòu)可落地的一體化產(chǎn)品體系,源代碼并非是重點(diǎn)。在數(shù)字化建設(shè)過(guò)程中,核心產(chǎn)品體系和大數(shù)據(jù)產(chǎn)品建議由專業(yè)公司提供,個(gè)性化需求產(chǎn)品可適當(dāng)考慮自研。
一件程序員必備武器的誕生
作者 | 劉欣
責(zé)編 | 伍杏玲
本文經(jīng)授權(quán)轉(zhuǎn)載自碼農(nóng)翻身(ID:coderising)
夜已深,但是Java第一代國(guó)王卻無(wú)心睡眠,帝國(guó)剛剛建立,東邊的C/C++王國(guó)虎視眈眈,隨時(shí)準(zhǔn)備把新生的王國(guó)扼殺在搖籃中。
今日GUI大臣上奏,說(shuō)帝國(guó)子民抱怨運(yùn)行速度慢,這一點(diǎn)Java國(guó)王也沒(méi)有好辦法,解釋執(zhí)行嘛,肯定比不上編譯好的程序,不過(guò)Java國(guó)王已經(jīng)下令去研發(fā)HotSpot了,等到兒子即位就會(huì)大有改觀。
不過(guò)GUI大臣提出的另外一個(gè)問(wèn)題的確讓人發(fā)愁:帝國(guó)子民寫出的程序調(diào)試?yán)щy, 大家得用最原始的System.out.println來(lái)查看變量,定位錯(cuò)誤。
這怎么能行?程序不能調(diào)試,相當(dāng)于瘸了一條腿啊!這將嚴(yán)重影響新生Java帝國(guó)的找Bug事業(yè)。
調(diào)試的基礎(chǔ)
第二天早朝,眼圈發(fā)黑的國(guó)王把JVM大臣怒斥了一頓,勒令他馬上把調(diào)試這一塊給搞好。
JVM大臣非常委屈:“陛下,當(dāng)初我們?cè)谠O(shè)計(jì)Class文件的字節(jié)碼的時(shí)候,就考慮到了調(diào)試的需求,Java文件編譯成class文件以后,其中有個(gè)叫做LineNumberTable的區(qū)域,它描述了Java源代碼和字節(jié)碼行號(hào)(字節(jié)碼偏移量)之間的對(duì)應(yīng)關(guān)系,有了它,我們才能加斷點(diǎn)調(diào)試啊!”
他擔(dān)心國(guó)王不明白是怎么回事,現(xiàn)場(chǎng)畫了一張圖。
國(guó)王沒(méi)有心思去理解那些iload, iadd,istore是什么含義,但是他理解了源代碼和字節(jié)碼之間的對(duì)應(yīng)關(guān)系,確實(shí)是在LineNumberTable中記錄的。
源碼的第13行 是int sum = x + y;對(duì)應(yīng)的字節(jié)碼行號(hào)是0 ~ 3。
源碼中第14行是 return sum。對(duì)應(yīng)的字節(jié)碼行號(hào)是 4 ~ 5。
國(guó)王點(diǎn)頭認(rèn)可,問(wèn)道:“那是不是可以做一個(gè)調(diào)試器了?”
JVM大臣:“臣正有此意,臣打算把Java的調(diào)試器叫做jdb。”
IO大臣聽到JDB立刻跳了起來(lái):“加(J)多(D)寶(B),你怎么不叫王老吉啊!”
華為手機(jī)玩免費(fèi)手游游戲 - 櫻花動(dòng)漫
JVM大臣蔑視地看了IO大臣一眼:“C王國(guó)有個(gè)調(diào)試器叫g(shù)db, 我把它叫做jdb, Java Debugger, 別想歪了!”
國(guó)王說(shuō):“你這個(gè)JDB是命令行的吧?”
JVM大臣答道:“陛下明鑒, 臣這里只能弄個(gè)命令行的調(diào)試器,因?yàn)榈蹏?guó)的子民用的IDE都不一樣,臣也沒(méi)法給每個(gè)IDE都開發(fā)一個(gè)圖形界面的調(diào)試器,這不是臣應(yīng)該干的活。”
國(guó)王點(diǎn)頭:“寡人理解,你的重點(diǎn)還是要放在HotSpot上,我們已經(jīng)被C/C++嘲笑很久了,能不能翻身出這口惡氣就靠你了。”
GUI大臣說(shuō):“陛下圣明,我們應(yīng)該充分發(fā)揮我們Java帝國(guó)善于制定規(guī)范和協(xié)議的特長(zhǎng),搞一套關(guān)于調(diào)試的規(guī)范出來(lái),這樣,任何人/任何IDE都可以根據(jù)規(guī)范來(lái)開發(fā)一個(gè)調(diào)試器。”
國(guó)王:“愛卿之言甚合我意,GUI大臣,IO大臣,JVM大臣,你們?nèi)齻€(gè)通力合作,把這一套規(guī)范給制定出來(lái)!”
JVM接口
三位大臣不敢怠慢,一退朝就急忙趕到JVM大臣府上討論這套規(guī)范該怎么制定。
JVM大臣率先發(fā)言:“諸位,我這里設(shè)置一個(gè)底線,那就是調(diào)試器和被調(diào)試的程序不要處于一個(gè)JVM中。”
GUI大臣表示不解:“為什么?”
“很簡(jiǎn)單,如果它們兩個(gè)在一個(gè)JVM中,那被調(diào)試程序的獨(dú)立性就不能保證了,可能會(huì)受到調(diào)試器的影響。舉個(gè)極端的例子,調(diào)試器占據(jù)了很多Heap空間,導(dǎo)致被調(diào)試程序OOM了.....”
IO大臣:“那我們可以設(shè)計(jì)成C/S模式的,讓它們之間通過(guò)socket通信怎么樣?”
“如果這調(diào)試器和被調(diào)試程序都在一臺(tái)機(jī)器上,用socket多少有點(diǎn)怪,我們也要支持共享內(nèi)存的方式來(lái)通信。”
GUI大臣說(shuō):“如此看來(lái), JVM老兄,你得提供接口啊,讓調(diào)試器可以訪問(wèn)Java程序在運(yùn)行時(shí)的狀態(tài),嗯,我覺得至少得有這些功能:
獲取一個(gè)線程的狀態(tài), 掛起一個(gè)線程,讓線程恢復(fù)執(zhí)行, 設(shè)置一個(gè)線程,單步執(zhí)行
獲取線程的當(dāng)前棧幀,調(diào)用棧幀,棧幀對(duì)應(yīng)的方法名
獲取變量的值, 設(shè)置變量的值
設(shè)置斷點(diǎn),清除斷點(diǎn)
查看類的信息,方法,字段 等等”
JVM大臣撇了一眼GUI大臣,心說(shuō)這家伙是個(gè)內(nèi)行啊,看來(lái)寫過(guò)不少GUI的調(diào)試器,不過(guò)他也難不住我,我負(fù)責(zé)JVM,拿到這些Java程序運(yùn)行時(shí)的信息還不是小菜一碟?
JVM大臣說(shuō):“這沒(méi)問(wèn)題,我可以把這些接口給細(xì)化了,形成規(guī)范,然后請(qǐng)一道圣旨,要求各個(gè)JVM的提供商都要實(shí)現(xiàn)這些接口。”
“不過(guò),” JVM大臣接著說(shuō):“為了通用性和性能,我這里只能提供C語(yǔ)言的接口。嗯,這個(gè)接口就叫做JVM Tool Interface,簡(jiǎn)稱JVM TI。”
“那怎么通過(guò)socket來(lái)使用啊?” GUI大臣急了。
IO大臣說(shuō):“封裝一下嘛,程序員可以寫個(gè)程序(Agent),充當(dāng)通信的橋梁 。”
通信
GUI大臣說(shuō):“唉,這就麻煩了,我們還得考慮通信的協(xié)議問(wèn)題!”
IO大臣:“那是,剛才你提的那一大堆調(diào)試的需求,都需要能通過(guò)網(wǎng)絡(luò)發(fā)給JVM才行,不過(guò)不用擔(dān)心,這方面我擅長(zhǎng),讓我來(lái)制定一個(gè)協(xié)議,供調(diào)試器和JVM 通信 !這個(gè)協(xié)議的名稱就叫 (JDWP)Java Debug Wire Protocol 吧。”
IO大臣看到JVM大臣的JVM TI,心中癢癢,也急不可耐地提出了創(chuàng)造了屬于自己的縮寫。
創(chuàng)造通信協(xié)議的機(jī)會(huì)可不多,IO大臣浮現(xiàn)出一幅調(diào)試器和JVM通信的場(chǎng)景:
雙方先來(lái)一個(gè)“握手”,表明通信要開始了,然后調(diào)試器可以發(fā)送命令給JVM,JVM處理以后發(fā)送響應(yīng),還可以主動(dòng)向調(diào)試器推送事件,嗯,這個(gè)協(xié)議應(yīng)該是異步的......
調(diào)試器
GUI大臣看到這這張圖,立刻意識(shí)到一個(gè)問(wèn)題:“如果我們把JVM關(guān)于調(diào)試的能力使用JDWP這個(gè)協(xié)議的方式暴露出來(lái),那調(diào)試器可以使用任意語(yǔ)言來(lái)編寫啊!”
IO大臣笑道:“是啊,可不僅僅是你老兄的Swing、AWT,別人用C、C++、Python、C#都可以寫一個(gè)調(diào)試器。”
GUI大臣說(shuō)到:“不不,陛下看到這個(gè)設(shè)計(jì)肯定會(huì)發(fā)怒的,我們還是提供一個(gè)Java版本的接口吧,讓這個(gè)接口把JDWP還有什么JVM TI都給封裝起來(lái),主要供我們的Java IDE來(lái)使用,來(lái)集成。”
看到JVM大臣提出了JVM TI ,IO大臣提出了JDWP,自己沒(méi)有,怎么在陛下那里交差?GUI大臣趕緊說(shuō):“嗯,我希望這個(gè)接口叫做 JDI( Java Debug Interface),怎么樣?”
三位大臣相視一笑,心照不宣, 這下平衡了。
早朝
又是早朝, JVM大臣代表三人向國(guó)王獻(xiàn)上了設(shè)計(jì)圖,著重強(qiáng)調(diào)了自己提出的JVM TI是多么精妙,完美,至于JDWP、JDI、JVM大臣語(yǔ)焉不詳,一筆帶過(guò), 氣得IO大臣, GUI大臣吹胡子瞪眼。
國(guó)王看著設(shè)計(jì)圖,頻頻點(diǎn)頭:“嗯,層次劃分得不錯(cuò),程序員可以直接使用JVM 提供的接口,也可以用JDWP, 還可以用JDI..... ”
三位大臣甚感佩服,國(guó)王就是厲害。
可是國(guó)王的臉色很快多云轉(zhuǎn)陰:“只有設(shè)計(jì)圖,代碼呢?Talk is cheap , show me the code !”
就在JVM大臣懵逼之時(shí), GUI大臣從懷中掏出一張寫滿代碼的紙,雙手呈給了國(guó)王,還回過(guò)頭來(lái)對(duì)JVM大臣神秘一笑。
國(guó)王拿到了代碼,只見上面寫著:
創(chuàng)建一個(gè)斷點(diǎn):
ClassPrepareEvent event = ....略....
ClassType classType = (ClassType) event.referenceType;
// 獲取表示第10行的Location對(duì)象
Location location = classType.locationsOfLine(10).get(0);
// 通過(guò)Location對(duì)象創(chuàng)建一個(gè)斷點(diǎn)
BreakpointRequest bpReq = vm.eventRequestManager.createBreakpointRequest(location);
bpReq.enable;
在斷點(diǎn)處獲取變量的值:
// 到達(dá)了一個(gè)斷點(diǎn)
BreakpointEvent event = .....略......
//獲取當(dāng)前的線程
ThreadReference threadReference = event.thread;
//獲取當(dāng)前的棧幀
StackFrame stackFrame = threadReference.frame(0);
//從棧幀中得到本地變量 i
LocalVariable localVariable = stackFrame.visibleVariableByName("i");
Value value = stackFrame.getValue(localVariable);
int i = ((IntegerValue) value).value;
System.out.println("The local variable " + "i" + " is " + i);
國(guó)王掃了一眼,龍顏大悅,說(shuō)到:“愛卿多慮了,還給我加了這么多注釋,其實(shí)不加注釋我也看得懂,你展示的就是通過(guò)JDI這個(gè)接口創(chuàng)建斷點(diǎn),然后在斷點(diǎn)處獲取變量的值。我知道這代碼的背后其實(shí)會(huì)用JDWP協(xié)議向JVM TI發(fā)出請(qǐng)求,因?yàn)樗械臄?shù)據(jù)都在那里,對(duì)不對(duì)?”
JVM大臣趕緊說(shuō):“陛下圣明,一下子就點(diǎn)透了我們幾個(gè)小心思。”
“各位愛卿受累了,賞黃馬褂,朕打算把你們?nèi)齻€(gè)人創(chuàng)建的東西合起來(lái)起一個(gè)名,叫Java Platform Debugger Architecture,JPDA, 怎么樣?”
三人哪敢反對(duì)?如小雞啄米般紛紛點(diǎn)頭稱頌,從此, JPDA就成為了Java帝國(guó)有關(guān)調(diào)試的標(biāo)準(zhǔn),各個(gè)IDE逐漸都用來(lái)起來(lái)。
后記:實(shí)際上JDK最早只有 JVM DI (Debugger Interface) 和 JVM PI (Profile Interface),后來(lái)才出現(xiàn)JVM TI,并不是文章中所說(shuō)的一步到位。
作者簡(jiǎn)介:劉欣,前IBM架構(gòu)師,近20年從業(yè)經(jīng)驗(yàn),「碼農(nóng)翻身」公眾號(hào)作者,暢銷書《碼農(nóng)翻身》作者,用故事講解技術(shù)是拿手好戲。撥開技術(shù)迷霧,輕松理解技術(shù)本質(zhì),從「碼農(nóng)翻身」開始。
【END】