作者查詢 / Killercat
作者 Killercat 在 PTT [ java ] 看板的留言(推文), 共845則
限定看板:java
看板排序:
全部car23043Gossiping21483Road8505WOW5471MAC5469MRT5403iOS2618C_and_CPP2545HatePolitics1681SuperBike1605RealPlaying1333creditcard1324biker1070java845DIABLO780IA758GameDesign756Hunter739points593AndroidDev584Soft_Job531Military529Tech_Job497Programming448MacDev392Bus352DigiCurrency311Aviation310KMT279MusicGame261Coffee244worldtrigger200Railway196TORIKO151L_SecretGard150MobileComm148ONE_PIECE144C_Chat141Little-Games120marvel114Claymore101DPP91ToS62Neihu60GuildWars53EV50fatworld42C_Sharp38MobilePay38home-sale37movie34LoveLive_Sip31SYSOP30DarkSwords28Tainan25joke22Lifeismoney21politics18NTU16Salary16Stock16TaichungBun16About_Life15IC-Card12hypermall11iPod11MOD_AP11PublicIssue11Teacher11HateP_Picket10L_LifeInfo10Taoyuan10Wanhua10FinalFantasy9L_RelaxEnjoy9PlayStation9Sub_CS9Google8AC_In7L_TalkandCha7LangService7Gintama6Gov_owned6HsinYi6Kaohsiung6LinuxDev6media-chaos6Windows6BigShiLin5Browsers5E-appliance5EverQuest25Linux5Python5Shu-Lin5ShuangHe5sky5SongShan5travel5Android4CrossStrait4CVS4Eclipse4EuropeanCar4FITNESS4ForeignEX4ONLINE4PingTung4TuCheng4Barista3ComGame-Plan3FuMouDiscuss3ID_Problem3KMU3marriage3nb-shopping3pighead3Post3rent-exp3SENIORHIGH3StockPicket3StupidClown3Translate-CS3WomenTalk3YOLO3Datong2fastfood2Hong_Kong2Hsinchu2HSNU_9212Hualien2image2Lawyer2Leo2LoL2MuscleBeach2NTUT_ME495A2Nurse2Policy2TaichungCont2AfterPhD1Ajax1ask1AskBoard1Azumanga1CarShop1cat1CodeJob1CPBL1CSSE1DeathNote1dog1EatToDie1FTV1Geography1GTA1Hearthstone1Hotel1ID_Multi1Jolin1Keelung1KOTDFansClub1KS93-3201L_LifeJob1License1Monkeys1nCoV20191NDHU-AIPhy1NUU_CSIE1PC_Shopping1PokemonGO1PttBug1San-Ying1SetupBBS1sex1soul1specialman1speech1StarWars1Steam1SuperIdol1TA_AN1tennisprince1Tigers1traffic1TuTsau1twin1WarCraft1<< 收起看板(188)
6F→: 我覺得你把new test[4]換成new ArrayList<test>(4)05/30 20:35
7F→: 這樣看你應該就不會搞混了....05/30 20:35
8F→: 你會覺得ArrayList<test> ccc= new ArrayList<>(4);05/30 20:35
9F→: 會幫你跑四次test constructor嗎? XD05/30 20:35
1F推: 這是大忌,你poc(proof of concept)/prototype要跟05/28 16:42
2F→: production分開,不要省這個工05/28 16:42
3F→: poc可以亂來,production奠基在這種亂七八糟的東西的話05/28 16:43
4F→: 你以後會恨死你自己05/28 16:43
6F→: 我是覺得poc/prototype的東西連vcs紀錄都該分開05/28 17:11
7F→: 至少該換個branch... 經驗談05/28 17:11
13F→: 說得頗有道理,我個人的做法是,poc完成以後會要求他05/28 17:15
14F→: 們UML也要出來,通常因為有poc,UML都不會太離譜05/28 17:15
15F→: 再按照UML做出production。不過你說的對啦,很多東西05/28 17:15
16F→: 有時候也只能說理想不是總是跟得上現實 XD05/28 17:15
2F→: 基本上最有效率的就是用C cross process lib05/28 16:14
3F→: 然後用JNI去呼叫。不過已Java的架構來講,由於無法直接05/28 16:14
4F→: 碰觸到記憶體位置,其實你會發現這不會省工....05/28 16:14
5F→: 最多人用的應該是boost的interprocess lib05/28 16:15
6F→: 我的案例的是在CPython跟C++之間sync05/28 16:15
7F→: http://tinyurl.com/ptshloe05/28 16:16
8F→: Java的話 就把它包一層JNI 再用jobject傳回java層吧05/28 16:17
9F→: 老實講pipeline效能也沒差到哪去,沒必要捨近求遠05/28 16:17
10F→: pipeline/AF_UNIX socket效能都不會太糟糕的05/28 16:18
1F推: "test"可以自動轉型成Object 所以會過05/27 16:24
2F→: 然後Object的toString()也會往下找,String繼承05/27 16:25
3F→: Object所以會跑String.toString()05/27 16:25
4F→: 另外你這寫法實在是危險到爆炸,請務必小心05/27 16:25
5F→: 誒...我好像誤解你想問的問題了...先跳過 XD05/27 16:26
7F推: 我這邊看也是沒問題 是不是因為你終端機字型的關係?05/27 03:21
8F→: 要選等寬字型才會對齊,看看你預設的字型是不是05/27 03:22
1F→: OpenJDK原始碼來講不會變,spec的話要找找05/25 17:58
2F→: 另外hashCode會變動的話會有很奇怪的事情發生05/25 17:59
3F→: 你會在thread裡面赫然發現自己沒辦法等於自己...05/25 17:59
4F→: 因為你存下來的hashCode已經不能作準了05/25 17:59
5F→: 上面有板友提到一個更好的例子 : HashMap05/25 18:10
6F→: HashTable...er..一樣啦05/25 18:11
10F→: 他的意思是說,在同一個jvm週期必須相等,而不同jvm05/25 18:13
12F→: 週期不需要相等。我想我們討論應該都是以同JVM週期為05/25 18:13
13F→: 前提,對吧?05/25 18:13
14F→: 另外threading的問題比較複雜難解釋,不如hash table05/25 18:15
15F→: 那麼簡單易懂,我會說是我例子舉得比較難懂 XD05/25 18:15
16F→: 我只是想說,Thread實作通常會把自己Thread ID記下來05/25 18:15
17F→: 這個thread ID通常就是hashCode,要是會變來變去的話05/25 18:16
18F→: 那你會連出去的Thread在哪都找不到05/25 18:16
19F→: 這例子真的舉得有夠爛,所以還是Chikei的例子比較好05/25 18:17
20F→: 目前沒開compiler下 我無法得知get_next_hash()裡面05/25 19:32
21F→: hashCode到底是什麼(看起來比較像Type)05/25 19:32
22F→: 但是扣掉純粹拿ptr那個以及拿ptr併一個random計算以外05/25 19:33
23F→: 其他的case看起來都不像有參考到obj的位置05/25 19:33
24F→: 另外說真的internal address就看spec有沒有這個literal05/25 19:34
25F→: 的定義就一翻兩瞪眼了... 有空再查查看05/25 19:34
26F→: 另外 obj會游移這個是沒問題的 游移hashCode不會跟著05/25 19:35
27F→: 變我想也是確定的(這個原始碼還挺清楚的) 所以這兩點05/25 19:35
28F→: 姑且先當已經確定的共識吧05/25 19:36
29F→: 不過我前一篇有非常明確的指名為什麼我不認為他跟記憶05/25 19:37
30F→: 有關,因為他會動,所以要是新的object在已經被移走的05/25 19:37
31F→: 舊object上產生呢?src裡面有一個case是說他是拿記憶體05/25 19:38
32F→: 位置在對一個亂數mask作bitwise計算,這種前提下我不覺05/25 19:38
33F→: 的這叫做「跟記憶體位置有關」05/25 19:38
34F→: 1就是我說的「我不認為這稱為記憶體位置」05/25 20:59
35F→: 3是明顯的serial sequence啊 XD05/26 08:38
1F→: 附帶一提,更複雜的說法是,hashCode()其實呼叫的源頭05/25 17:01
2F→: 是FastHashCode() 再呼叫get_next_hash()05/25 17:01
3F→: 有興趣的可以一路爬進去看看...05/25 17:01
4F→: hash不會變請看line 617, 他是有cache的,做過一次就05/25 17:02
5F→: 再也不會變動了,所以不管怎麼移位都是恆定的05/25 17:02
10F→: java 5沒Hotspot 所以可能是對的...05/25 17:58
12F→: 那除非java5 hashCode會變,不然這本書可能是錯的05/25 18:00
13F→: java7原始碼看起來hashCode一產生就是固定的了05/25 18:00
15F→: Java7是,不過我沒把握Java5是不是啊... XD05/25 18:03
16F→: 我在下面那篇有提,我有稍微翻spec,不過一時間找不到05/25 18:03
17F→: 關於hash恆定性的條目。只是按常識來講,hashCode要是05/25 18:04
18F→: 會變來變去的話,應該是個很反直覺的事情05/25 18:04
19F→: 不過spec等下班再仔細翻翻看05/25 18:04
21F→: 我想到的是thread會完蛋 XD 應該是不會變啦....05/25 18:09
22F→: 不過你的hash table比較直覺有說服力 XD05/25 18:09
2F→: 錯很大,請見我下面推文...05/25 16:38
3F→: 其實我真的覺得OpenJDK是個寶,沒事真的能挖一挖...05/25 16:39
4F→: 誒,我仔細看了一下cpp實作,看起來跟記憶體有關05/25 16:43
5F→: 不過我沒辦法確定他現在跑的到底是那一組...05/25 16:44
6F→: 這個問題在於她註釋跟大多數實作都跟記憶體無關05/25 16:45
7F→: 包含註解寫的產生方法 可是我在原始碼看到一行05/25 16:45
8F→: 在某些不明情況下 value = intptr_t(obj) ;05/25 16:46
9F→: 不過目前來說,我仍然認為跟記憶體無關的可能比較大05/25 16:46
10F→: 看起來函數的hash_code指的是產生方法 但是我找不到05/25 16:47
11F→: 產生方法的定義,這是比較模糊的地方...05/25 16:47
13F推: HashCode不見得是記憶體位置05/25 16:21
14F→: 有興趣可以看看String的HashCode怎麼實作的05/25 16:21
15F→: 去找一下OpenJDK原始碼翻一下吧 很好找的05/25 16:21
16F→: String hashCode()可能你看了會噗疵笑出來05/25 16:21
19F→: 下面有提供比較全面的說法啦... XD05/25 18:45
4F推: Autoboxing是個很容易造成bug的東西就是//sigh05/20 19:24