java輸出自動(dòng)對(duì)齊 jvm字節(jié)對(duì)齊的原因?
jvm字節(jié)對(duì)齊的原因?如果變量數(shù)據(jù)的初始內(nèi)存地址是字節(jié)對(duì)齊的,那么數(shù)據(jù)的讀取是高效和安全的,因?yàn)椴恍枰诙鄠€(gè)周期中讀取和拼湊在一起。對(duì)于Java等高級(jí)語(yǔ)言,由于編譯器的存在,編譯器或虛擬機(jī)將自動(dòng)幫助我
jvm字節(jié)對(duì)齊的原因?
如果變量數(shù)據(jù)的初始內(nèi)存地址是字節(jié)對(duì)齊的,那么數(shù)據(jù)的讀取是高效和安全的,因?yàn)椴恍枰诙鄠€(gè)周期中讀取和拼湊在一起。對(duì)于Java等高級(jí)語(yǔ)言,由于編譯器的存在,編譯器或虛擬機(jī)將自動(dòng)幫助我們進(jìn)行字節(jié)對(duì)齊。
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因?yàn)檫@是一個(gè)Java問(wèn)題,所以這是典型的TOPK問(wèn)題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最后100個(gè)元素就是結(jié)果??臻g復(fù)雜度為K,時(shí)間復(fù)雜度為nlogk