在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Linux問答
艷骨 回答

Update1

注意, 因爲(wèi)窩太垃圾了, 以下答案很有可能存在不嚴(yán)謹(jǐn), 甚至錯誤的部分, 窩也在不斷的修訂. 所以, 想踩的話請隨意, 但是窩不太想刪, 刪了話自己可能沒有動力總結(jié)了, 好吧, 窩的確很自私. 但是窩相信終有一天這個答案會self-contained並且邏輯不再混亂.

Update2

I don't have Chinese input method editor, so I will write in English(but too lazy to translate the original contexts into English, So previous Chinese wording preserved)

很不幸, 之所以你搜segmentfault都是這個論壇, 有兩個原因,

  1. 因爲(wèi)這個網(wǎng)站的域名就是segmentfault.com.
  2. 是因爲(wèi)你搜索的姿勢不對, 它不是一個單詞...而是一個詞組: segment fault. 當(dāng)然, 也有縮寫: segfault, 或者Segmentation-fault.

1.1. segment fault既不是linux特有的, 也不是c++特有的, 甚至從語言規(guī)範(fàn)中, 它不屬於c++, 因爲(wèi)c++的標(biāo)準(zhǔn)文檔中沒有對Segmentation fault沒有過定義. 喂雞百科中它被定義爲(wèi):

In computing, a segmentation fault (often shortened to segfault) or access violation is a fault, or failure condition, raised by hardware with memory protection, notifying an operating system (OS) the software has attempted to access a restricted area of memory (a memory access violation).

長話短說, 就是軟件訪問了不該訪問的memory, 而硬件具有內(nèi)存保護功能. 具體的說, 就是當(dāng)MMU檢測到非法內(nèi)存被訪問了, 那麼它就讓CPU產(chǎn)生一個exception.

1.2. c或者c++這種既接近底層, 又古老的語言會引起段錯誤.
1.3. 書沒什麼好推薦的, 畢竟這玩意一般第一天寫c/c++就會碰到...碰到多了自然知道了, 非要推薦的話去看些操作系統(tǒng)之類的書(CSAPP, OSTEP, etc)會有比較深刻的認(rèn)知吧,比如trap. 不過也別迷信讀書, 畢竟現(xiàn)在互聯(lián)網(wǎng)這麼發(fā)達(dá). 你把英文喂雞上的關(guān)於它的內(nèi)容看一邊也差不多了.

