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

java創(chuàng)建一個(gè)棧 網(wǎng)站全棧開發(fā),Java跟PHP選擇哪個(gè)好些?

網(wǎng)站全棧開發(fā),Java跟PHP選擇哪個(gè)好些?網(wǎng)站開發(fā)的選擇很多。java和php開發(fā)首先,java和php都不能實(shí)現(xiàn)網(wǎng)站的全棧開發(fā)。1、java給人一種重的感覺,優(yōu)勢是框架、組件、中間件豐富,除了we

網(wǎng)站全棧開發(fā),Java跟PHP選擇哪個(gè)好些?

網(wǎng)站開發(fā)的選擇很多。

java和php開發(fā)

首先,java和php都不能實(shí)現(xiàn)網(wǎng)站的全棧開發(fā)。

1、java給人一種重的感覺,優(yōu)勢是框架、組件、中間件豐富,除了web,還有云計(jì)算、大數(shù)據(jù)、人工智能的框架,可以做出巨型服務(wù)系統(tǒng),如大型互聯(lián)網(wǎng)公司產(chǎn)品,擴(kuò)展性強(qiáng),但系統(tǒng)架構(gòu)、集成、優(yōu)化能力要求高。

2、php相較而言輕,但能力限制在了做web,有很成熟mvc框架可選,中小型網(wǎng)站項(xiàng)目可用,感覺這幾年php落寞了。

javascript開發(fā)

目前javascript自稱可實(shí)現(xiàn)全棧開發(fā),前端js html css,可選jquery、vue.js等前端框架;后端nodejs,也有框架。

String存放在堆中還是棧中?

問題中的String指的應(yīng)該是java中的String吧。這里給出的回答針對(duì)java。

String是一個(gè)不可變的對(duì)象,在java中只能作為常量使用。java代碼中所有的顯式字符串,即直接寫出的那種字符串,例如"abc"都是String對(duì)象。String本身作為一個(gè)對(duì)象,必然是在堆上的,而String中的內(nèi)容char[] value 則是放在堆中的一個(gè)特殊區(qū)域中——常量區(qū)。

所以String本身是放在堆上,而根據(jù)垃圾回收情況,又可以分為新生代和老年代。如果這個(gè)String對(duì)象剛創(chuàng)建不久,則它一般位于堆的新生代,如果它創(chuàng)建之后存在了很長時(shí)間,則它很可能處于堆中的老年代。注意,String中的字符串內(nèi)容即字符數(shù)組value則位于堆中的常量區(qū)。

如果你先有一個(gè)字符數(shù)組,例如char[] arr { "a", "b", "c" },然后調(diào)用String s = new String(arr)創(chuàng)建的String,則字符數(shù)組不再是位于常量區(qū),而是跟其他對(duì)象一樣,位于堆上。注意,即使這個(gè)arr數(shù)組是在棧上分配的,這樣創(chuàng)建的String中的value依然是在堆上。如果你想把這個(gè)字符串放進(jìn)常量區(qū),可以調(diào)用String.intern。

棧上不會(huì)有對(duì)象,只會(huì)有基本變量和引用變量,所以String只可能位于堆上,不可能位于棧上。

如何準(zhǔn)確理解Java中的堆與棧?

謝邀!

Java運(yùn)行時(shí)數(shù)據(jù)區(qū)中的棧有Java虛擬機(jī)棧和本地方法棧,都是用于方法的執(zhí)行;堆用于存放對(duì)象實(shí)例和數(shù)組。

Java虛擬機(jī)棧

每個(gè)Java方法執(zhí)行的時(shí)候都會(huì)創(chuàng)建一個(gè)棧幀,棧幀用于存儲(chǔ)局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈表和方法出口等信息,每個(gè)Java方法從開始調(diào)用到執(zhí)行完成的過程,都對(duì)應(yīng)著一個(gè)棧幀在Java虛擬機(jī)棧中入棧到出棧的過程。在Java虛擬機(jī)規(guī)范中規(guī)定,如果線程請(qǐng)求的深度大于虛擬機(jī)所允許的深度,將拋出StackOverflowError異常;如果虛擬機(jī)可以動(dòng)態(tài)擴(kuò)展,但是在擴(kuò)展時(shí)申請(qǐng)不到足夠的內(nèi)存,將會(huì)拋出OutOfMemoryError異常。Java虛擬機(jī)棧的生存周期是跟隨線程的,是線程私有的。

本地方法棧

Java虛擬機(jī)棧是為執(zhí)行Java方法服務(wù)的,而本地方法棧是為執(zhí)行本地方法服務(wù)的,它的作用與Java虛擬機(jī)棧相似,同樣它也會(huì)拋出StackOverflowError異常和OutOfMemoryError異常。本地方法棧的生存周期也是跟隨線程的,也是線程私有的。

堆是Java虛擬機(jī)中內(nèi)存空間最大的一塊,基本上所有的對(duì)象實(shí)例及數(shù)組都在這里分配內(nèi)存空間,它是所有線程共享的區(qū)域。在Java虛擬機(jī)規(guī)范中,堆可以處于物理上不連續(xù)的內(nèi)存空間,只要邏輯上連續(xù)就行。當(dāng)堆中沒有足夠內(nèi)存分配時(shí),并且此時(shí)也無法再擴(kuò)展,將會(huì)拋出OutOfMemoryError異常。