1. 程式人生 > >java 基本知識

java 基本知識

  面向物件的特徵有哪些方面

1. 抽象: 抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是資料抽象。
2.
繼承: 承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。物件的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼 承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那裡繼承方法和例項變數,並且類可以修改或增 加新的方法使之更適合特殊的需要。


3.
封裝: 封裝是把過程和資料包圍起來,對資料的訪問只能通過已定義的介面。面向物件計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的物件,這些物件通過一個受保護的介面訪問其他物件。
4. 
多型性: 多型性是指允許不同類的物件對同一訊息作出響應。多型性包括引數化多型性和包含多型性。多型性語言具有靈活、抽象、行為共享、程式碼共享的優勢,很好的解決了應用程式函式同名問題。


2 String
是最基本的資料型別嗎 ?
不是 , 其是一個物件


3 int 
 Integer  有什麼區別 Java 提供兩種不同的型別:引用型別和原始型別(或內建型別)。Int

java 的原始資料型別,Integerjavaint 提供的封裝類


4 String 
StringBuffer 的區別 STRING 的長度是不可變的, STRINGBUFFER 的長度是可變的。如果你對字串中的內容經常進行操作,特別是內容要修改時,那麼使用 StringBuffer ,如果最後需要 String ,那麼使用 StringBuffer toString() 方法


執行時異常與一般異常有何異同? 異常表示程式執行過程中可能出現的非正常狀態,執行時異常表示虛擬機器的通常操作中可能遇到的異常,是一種常見執行錯誤。 java 編譯器要求方法必須宣告丟擲可能發生的非執行時異常,但是並不要求必須宣告丟擲未被捕獲的執行時異常。



說出一些常用的類,包 , 介面,請各舉 5 常用的類:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer
常用的包:java.lang  java.awt  java.io  java.util  java.sql
常用的介面:Remote  List  Map  Document  NodeList 


說出 ArrayList,Vector, LinkedList 的儲存效能和特性
ArrayList
Vector 都是使用陣列方式儲存資料,此陣列元素數大於實際儲存的資料以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及陣列元素移動等記憶體操作,所以索引資料快而插入資料慢, Vector 由於使用了 synchronized 方法(執行緒安全),通常效能上較 ArrayList 差,而 LinkedList 使用雙向連結串列實現儲存,按序號索引資料需要進行前向或後向遍歷,但是插入資料時只需要記錄本項的前後項即可,所以插入速度較快。
8
設計 4 個執行緒,其中兩個執行緒每次對 j 增加 1 ,另外兩個執行緒對 j 每次減少 1 。寫出程式。 以下程式使用內部類實現執行緒,對 j 增減的時候沒有考慮順序問題。
public class ThreadTest1{
    private int j;
    public static void main(String args[]){
        ThreadTest1 tt=new ThreadTest1();
        Inc inc=tt.new Inc();
        Dec dec=tt.new Dec();
        for(int i=0;i<2;i++){
            Thread t=new Thread(inc);
            t.start();
            t=new Thread(dec);
            t.start();
        }
    }
    private synchronized void inc(){
        j++;
        System.out.println(Thread.currentThread().getName()+"-inc:"+j);
    }
    private synchronized void dec(){
        j--;
        System.out.println(Thread.currentThread().getName()+"-dec:"+j);
    }
    
    class Inc implements Runnable{
        public void run(){
            for(int i=0;i<100;i++){
                inc();
            }
        }
    }
    class Dec implements Runnable{
        public void run(){
            for(int i=0;i<100;i++){
                dec();
            }
        }
    }
}

9.JSP
的內建物件及方法。
request request
表示 HttpServletRequest 物件。它包含了有關瀏覽器請求的資訊,並且提供了幾個用於獲取 cookie, header,  session 資料的有用的方法。  

response response
表示 HttpServletResponse 物件,並提供了幾個用於設定送回 瀏覽器的響應的方法(如 cookies, 頭資訊等)  

