平時積累的一些java基礎

1.Thread類的run方法:If this thread was constructed using a separate Runnable run object, then that Runnable object's run method is called; otherwise, this method does nothing and returns.

2.一個類中的方法可以改變其私有成員的值

3.若一個類中有成員變量爲實例化對象,則該類實例化兩個對象其成員變量爲同一個對象

4.當兩個併發線程訪問同一個對象object中的這個synchronized(this)同步代碼塊時,一個時間內只能有一個線程得到執行。另一個線程必須等待當前線程執行完這個代碼塊以後才能執行該代碼塊。然而,當一個線程訪問object的一個synchronized(this)同步代碼塊時,另一個線程仍然可以訪問該object中的非synchronized(this)同步代碼塊。尤其關鍵的是,當一個線程訪問object的一個synchronized(this)同步代碼塊時,其他線程對object中所有其它synchronized(this)同步代碼塊的訪問將被阻塞。也就是說,當一個線程訪問object的一個synchronized(this)同步代碼塊時,它就獲得了這個object的對象鎖。結果,其它線程對該object對象所有同步代碼部分的訪問都被暫時阻塞。

5.Notify():喚醒訪問該對象的任意一個wait的線程

6.一個類可以實現多個接口,若一個方法的參數是一個接口而不是一個類,那麼程序受到單繼承體系的限制就放鬆了許多。任何實現了該接口的類都能夠滿足該方法

7.連接的主要任務就是做一些加載後的驗證工作以及一些初始化前的準備工作,可以細分爲三個步驟:驗證、準備和解析。

8.類的初始化過程是這樣的:按照順序自上而下運行類中的變量賦值語句和靜態語句。在類的初始化階段,只會初始化與類相關的靜態賦值語句和靜態語句,也就是有static關鍵字修飾的信息,而沒有static修飾的賦值語句和執行語句在實例化對象的時候纔會運行。定義類數組,不會引起類的初始化。引用類的常量,不會引起類的初始化。引用父類的靜態字段,只會引起父類的初始化,而不會引起子類的初始化

9.該類所有的類對應的java.lang.Class對象沒有在任何地方被引用,無法在任何地方通過反射訪問該類的方法。實例都已經被回收,也就是java堆中不存在該類的任何實例。加載該類的ClassLoader已經被回收。這三個條件全部滿足時,類會被卸載,生命週期結束。

10.MethodinvokeObject obj,Object...args)第一個參數爲類的實例,第二個參數爲相應函數中的參數

11.鏈接就是解決多個模塊的引用和庫調用,然後進行重定位以便生成可執行文件。鏈接過程最重要的就是符號解析,就是將模塊中的導入符號找到其定義的地方,然後將符號替換爲指針。

12.Class下的newInstance()的使用有侷限,因爲它生成對象只能調用無參的構造函數

13.java裏面任何class都要裝載在虛擬機上才能運行,而靜態代碼是和class綁定的,class裝載成功就表示執行了你的靜態代碼了,而且以後不會再走這段靜態代碼了。

14.只有selecct語句纔會返回一個結果集

15.對於服務器編程中最重要的一步等待並接受客戶的連接,accept函數就是完成這一步的。它從內核中取出已經建立的客戶連接,然後把這個已經建立的連接返回給用戶程序,此時用戶程序就可以與自己的客戶進行點到點的通信了。

16.UDP:將數據裝在字節數組中,用Datagrampacket打包,再用DatagramSocket.send發送

17.在同一個窗口訪問不同文件使用的是同一個session

18.向集合類中添加對象本質是存儲該對象的地址,並不複製該對象。即集合類對象中存放的是對象的引用

19.String類型使用replace替換返回一個新字符串,原字符串不變

20.socket只是對TCP/IP協議棧操作的抽象,而不是簡單的映射關係。如果一個程序創建了一個socket,並讓其監聽80端口,其實是向TCP/IP協議棧聲明瞭其對80端口的佔有。以後,所有目標是80端口的TCP數據包都會轉發給該程序(這裏的程序,因爲使用的是Socket編程接口,所以首先由Socket層來處理)。所謂accept函數,其實抽象的是TCP的連接建立過程。accept函數返回的新socket其實指代的是本次創建的連接,而一個連接是包括兩部分信息的,一個是源IP和源端口,另一個是宿IP和宿端口。所以,accept可以產生多個不同的socket,而這些socket裏包含的宿IP和宿端口是不變的,變化的只是源IP和源端口。這樣的話,這些socket宿端口就可以都是80,而Socket層還是能根據源/宿對來準確地分辨出IP包和socket的歸屬關係,從而完成對TCP/IP協議的操作封裝!

21.getAttribute是取得jsp中 用setAttribute設定的attributeparameter得到的是string;attribute得到的是object。request.getParameter()方法傳遞的數據,會從Web客戶端傳到Web服務器端,代表HTTP請求數據;request.setAttribute()和getAttribute()方法傳遞的數據只會存在於Web容器內部,在具有轉發關係的Web組件之間共享。即request.getAttribute()方法返回request範圍內存在的對象,而request.getParameter()方法是獲取http提交過來的數據。getattribute一般在前臺用於獲取後臺轉發值。getParameter一般在後臺用於獲取前臺請求值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章