卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

面試題比較兩個(gè)長(zhǎng)字符串的差異 python面試,一般都問(wèn)什么問(wèn)題?

python面試,一般都問(wèn)什么問(wèn)題?1.用Python做多線程是個(gè)好主意嗎?列舉一些讓一些Python代碼并行運(yùn)行的方法。答:Python不允許真正的多線程。它有一個(gè)多線程包,但是如果你想使用多線程來(lái)

python面試,一般都問(wèn)什么問(wèn)題?

1.用Python做多線程是個(gè)好主意嗎?列舉一些讓一些Python代碼并行運(yùn)行的方法。

答:Python不允許真正的多線程。它有一個(gè)多線程包,但是如果你想使用多線程來(lái)加速你的代碼,使用它通常不是一個(gè)好主意。Python有一個(gè)叫做全局解釋器鎖(GIL)的結(jié)構(gòu)。GIL確保只有一個(gè) "線程和可以一次執(zhí)行。一個(gè)線程獲取GIL,做一點(diǎn)工作,然后將GIL傳遞給下一個(gè)線程。這種情況發(fā)生得非??欤虼嗽谌搜劭磥?lái),您的線程似乎是并行運(yùn)行的,但它們實(shí)際上只是依次使用同一個(gè)CPU內(nèi)核。所有這些GIL通行證增加了運(yùn)行內(nèi)存。這意味著如果你想讓你的代碼運(yùn)行得更快,使用線程包通常不是一個(gè)好主意。

使用Python s線程包。如果你想同時(shí)運(yùn)行一些東西,并且效率不是問(wèn)題,那么它是完全沒(méi)問(wèn)題的。或者,如果您正在運(yùn)行需要等待某些東西(比如一些IO)的代碼,這可能是有意義的。但是線程庫(kù)贏了 不讓你使用額外的CPU核心。

多線程可以外包給操作系統(tǒng)(通過(guò)多重處理),一些調(diào)用Python代碼的外部應(yīng)用程序(比如Spark或者Hadoop),或者一些Python代碼調(diào)用的代碼,比如你可以用你的Python代碼調(diào)用一個(gè)C函數(shù)來(lái)完成昂貴的多線程事務(wù)。

2.這段代碼輸出了什么?

d: for I in rang

String常量池如何理解?面試一般會(huì)問(wèn)嗎?

例如,為了便于理解,有以下代碼段:

字符串到helloworld

字符串t1新字符串(helloworld)

在運(yùn)行時(shí),上面的代碼會(huì)在Java虛擬機(jī)堆棧中創(chuàng)建一個(gè)字符串類型為t0的變量,然后它會(huì)先找出在方法區(qū)的運(yùn)行時(shí)常量池中是否已經(jīng)存在相同的字符串。如果是,堆棧中的變量t0直接指向該字符串;如果它不 t exist,在常量池中創(chuàng)建一個(gè)helloworld字符串,然后將堆棧中的t0變量指向該字符串。要通過(guò)new關(guān)鍵字創(chuàng)建一個(gè)String對(duì)象,首先,在加載當(dāng)前類后,它會(huì)查找helloworld字符串是否已經(jīng)存在于方法區(qū)的運(yùn)行時(shí)常量池中。如果不存在,它會(huì)將編譯時(shí)生成的helloworld保存到運(yùn)行時(shí)常量池中。如果不存在,它將在堆中生成一個(gè)String類型的對(duì)象,堆棧中的t1變量將指向該對(duì)象。需要注意的是,從JDK1.7開(kāi)始,HotSpot虛擬機(jī)就把字符串常量移到了Java堆中。

讓 再來(lái)說(shuō)說(shuō)String的intern方法,在JDK1.7之前的版本。,intern方先找出方法區(qū)的運(yùn)行時(shí)常量池中是否已經(jīng)存在相同的字符串,如果已經(jīng)存在,則返回現(xiàn)有的字符串,否則將字符串常量添加到常量池中并返回該字符串。從JDK1.7開(kāi)始,HotSpot虛擬機(jī)將字符串常量移到Java堆中,intern方法的實(shí)現(xiàn)也發(fā)生了變化。首先,它會(huì)查詢常量池是否已經(jīng)存在,如果存在,則返回常量池中的字符串,否則不會(huì)將字符串復(fù)制到常量池中,而只是保存常量池中字符串對(duì)象的引用。