out out 
物件是 javax.jsp.JspWriter 的一個例項,並提供了幾個方法使你能用於向瀏覽器回送輸出結果。  

pageContext pageContext
表示一個 javax.servlet.jsp.PageContext 物件。它是用於方便存取各種範圍的名字空間、 servlet 相關的物件的 API ,並且包裝了通用的 servlet 相關功能的方法。  

session session
表示一個請求的 javax.servlet.http.HttpSession 物件。 Session 可以存貯使用者的狀態資訊  

application applicaton 
表示一個 javax.servle.ServletContext 物件。這有助於查詢有關 servlet 引擎和 servlet 環境的資訊  

config config
表示一個 javax.servlet.ServletConfig 物件。該物件用於存取 servlet 例項的初始化引數。  

page page
表示從該頁面產生的一個 servlet 例項


10.
socket 通訊寫出客戶端和伺服器端的通訊,要求客戶傳送資料後能夠回顯相同的資料。 參見課程中 socket 通訊例子。

11
說出 Servlet 的生命週期,並說出 Servlet CGI 的區別。
Servlet
被伺服器例項化後,容器執行其 init 方法,請求到達時執行其 service 方法, service 方法自動派遣執行與請求對應的 doXXX 方法( doGet doPost )等,當伺服器決定將例項銷燬的時候呼叫其 destroy 方法。 cgi 的區別在於 servlet 處於伺服器程序中,它通過多執行緒方式執行其 service 方法,一個例項可以服務於多個請求,並且其例項一般不會銷燬,而 CGI 對每個請求都產生新的程序,服務完成後就銷燬,所以效率上低於 servlet
12.EJB
是基於哪些技術實現的 ? 並說出 SessionBean EntityBean 的區別, StatefulBean StatelessBean 的區別。

13
EJB 包括( SessionBean,EntityBean )說出他們的生命週期,及如何管理事務的? SessionBean Stateless Session Bean 的生命週期是由容器決定的,當客戶機發出請求要建立一個Bean 的例項時,EJB 容器不一定要建立一個新的Bean 的例項供客戶機呼叫,而是隨便找一個現有的例項提供給客戶機。當客戶機第一次呼叫一個Stateful Session Bean 時,容器必須立即在伺服器中建立一個新的Bean 例項,並關聯到客戶機上,以後此客戶機呼叫Stateful Session Bean 的方法時容器會把呼叫分派到與此客戶機相關聯的Bean 例項。
EntityBean
Entity Beans 能存活相對較長的時間,並且狀態是持續的。只要資料庫中的資料存在,Entity beans 就一直存活。而不是按照應用程式或者服務程序來說的。即使EJB 容器崩潰了,Entity beans 也是存活的。Entity Beans 生命週期能夠被容器或者 Beans 自己管理。

EJB 通過以下技術管理實務:物件管理組織(OMG )的物件實務服務(OTS ),Sun MicrosystemsTransaction ServiceJTS )、Java Transaction APIJTA ),開發組(X/Open )的XA 介面。


14
.說出資料連線池的工作機制是什麼 ?
J2EE 伺服器啟動時會建立一定數量的池連線,並一直維持不少於此數目的池連線。客戶端程式需要連線時,池驅動程式會返回一個未使用的池連線並將其表記為忙。如果當前沒有空閒連線,池驅動程式就新建一定數量的連線,新建連線的數量有配置引數決定。當使用的池連線呼叫完成後,池驅動程式將此連線表記為空閒,其他呼叫就可以使用這個連線。


15.
同步和非同步有和異同,在什麼情況下分別使用他們?舉例說明。 如果資料將線上程間共享。例如正在寫的資料以後可能被另一個執行緒讀到,或者正在讀的資料可能已經被另一個執行緒寫過了,那麼這些資料就是共享資料,必須進行同步存取。 當應用程式在物件上呼叫了一個需要花費很長時間來執行的方法,並且不希望讓程式等待方法的返回時,就應該使用非同步程式設計,在很多情況下采用非同步途徑往往更有效率。