2.1. bus error, stack overflow(更新: 有一種說法是stack overflow本身不是錯誤(error/fault), 但是它的存在會觸發(fā)其它錯誤(error/fault), 其中之一就是Segmentation fault, 因爲(wèi)call stack溢出後, 程序有可能對非法地址進些讀寫操作. ......好多好多呢, 你去這個列表看下,
2.2. 至於Segmentationfault這倆詞語, 我們從操作系統(tǒng)講起:

假想下你的操作系統(tǒng)就是一個巨大的庫, 所有操作(包括應(yīng)用軟件)都只要調(diào)用這個庫(的API)就行了, 沒有任何權(quán)限限制, 這其實就是早期操作系統(tǒng)的設(shè)計形態(tài), 後來人們逐漸意識到這麼做是不安全的, 放到今天應(yīng)該會很容易明白, 比如你肯定不希望手機流氓軟件(應(yīng)用軟件)訪問你在磁盤上的個人信息吧, 但是我們依然要確保操作系統(tǒng)有權(quán)限訪問, 所以我們需要一場革命, 帶來一個新的內(nèi)存保護機制, 或者說是一個新的文件系統(tǒng), 當(dāng)然, 這個文件系統(tǒng)肯定不能作爲(wèi)一個庫, 不然還是什麼都沒有改變, 最終, 這個革命者名爲(wèi)system call, 其實現(xiàn)是通過硬件(CPU的trap)指令, 伴隨它的還有user mode, kernel mode(這兩個mode是針對CPU的, 比如, CPU可以用一個bit來表徵, 0代表kernel mode, 1代表kernel mode等. 具體的做法就是system call賦予操作系統(tǒng)更高的硬件優(yōu)先級. 應(yīng)用軟件處於user mode, 不能進行讀寫磁盤/物理內(nèi)存等操作, 它將某些數(shù)值放在寄存器或棧幀, 表示自己希望從操作系統(tǒng)處得到那些東西, 然後應(yīng)用軟件調(diào)用trap)指令, 即執(zhí)行system call, 此時CPU轉(zhuǎn)換爲(wèi)kernel mode, 並且跳轉(zhuǎn)到一些指令處, 這些指令是屬於操作系統(tǒng)的, 他們會聆聽(通過之前的寄存器或者棧幀)應(yīng)用軟件, 然後也切換到kernel mode, 執(zhí)行這些請求.

However, how can we separate user mode from kernel mode? Two approaches:

  1. Protection ring
  2. Have a single address space for all software, and rely on the programming language's virtual machine to make sure that arbitrary memory cannot be accessed – applications simply cannot acquire any references to the objects that they are not allowed to access

好, 爲(wèi)了鞏固記憶, 接下來我們換一種問法, 什麼情況下system call會被執(zhí)行呢?
答案還是trap)(需要注意的是此處的trap)不同於上面的trap)指令, 是兩回事, 這裏的trap)是一個泛指, 是interrupt的子集, 特指非硬件層面的interrupt). 經(jīng)常, trap)也可以用其同義詞--falut或者exception來代替. 有些地方會將這些分開, 比如如果你關(guān)注國外各個大學(xué)的操作系統(tǒng)(設(shè)計(與實現(xiàn))的課的話, 會發(fā)現(xiàn)他們往往會對其定義有差別, 比如由硬件還是軟件觸發(fā)之類, 具體如fault有時會特指page fault, 再比如Intel microprocessor manuals裏將synchronous interrupts定義爲(wèi)exceptions, asynchronous interrupts 定義爲(wèi)interrupts, 但是很多時候大家對其區(qū)分不是很嚴(yán)格, 經(jīng)常一個interrupt signal就包括前面?zhèn)z貨了, 不過這個實現(xiàn)都是平臺相關(guān)的, 可能別的體系就有另一套說辭, 或者能更一步細(xì)化, 比如在古老的Linux/i386中, 其實現(xiàn)就是interrupt 0x80

說完fault, 我們再回到Segmentation, 其實它就是一段內(nèi)存, 但是帶有一個值來標(biāo)記內(nèi)存, 並且還包含偏移量, 當(dāng)然也分爲(wèi)物理內(nèi)存和虛擬內(nèi)存, 這裏只說虛擬內(nèi)存, 因爲(wèi)你編寫的c/c++程序用到的都是虛擬內(nèi)存而不是物理內(nèi)存. Segmentation fault]合在一起就是一個trap/exception/fault/software interrupt, 因爲(wèi)它訪問了不該訪問的內(nèi)存.

悶騷型 回答

不是一樣的么。。。

import hashlib
#python2
hashlib.md5('abc').hexdigest()
#output: '900150983cd24fb0d6963f7d28e17f72'

#python3
hashlib.md5('abc'.encode('utf-8')).hexdigest()
#output: '900150983cd24fb0d6963f7d28e17f72'

JAVA 最大的優(yōu)勢是靠堆人能解決問題,這對企業(yè)是非常重要的。1. 大規(guī)模協(xié)作成為可能。2. 市場上人員供應(yīng)穩(wěn)定。

假灑脫 回答

JS文件加載完畢后,
第一步,文件中root級的、并且沒有使用任何關(guān)鍵字定義的變量 ,被當(dāng)做全局變量優(yōu)先賦值。
第二步,所有單獨定義的function xxx()聲明生效
第三步,其他部分按照js中寫的代碼邏輯,開始順序執(zhí)行

文件加載過程中,內(nèi)容還不全,不涉及到變量和函數(shù)聲明的處理。

墨小白 回答

result.then(res => res.json()).then(data => console.log(data))

筱饞貓 回答

你可以看下你項目的編碼集時什么,還有指定maven 編譯時的編碼,maven默認(rèn)是gbk編譯

茍活 回答

不知道你是用哪種方式啟動 docker 的,又是哪種方式執(zhí)行命令。

