1. 程式人生 > >什麼是類,什麼是虛擬機器,和記憶體CPU有什麼關係......執行緒與程序的關係

什麼是類,什麼是虛擬機器,和記憶體CPU有什麼關係......執行緒與程序的關係

今天我公司一大神去面試小朋友,從他的問話交流中感覺得出來.他已經達一種超出寫程式碼的層次,可能已經到了架構師以上的級別吧.

而問的一些問題,卻是我早早準備面試題之外的話題.雖然我知道他問的這些是想了解我哪方面,可是我已經不知道如何去回答了.

特別是心裡本來就對JAVA的理解不深,很多基礎的知識腦子裡也是一團,像二進位制,虛擬機器,程序等這些底層的東西,在寫程式碼中很少會用到.

但如果想要有一個總的佈局,瞭解你要寫的類是如何去執行實現的.真的不會總結.老師在給我們講的時候我也暈暈的.

下面我把回來查的資料總結一下:

一,在你心裡JAVA是什麼,

     從來沒有想過java是什麼,每天面對的程式設計工具,一種和C,vb之類的一種機器語言?,腦子裡一閃而過的是java是一個工具,程式設計的語言,但對於我這處剛改行的大齡青年來說,JAVA卻是我這半年來生活的全部,也是我未來的工作目標,所以我說,java是一個環境,一個讓我展示自己價值,和實現功能的一個環境.

二,什麼是記憶體,CPU和JAVA的關係:

    雖然在學校裡就知道計算機的構造,原理,記憶體,CPU,硬碟,虛擬記憶體,南橋北橋,機器碼,但和JAVA之間有多少關係,讓我不知道如何開口.難道說CPU產生二進位制資訊,記憶體中開避出一個空間給JAVA虛擬機器,是不要要說硬開盤中的空間給記憶體做虛擬記憶體,可這與虛擬機器有什麼關係?和類的變數,方法有什麼關係? 值棧?堆?方法區?  是不是要解釋虛擬機器是如何動作的?越想下去,越不知道如何去說明白.

這些關係讓我很頭痛.真的不知道這些東西.PASS了.

二,什麼是類?

經過前面的那些,我已經有種想跑的衝動,已經不知道如何去想這個了.每天寫類,寫抽象類.介面?可什麼是類呢?

當然我知道他這是在問面向物件的理解,類是一切物件的實現基礎,是例項變數與方法的集合,是引用變數的實體,,,,,,還是什麼.

我回答:不知道...

三jsp.html.js三者之間的關係.

 天.我能說我寫的專案裡都是jsp.沒用過html嗎?嘿嘿.

js是在jsp中引入的指令碼檔案,別的還真不知道如何區別.js實現圖形化?不對.

html中可以使用js嗎?這個....當然是可以的.

其實我是想回答.jsp就是servlet.解析返回的是html

四 程序和執行緒的關係:

 這個問題之前也看過,

程序是一個程式必有的,執行緒又是程序必有的.執行緒是比程序更小的單元.

程序包含執行緒.這種說法太不專業了.

回來百度之後.才發現原來有這麼多講究:

程式可以有多個程序,(軟體的健壯性),執行緒崩潰了,程序也就kill了. 執行緒體的資源很小很小,CPU分配執行的速度才快,執行緒之間共享資源(是和JAVA類的方法區一樣嗎?)

程序中只有一入口供執行緒來呼叫.能把這些說清了就完了.可是我還是不理解.

五什麼是tomcat

好吧.這一個容器.環境,

說這個其實應該先說什麼是servlet.sun公司定義的規範?又是規範,和W3C的html一樣,,,

我建的servlet是看得到的類,為什麼說一規範呢?

tomcat就是給這些servlet執行和管理的容器.同時也具備webServer所有功能.所以也可以說是一個伺服器.

好吧.這些是我沒有學好的問題.也許這些問題會伴我一輩子..也許我永遠也弄不清說不明.