16.
應用伺服器有那些? BEA WebLogic Server IBM WebSphere Application ServerOracle9i Application ServerjBossTomcat


17
你所知道的集合類都有哪些?主要方法? 最常用的集合類是 List Map List 的具體實現包括 ArrayList Vector ,它們是可變大小的列表,比較適合構建、儲存和操作任何型別物件的元素列表。 List 適用於按數值索引訪問元素的情形。

Map 提供了一個更通用的元素儲存方法。 Map 集合類用於儲存元素對(稱作"""" ),其中每個鍵對映到一個值。


18
給你一個 : 驅動程式 A, 資料來源名稱為 B, 使用者名稱稱為 C, 密碼為 D, 資料庫表為 T ,請用 JDBC 檢索出表 T 的所有資料。

19
.說出在 JSP 頁面裡是怎麼分頁的 ?
頁面需要儲存以下引數: 總行數:根據 sql 語句得到總行數 每頁顯示行數:設定值 當前頁數:請求引數 頁面根據當前頁數和每頁行數計算出當前頁第一行行數,定位結果集到此行,對結果集取出每頁顯示行數的行即可。

相關推薦

Java基本知識(運算符/選擇結構語句/循環結構語句/方法/標識符)

java基礎知識 運算符 選擇結構語句和循環結構語句 標識符 方法(函數) Java基本知識(運算符/選擇結構語句/循環結構語句/方法/標識符)一、Java標識符給類、接口、方法等命名的字符序列。1、標識符組成(1)英文字母大小寫;(2)數字(不能以數字開頭);(3)$和_。2、命名規則常

Java基本知識目錄

  置頂 2018年08月04日 1   版權宣告:小刺蝟喜歡獨角獸 https://blog.csdn.net/weixin_41835916/article/details/81413498 ——————Java基礎—————Java面試–介面Java面試–反

java 基本知識

  面向物件的特徵有哪些方面 1. 抽象: 抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是資料抽象。 2. 繼承: 繼

JAVA異常基本知識及異常在Spring框架中的整體解決方案

我們 程序 details 編譯錯誤 htm 及其 arch extends exception 異常的頂級父類是Throwable,下面有兩個子類Exception和Error。 Error錯誤一般是虛擬機相關的問題,如系統崩潰,虛擬機錯誤等,應用程序無法處理,直接導致

Java-繼承基本知識

sys eth stat main father static pri ble sta 繼承: 繼承是指一個類的定義可以基於現有已存在的類,即子類基於父類,父類的屬性和行為可以被子類引用,並且可以擴展功能。 繼承的聲明:【訪問權限修飾符】【修飾符】子類名字 extends

Java面試基本知識

alloc 正向代理 like write 工廠方法模式 內部 parent jre digester Java基本知識 基本知識 服務器:Tomcat 支持Servlet jsp JBoss 開源應用服務器 Apache:最廣泛的http服務器,只支持靜態網頁 Stri

Java JDBC的基本知識

spa mit create col iter 分隔 select roc eat CallableStatement接口——主要調用數據庫中的存儲過程 即為一種方法,可以調用, 傳遞參數 delimiter // //這裏是改變執行操作語句的分隔符,也就是將SQ

java註解的基本知識

生命周期 原理 span java內置 rri gpo 中一 eth 註解 1: 註解:Annotation是一種應用於類、方法、參數、變量、構造器及包生命中的特殊修飾符,是一種由JSR-175標準選擇用來描述代碼的元數據。 Java中如下的4種註解,專門負責新註解的創建:

java面向基本知識以及二維數組基本知識

繼承/多態/接口/抽象類 代碼塊 形式參數與返回值關系 內部類 二維數組 一、二維數組 1、定義方式m:代表當前二維數組中有多少個一維數組;n:代表每個一維數組的長度(1)數據類型[][] 數組名=new 數據類型[m][n](2)數據類型[][] 數組名=new 數據類型[m][ ],只

Java多線程的基本知識

rri vm虛擬機 alt 時間 工具 interrupt 所有 回收 thead 1、進程與線程 進程是指一個程序的執行過程,持有資源和線程 線程是系統中最小的執行單元,一個進程可以有多個線程,線程共享進程資源,具有同步(線程的協作)與互斥(資源的爭搶) 例如:我們一個

Java基礎知識JAVA基本數據類型包裝類)

number 相互 string 內部實現 出現 十六進制 本質 amp 系統 基本數據類型的包裝類 為什麽需要包裝類? Java並不是純面向對象的語言。Java語言是一個面向對象的語言,但是Java的基本數據類型卻不是面向對象的。但是我們在實際使用中

java中字串基本知識 String s=new String("abc")建立了幾個物件?

本文轉載自http://www.cnblogs.com/ydpvictor/archive/2012/09/09/2677260.html String s=new String("abc")建立了幾個物件? String str=new String("abc"); &nb

Java基礎知識總結(一)--基本語法知識

一.識別符號 (1)定義:就是給類,介面,方法,變數等起名字的字元序列 (2)組成規則:英文大小寫字母,數字,_和$ (3)注意事項:不能以數字開頭,不能是java中的關鍵字,區分大小寫 (4)常見命名規則: a.包名:全部小寫。 b.類名/介面名:每個單詞首字母大寫 c

Java基礎知識回顧之一 ----- 基本數據類型

博客 string 它的 基本數據 int short 溢出 etc tostring 前言 在開始工作至今,學習各種各樣的技術之中發現自己的很多Java的基礎知識都忘了⊙﹏⊙b汗。。。 而且越是學習越是發現Java基礎的重要性,所以準備單獨抽一下時間進行Java基礎的重新

Java:容器(基本知識

    容器基本的型別有:List, Set, Map, Queue。他們都是物件型別,也策劃能夠為集合類。Java中使用Collection來命名他們,故稱之為容器。     Collection:獨立元素的序列,List 按照插入的順

JAVA基礎知識--代理的基本瞭解

代理(Proxy)是一種設計模式,提供了對目標物件另外的訪問方式,即通過代理物件來訪問目標物件。這樣的好處是:可以在目標物件實現的基礎上面,增加額外的功能操作,即擴充套件目標物件的功能。 代理的方式主要有三種: 1.靜態代理:靜態代理在使用時需要定義介面或者父類,被代理物件和代理物件一起實現

JAVA一些基本知識總結

自增、自減運算子是單目運算子,可以放在操作元之前,也可以放在操作元之後。操作元必須時一個整型或浮點型變數。自增、自減運算子的作用是使變數的值增1或減1。放在操作元前面的自增、自減運算子,會先將變數的值加1(減1),然後再使該變數參與表示式的運算。放在操作元后面的自增、自減運算子,會先使變數參與表示式

Spark程式設計指南入門之Java篇一-基本知識

1. Spark的Java開發包 Spark提供Java的開發包,當前最新版本是2.0.2版本:spark-core_2.11-2.0.2.jar,可以從下面連結下載: http://central.maven.org/maven2/org/apache/spark/spa

java 執行緒基本知識(一)

import java.lang.Thread; 1.建立執行緒 Thread th=new Thread(); ps: Thread th=new Thread() { public void run() { System.out.println("run方法");

Java基本型別與引用型別 以及 Java記憶體知識整理

Java基本型別和引用型別是什麼?每種基本型別都佔多少位多少位元組?詳見下表 基本型別 整型 byte 1位元組 -27~27-1   -128~127 short 2位元組 -215~215-1  -32,768~32,767 (3萬多)