@aaa
我代碼是開(kāi)源的,你自己說(shuō)我編譯誰(shuí)的代碼,比較一下代碼相似度是多少。我寫(xiě)的開(kāi)源軟件又不是一個(gè)兩個(gè),哪個(gè)不是原創(chuàng)的。
JAD和JD-Core的反編譯插件都有,有誰(shuí)整合到一起了?
說(shuō)話(huà)請(qǐng)負(fù)責(zé)任。
@青菜
Failed to load JavaHL Library.
這是SVN的Native庫(kù)發(fā)生錯(cuò)誤……和反編譯插件無(wú)關(guān)。
@richard
已經(jīng)用的是最新版的jd-core了,最后一次更新是2009年……
一般來(lái)說(shuō)不會(huì)出現(xiàn)屬性都反編譯不出來(lái)的情況啊。
@lpdx111
manifest.mf 的信息丟失,這應(yīng)當(dāng)是個(gè)bug, Thanks.
@ZZZZ
debug變量,需要你的jar的編譯支持變量表,但是一般ant默認(rèn)編譯是不支持變量表的,就會(huì)出現(xiàn)你的問(wèn)題,需要一定的技巧來(lái)解決,比如直接訪(fǎng)問(wèn)方法的參數(shù),看參數(shù)的內(nèi)部結(jié)構(gòu)。
@Fly
Please download the offline archive update file and install it.
http://feeling.sourceforge.net/downloads/org.sf.feeling.decompiler_1.0.3.zip
or
http://www.tkk7.com/Files/cnfree/org.sf.feeling.decompiler_1.0.3.zip
@like_java 翻(BLOG)墻……這個(gè)是被墻了,我也沒(méi)辦法。
原地快速排序,把數(shù)組需要需要排序的部分分成左邊和右邊兩部分,但是如何讓數(shù)組分成左邊和右邊兩塊呢?
1.以數(shù)組最右端的元素作為分割點(diǎn)
2.做一個(gè)標(biāo)記符,標(biāo)記已經(jīng)放了幾個(gè)元素到左邊了
3.開(kāi)始遍歷數(shù)組每個(gè)元素,碰到小于分割點(diǎn)的元素,就和第(標(biāo)記符+1)個(gè)元素交換,然后標(biāo)記符增加1。
4.將分割點(diǎn)和第(標(biāo)記符+1)個(gè)元素交換,這是第(標(biāo)記符+1)個(gè)元素左邊的元素都小于分割點(diǎn),右邊的元素都大于或等于分割點(diǎn)元素。
5.遞歸排序分割點(diǎn)左邊的部分和右邊的部分,直到子數(shù)組的左邊部分索引和右邊部分索引相等,也就是長(zhǎng)度為1為止。
堆排序,首先建立一個(gè)大頂堆,從最底層的葉子節(jié)點(diǎn)開(kāi)始建(數(shù)組尾端),首先最底層的葉子右節(jié)點(diǎn)和左節(jié)點(diǎn)比較,取出較大的那個(gè)葉子節(jié)點(diǎn),讓這個(gè)節(jié)點(diǎn)和父親比較,如果大于父親,則和父親交換。底層葉子遍歷比較完之后,父節(jié)點(diǎn)遍歷比較,直到根節(jié)點(diǎn)(數(shù)組頭)。
建立完大頂堆之后,開(kāi)始遍歷,因?yàn)樽畲蟮墓?jié)點(diǎn)就是根節(jié)點(diǎn),直接把根節(jié)點(diǎn)和最底層葉子交換,然后重新構(gòu)建大頂堆,這個(gè)大頂堆已經(jīng)是有序的了(不包括已交換的部分),除了根節(jié)點(diǎn)外,其他部分都是大頂堆構(gòu)造,此時(shí)先讓根節(jié)點(diǎn)的左孩子和右孩子比較,大的那個(gè)孩子和父節(jié)點(diǎn)交換,交換后繼續(xù)遞歸比較,看看被交換的根節(jié)點(diǎn)交換后還是小于子節(jié)點(diǎn),如果還是小,則繼續(xù)交換,直到大于子節(jié)點(diǎn)為止。那么剩下的堆就又是個(gè)大頂堆了,然后循環(huán)構(gòu)建n-1次即可。
@Melanzpl
MyEclipse加上啟動(dòng)參數(shù)-clean啟動(dòng),這是Eclipse Update的bug導(dǎo)致的。
@xz 已增加對(duì)Linux和Macosx操作系統(tǒng)的支持。
用法不對(duì),源JRE不能和定制JRE是同一個(gè)目錄。
@wqeq
是軟件報(bào)錯(cuò),還是你自己生成的程序報(bào)錯(cuò)?
我測(cè)試過(guò)好幾種環(huán)境,都沒(méi)有遇到過(guò)你說(shuō)的這種情況。如果是軟件錯(cuò)誤,可能是你的JRE版本有問(wèn)題。如果是你自己生成的程序有錯(cuò),那么考慮jre下的ext目錄里的localedata.jar是否被引用,如果被移除的話(huà),會(huì)導(dǎo)致國(guó)際化失敗的問(wèn)題。
一般隱藏起來(lái)的,都是internal的。里面的內(nèi)容可以隨意改變,你用Class.ForName來(lái)初始化一個(gè)類(lèi),一旦class name改變,你的代碼就報(bào)廢了。
這么做有什么意義呢?
Bug有優(yōu)先級(jí)的,只能說(shuō)LZ的這個(gè)Bug優(yōu)先級(jí)太低了。如果優(yōu)先級(jí)很高的話(huà),立馬就能得到回應(yīng)。優(yōu)先級(jí)低的,幾個(gè)月不會(huì)回應(yīng)也很正常。
優(yōu)先級(jí)和項(xiàng)目的使用程度,商業(yè)化有關(guān)……
如果Sun或者與其合作相關(guān)的大公司沒(méi)有怎么使用這個(gè)項(xiàng)目的話(huà),那么優(yōu)先級(jí)將肯定是低優(yōu)先級(jí)。
如果是Oracle,IBM的人報(bào)這個(gè)Bug,或許又是另外一回事。
@fera
昨天又打了一次,很久沒(méi)打,都生疏了,不過(guò)第二次就搞定了。
對(duì)付幾個(gè)武力低的,我發(fā)現(xiàn)重視攻擊就很好用,幾回合就把對(duì)方砍死了。
我第一回合砍有暗器的。 第二回合打趙云,青釭劍真是好東西,集氣超快。然后砍關(guān)羽,除了關(guān)于我不是主動(dòng)攻擊,其他都是,反正3兩下就砍死了。打黃忠尤其要快刀斬亂麻,盡快解決,偽退不好玩。馬超盡量留后面打就行。
String a = "ab";
String b = "a" + "b";
String c = "a";
String d = "b";
String e = c + d;
System.out.println( ( a == b ) );
System.out.println( ( a == e ) );
呵呵,看看結(jié)果……
re: 一個(gè)平庸程序員的想法。 三人行,必有我?guī)熝?2008-12-05 22:50
被老婆BS了,呵呵。你要是平庸,中國(guó)就沒(méi)幾個(gè)人NB了。
人活得那么累干什么,別想太多,該干嘛干嘛,按自己的想法做就夠了。
這年頭變化太快,30年河?xùn)|,30年河西,今天得意,也許明天就失意,反之亦然。只要回過(guò)頭來(lái)不后悔,覺(jué)得沒(méi)有走錯(cuò)就OK了。
祝你考研順利。
re: 做不下去了,Vista快把我逼瘋了 三人行,必有我?guī)熝?2008-12-05 22:39
@=。=。。
沒(méi)有,我只是想用MciSendCommand這個(gè)API而已,發(fā)現(xiàn)Vista不支持,那既然不支持這個(gè)API,為什么要去支持SendMCIString呢?
沒(méi)見(jiàn)哪個(gè)優(yōu)秀的軟件不能在vista下運(yùn)行:-( 你沒(méi)聽(tīng)說(shuō)過(guò)Alcohol 120%? 人家就是要告微軟,說(shuō)微軟故意不讓該軟件在Vista下正常運(yùn)行。
我只想說(shuō)一句,Vista在向下兼容性方面做得實(shí)在太差了。MciSendCommand,Mixer這些東西和安全性八竿子打不著。
簡(jiǎn)單不一定方便擴(kuò)展呀,必要的設(shè)計(jì)還是要有的。在必要的程度上,越簡(jiǎn)單越好。
re: GMF Tooltip (一) 三人行,必有我?guī)熝?2008-09-04 15:57
GMF是Borland搞的?還以為是IBM做的呢。
當(dāng)年上大學(xué)的時(shí)候,Borland稱(chēng)霸一方,偶說(shuō):“就算去Borland看門(mén),我也愿意”。
畢業(yè)以后,Borland日薄西山,認(rèn)識(shí)一個(gè)朋友,剛進(jìn)Borland就想跳出來(lái)。
不過(guò)Borland真還這么NB的話(huà),進(jìn)去熏陶熏陶也不錯(cuò)呀:-)
原來(lái)不是自己的引擎,一個(gè)瀏覽器最核心的部分就是引擎了,核心都是人家的,這個(gè)Google瀏覽器就沒(méi)有什么意思了,失望呀。我還以為是Google自己搞出來(lái)的。
re: 從技術(shù)人員角度看Google chrome 三人行,必有我?guī)熝?2008-09-04 15:01
我現(xiàn)在就在用Google瀏覽器,不過(guò)感覺(jué)新意不多,多個(gè)進(jìn)程也比較討厭,CSS稍顯粗糙,占用內(nèi)存也不少,還老是啟動(dòng)一個(gè)Google Update,我把瀏覽器關(guān)掉了,這個(gè)進(jìn)程還在。不過(guò)和其他的Google工具一樣,就是界面比較簡(jiǎn)潔。
總而言之,這個(gè)瀏覽器有待改進(jìn)的地方還是有很多的。
re: Eclipse3.4 插件配置Reset 三人行,必有我?guī)熝?2008-07-26 22:32
再次說(shuō)一遍,不是所有的case都能夠使用Link,比如我公司現(xiàn)在的項(xiàng)目,每天都會(huì)有一個(gè)All-in-One版本,也就是包含有Eclipse Platform的版本,整個(gè)項(xiàng)目的代碼有30M,所以基本上不可能把整個(gè)項(xiàng)目都包含在WorkSpace里面,因?yàn)樘螅琤uild一次需要半個(gè)多小時(shí),所以必須在每天的All-in-One版本之上構(gòu)建自己需要的WorkSpace。但是為了節(jié)約公司服務(wù)器的空間,現(xiàn)在的All-in-One使用的不是Eclipse IDE版本,而是Platform版本,這個(gè)版本包含了Eclipse,GEF,EMF,WST,DTP,但是都沒(méi)有源代碼,開(kāi)發(fā)的時(shí)候源代碼是必須的,所以需要把相應(yīng)的SDK版本解壓覆蓋到這個(gè)All-in-One版本中,而無(wú)法使用Link模式。只有Reset Eclipse plugin配置,才能看到源代碼,其他的方式都是費(fèi)時(shí)費(fèi)力。
不過(guò)這個(gè)Case比較特殊,我之所以采用這個(gè)配置,也是因?yàn)檫@個(gè)Case,想看到源代碼不容易呀,呵呵。
re: NetBeans6.5 M1正式發(fā)布可以下載了 三人行,必有我?guī)熝?2008-07-14 00:07
身為Eclipse的fans,不得不說(shuō)Eclipse越做越爛,netbean越做越好。不過(guò)NetBean現(xiàn)在好像還只是在做編輯器,而Eclipse更關(guān)注的是平臺(tái)擴(kuò)展。Eclipse并不局限于編輯器,比如GMF越做越好了,不知道Netbean有沒(méi)有對(duì)應(yīng)的功能。
@johnson
不可以,是以swt作為基礎(chǔ)的。用swing的JNI工具,應(yīng)該有很多的。
re: Eclipse3.4 插件配置Reset 三人行,必有我?guī)熝?2008-06-19 11:19
1.導(dǎo)致這個(gè)case不是Link原因,有時(shí)候開(kāi)發(fā)版本需要測(cè)試,比如我們有plugins目錄測(cè)試和dropins目錄測(cè)試,由于依賴(lài)的plugin比較多,所以出錯(cuò)很頻繁。
2.并不是每個(gè)人都喜歡并且會(huì)用Link的。
re: Birt小試牛刀 三人行,必有我?guī)熝?2008-06-17 22:15
@klzz
是嗎?呵呵,中國(guó)的國(guó)情比較特殊,地圖掃描這個(gè)功能不錯(cuò)呀,可以自動(dòng)分析報(bào)表cell元素嗎?
re: Birt小試牛刀 三人行,必有我?guī)熝?2008-06-12 16:41
它是一個(gè)報(bào)表開(kāi)發(fā)工具,當(dāng)然你想放到WEB上運(yùn)行,需要加入一些依賴(lài)JAR用來(lái)解析這個(gè)報(bào)表文件。
@BeanSoft
只是它自己的runtime而已,基本上和JRE無(wú)關(guān)了。
這個(gè)需要拼人品,最好有2次秒殺機(jī)會(huì),那么不復(fù)活的幾率就會(huì)比較高。關(guān)羽你能打得這么順利,我打關(guān)羽總是比較費(fèi)勁。記憶中給我的感覺(jué)關(guān)羽和馬超才是大boss,呂布和項(xiàng)羽都很菜。很久都不玩SAN11了,一般都是SAN9。
0day的那個(gè)版本是不需要key的,安裝包就已經(jīng)破解好了。盡管安裝包我已經(jīng)弄丟了,不過(guò)Win32 綠色的也可以用,只不過(guò)要配置一下環(huán)境變量。Linux的那個(gè)版本我就更找不到了,主要是現(xiàn)在只支持部分Linux,覺(jué)得沒(méi)多大意思,3.7的patch好像解決了這個(gè)問(wèn)題,但是需要正版用戶(hù)才行。我等破解用戶(hù),就只能垂涎了。你要是還想玩玩的話(huà),我可以打包一個(gè)綠色版給你。另外3.7只支持到JDK1.4,1.5的話(huà)都是需要官方patch的。
個(gè)人認(rèn)為throw nullpointexception更為合理,一般來(lái)說(shuō)null是沒(méi)有任何意義的。
是的,代碼量并沒(méi)有減少。
但是對(duì)于一個(gè)Java開(kāi)發(fā)人員來(lái)說(shuō),了解Win32 API不難,難的是掌握C++的各種語(yǔ)法,以及指針。就像能使用VB的人很多,能使用VC的人不多一樣。畢竟C++太強(qiáng)大也太靈活了,有時(shí)候過(guò)于靈活反而不是一件好事。因?yàn)槲冶救司褪沁@種人,我看Win32的API一般都去找VB的例子,盡管沒(méi)有學(xué)過(guò)VB,但是很容易看懂,相比VC,VB太簡(jiǎn)單了。我相信同樣的API,用Java實(shí)現(xiàn)和用C++實(shí)現(xiàn),對(duì)Java程序員來(lái)說(shuō)一定是有很大區(qū)別的。
我機(jī)器是1680*1050的分辨率,好像標(biāo)題顯示的不對(duì),不過(guò)無(wú)傷大雅,呵呵。
姑且不論內(nèi)容,樓主的文筆真的不錯(cuò),可以出書(shū)了。即使是抄,那也是青出于藍(lán)勝于藍(lán),純技術(shù)的文章我是懶得讀的,多謝樓主寫(xiě)出這些有韻味的技術(shù)文章。
re: spring的最新用法...牛!!! 三人行,必有我?guī)熝?2008-05-04 14:45
常量拼寫(xiě)是constant
現(xiàn)在Linux GTK Extension也已經(jīng)啟動(dòng)了,雖然無(wú)法做到API一致,但是希望盡量擴(kuò)大2個(gè)系統(tǒng)的交集。
re: 用Custom菜單接管Eclipse的Native菜單 三人行,必有我?guī)熝?2008-04-21 13:24
@Always BaNg.
本來(lái)考慮過(guò)GTK下的開(kāi)發(fā)的,項(xiàng)目都已經(jīng)建好了,但是除了custom control以外,我不知道可以加些什么東西進(jìn)去,比較花哨的功能都需要比較高的GTK版本。我本意是想兼容主流平臺(tái)的,如果主流平臺(tái)都不支持的話(huà),這個(gè)項(xiàng)目就沒(méi)有什么意義了。如果你有興趣的話(huà),當(dāng)然歡迎加入,可以加我的MSN或者QQ詳談。
MSN:cnfree2000@hotmail.com
QQ:41934961
全天在線(xiàn),平常隱身,留言即可。
使用復(fù)活的話(huà)就沒(méi)有什么難度了,我這兒寫(xiě)的是不使用復(fù)活,一次性單挑14個(gè)人。
本來(lái)準(zhǔn)備弄個(gè)SWT Linux Extension的,結(jié)果實(shí)際操作以后發(fā)現(xiàn)很多高級(jí)功能都要GTK 2.10以后的版本,我裝的Ubuntu6.10才是GTK2.08,暈死。
之所以在中文blog上用英文,一是為了練習(xí)英文,二是我懶得再寫(xiě)英文文檔了,老外用搜索引擎直接搜這兒好了。blogjava的rank還是很高的,我才寫(xiě)了1個(gè)小時(shí),google就收錄了,可比我放在自己網(wǎng)站上宣傳好得多。
Hmmm. I don't write any C++ code, just use swt win32 version to implement it, but it doesn't work in other platforms, until I implement a linux version, and this way is the socalled Eclipse spirit.
In fact, IBM has its self look and feel, but it's commercial, I don't think that IBM will donate it to eclipse foundation.
是的,但是如果給外部用的話(huà),應(yīng)該暴露一個(gè)方法,比如 setEnableNewMinMax(),在項(xiàng)目?jī)?nèi)部使用ENABLE_NEW_MIN_MAX而不暴露出來(lái)是對(duì)用戶(hù)不負(fù)責(zé)任的做法,而且在page里也沒(méi)有選項(xiàng)設(shè)置。
不知道你為什么會(huì)跟著認(rèn)為Java已經(jīng)過(guò)時(shí),還有這個(gè)世界能夠沒(méi)有C和C++嗎?難道有了Ruby就要放棄一切嗎?有點(diǎn)像剛學(xué)程序的我,老想著潮流。“這門(mén)語(yǔ)言發(fā)展普及速度真是暴強(qiáng)...比Java還強(qiáng)”,據(jù)我所知,Ruby出現(xiàn)好幾年了吧,Java第四年的時(shí)候我就開(kāi)始使用Jsp了,而且有很成熟的JBuilder 4進(jìn)行開(kāi)發(fā),背后也有大公司支持。Ruby現(xiàn)在還只是缺乏開(kāi)發(fā)工具的半吊子,背后的力量也無(wú)法撼動(dòng)Java,主流程序的背后都是大公司的利益在起作用。也許你年過(guò)30了Java仍是老大,三年前你這些話(huà)就有人說(shuō)過(guò)了,三年后我想還會(huì)是現(xiàn)在的局面。
跨進(jìn)程我已經(jīng)實(shí)現(xiàn)了,在Java里攔截JNI的HookProc,并對(duì)數(shù)據(jù)做出一些修改,這才是困難所在。
@gr8vyguy
是的,關(guān)鍵是現(xiàn)在的Hookproc是在C++里實(shí)現(xiàn)的,和Java完全沒(méi)有關(guān)系,如果在Java實(shí)現(xiàn),就無(wú)法數(shù)據(jù)共享了。但是判斷是否下傳的邏輯是在Java里,我在考慮怎么把這兩者結(jié)合起來(lái)。
@gr8vyguy
沒(méi)有JDK1.6,所以運(yùn)行不起來(lái),但是看過(guò)了你的代碼。
1,你添加了2個(gè)native方法:
static final native boolean InstallMouseHook(int i, int j);
static final native boolean UninstallMouseHook(int i);
所以我不能從你的程序里斷定你用的是哪種鉤子
2,和我上個(gè)回復(fù)所說(shuō)的一樣,你只是使用了wParam,沒(méi)有用到lParam,
wParam 包含了Mouse行為信息, lParam則是一個(gè)MSLLHOOKSTRUCT結(jié)構(gòu)體指針,我想你應(yīng)該是不能夠根據(jù)這個(gè)指針拿到結(jié)構(gòu)體的,而MSLLHOOKSTRUCT可以用來(lái)拿到坐標(biāo)信息。其實(shí)就對(duì)窗口某一部位截圖而言,根本就不需要Hook,SWT+Swing的Robot就可以實(shí)現(xiàn)了。
好了不用再爭(zhēng)論了,Mouse Hook自有 Mouse_LL沒(méi)有的優(yōu)勢(shì),可以在98下運(yùn)行,保證了系統(tǒng)兼容性。畢竟連純C#也只能實(shí)現(xiàn)Mouse_LL和Keyboard_LL兩種Hook。
我現(xiàn)在還有點(diǎn)問(wèn)題,就是如果我要攔截Hook,比如我以前的一個(gè)需求,攔截一個(gè)瀏覽器的菜單讓它不顯示出來(lái),如果瀏覽器嵌在Java程序內(nèi)部,那么在Java內(nèi)部的HookProc正好處理這個(gè)事件,但是如果攔截的外部的瀏覽器,又該如果解決。