下面以命令行啟動 docker 為例,順序執(zhí)行多個命令

docker run ... /bin/bash -c "composer update; php start.php;"
維他命 回答

我們公司是測試站拉取正式站代碼,后面的維護就是,一個功能新建一個分支,在分支上寫完后,把分支合并到測試站,測試沒問題了,再把功能分支合并到正式站,同時把這個功能分支刪掉。時間長了,可能會導(dǎo)致測試站和正式站差別太大,會同步一下。

爆扎 回答

不是很明白你的意思,你是說在你的應(yīng)用程序中通過File對象能讀取到tomcat的conf/bin/目錄下的文件嗎?

這是系統(tǒng)權(quán)限的問題啊,而且tomcat啟動的用戶一定能訪問到這些目錄的

溫衫 回答

你如果用的是BrowserHistory模式,Nginx要配置try_files

笑浮塵 回答
這樣在后臺繼續(xù)處理業(yè)務(wù)邏輯的時候前臺已經(jīng)得到成功的返回
這句話我不理解了,ajax去請求了后臺,后臺沒有業(yè)務(wù)沒有處理完,前臺ajax怎么先得到了響應(yīng)結(jié)果?

還有我覺得你思考的點直接放到了后臺,有考慮過ajax嵌套的情況嗎(也要注意ajax的同步異步),這個沒有代碼也不知道,只能給個建議。

至于最后提到的,我記得自己剛接觸spring的時候也想過這個問題,這個和scope有關(guān),你可以寫個demo,我當(dāng)時寫demo測試時,設(shè)置了一個成員變量,每次請求來就++,結(jié)果發(fā)現(xiàn)默認(rèn)是一直累加的(這個結(jié)果我都不確定了,很久很久之前寫的了,你可以自己試試)

胭脂淚 回答
  1. 直接用ftp軟件連接看一下使用是ftp協(xié)議還是sftp協(xié)議,如果使用sftp協(xié)議連接成功,就不能使用ftp_connect函數(shù)。
  2. 檢查phpinfo中是否已經(jīng)安裝ftp擴展
  3. 要使用ftp必須先在服務(wù)器上搭建ftp服務(wù),使用tp_connect函數(shù)檢查參數(shù)是否正確
  4. 下面給你一段測試代碼
<?php
// 建立基礎(chǔ)連接
$conn_id = ftp_connect('116.196.116.31');
var_dump($conn_id);

?>
綰青絲 回答

PHP腳本從上往下執(zhí)行依次執(zhí)行

$GLOBALS['result'] 首先未定義,然后第一個<?php ?>你肯定無法輸出的你下面的結(jié)果的

你可以把結(jié)果通過GET方式傳遞或POST傳遞, $_SESSION是肯定可以獲取的到的, 不過你得先session_start();

吢涼 回答

https://github.com/Microsoft/...

This could have something to do with WSL reporting the permissions of all files on the Windows filesystem as being 777. Git then regards all files as changed because their permissions are different.

Try changing the Git configuration so that permission changes are ignored:

# For the current repository
git config core.filemode false   

# Globally
git config --global core.filemode false

方法2

It may be line endings,WSL thinks it is linux so it will use LF as the line endings.

You can set git to only use CRLF line endings with:

git config --global core.autocrlf true
六扇門 回答
  1. 你的httpSession沒有初始化,因為他是一個對象所有默認(rèn)初始化為null,你的StaffDto是類全局變量在執(zhí)行構(gòu)造方法之前初始化調(diào)用httpSession.getAttribute(),httpSession為null
  2. HttpSession不能設(shè)備全局變量,因為一個Controller可以被所有客戶端訪問,你寫在方法的參數(shù)時SpringMvc會幫你完成HttpSession注入。
  3. 你現(xiàn)在寫的所有Session應(yīng)該都是HttpSession,HttpSession本質(zhì)上是一個接口,你方法接受到的HttpSession是SpringMVC實現(xiàn)接口返回給你的實例

500一般都是后端接口代碼問題。

青裙 回答

我的是可以的沒問題。audio上直接寫src試試
clipboard.png