原创 Java學習筆記之深入理解關鍵字final

基本概念 final是Java中是一個保留的關鍵字,可以聲明變量(包括成員變量[實例變量和靜態變量]和局部變量)、方法和類。它通常指“這是無法改變的”。將變量、方法和類聲明爲final,JVM能夠對其進行優化,進而提升性能。 其

原创 Java學習筆記之對象和對象引用

基本概念 對象: 《Java編程思想》:按照通俗的說法,每個對象都是某個類(class)的一個實例(instance)。 引用: 《Java編程思想》: 每種編程語言都有自己的數據處理方式。有些時候,程序員必須注意將要處理的

原创 Java學習筆記之Iterator和ListIterator

Iterator接口是對collection進行迭代的迭代器,ListIterator接口是其子接口。它們都是遍歷集合的工具。 Collection依賴於Iterator,其實現類都必須實現iterator()函數,返回一個I

原创 Java學習筆記之重寫(Overriding)與重載(Overloading)

更多博文可參考我的個人獨立博客:賤賤的夢想 重寫(Overriding) 重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫!返回值和形參都不能改變。即外殼不變,核心重寫! 重寫的好處在於子類可以根據需要,定義特定於

原创 JSP中的四種範圍屬性

JSP中的對象,包括用戶創建的對象(如JavaBean對象)和JSP的隱含對象,都有一個範圍屬性。範圍屬性規定了這些對象的作用域,定義了在什麼時間內,在哪一個JSP頁面中可以被訪問。在JSP中,有四種範圍屬性: - page:在

原创 Java學習筆記之自動裝箱與拆箱

更多博文可參考我的個人獨立博客:賤賤的夢想 什麼是自動裝箱與拆箱 自動裝箱就是Java自動將原始類型值轉換成對應的對象,比如將int的變量轉換成Integer對象,這個過程叫做裝箱,反之將Integer對象轉換成int類

原创 探討Class.forName和Classloader.loadClass區別

在探討這兩個區別前,先回顧下Java類加載過程,可分爲五個階段:加載,驗證,準備,解析,初始化,如下圖所示: 加載:該階段會在內存中生成一個代表這個類的java.lang.Class對象,作爲方法區這個類的各種數據的入口 驗證

原创 拓撲排序(Topological Sorting)算法

拓撲排序(Topological Sorting) 在圖論中,由一個有向無環圖的頂點組成的序列,當且僅當滿足下列條件時,稱爲該圖的一個拓撲排序: 每個頂點出現且只出現一次; 若A在序列中排在B的前面,則在圖中不存在從B到A的路徑

原创 servlet的註冊和映射

Servlet程序需要在web.xml中註冊和映射,纔可以被Servlet引擎(容器)加載和被外界訪問。 Servlet註冊 xml代碼: <web-app> ... <servlet> <ser

原创 Java學習筆記之深入理解關鍵字null

更多博文可參考我的個人獨立博客:賤賤的夢想 關鍵字null 跟public、static、final一樣,null也是java的關鍵字(更多關鍵字可以參考Java學習筆記之基本語法)。不能將null寫成Null或NULL

原创 Java學習筆記之深入理解動態綁定和靜態綁定

基本概念 動態綁定和靜態綁定是Java中兩個重要的概念。首先思考這麼一個問題,當一個類中存在方法名相同但參數不同(重載)的函數或同一類層次結構下同一名稱的方法(重寫),程序在執行的時候該如何辨別區分呢?這裏就需要用到Java中的動

原创 Java學習筆記之繼承與初始化

更多博文可參考我的個人獨立博客:賤賤的夢想 在探討包括繼承在內的初始化全過程前,我們先總結下代碼塊的相關知識。 代碼塊 在java中,所謂的代碼塊,就是用大括弧{}將多行代碼封裝在一起,形成一個獨立地數據體。Java中的代

原创 Java學習筆記之String、StringBuffer和StringBuilder

更多博文可參考我的個人博客:賤賤的夢想 基本概念 String:此類代表字符串常量,它們的值在創建之後不能更改。 StringBuffer:是一個線程安全的可變字符序列,它與String一樣,在內存中保存的都是一個有序

原创 Servlet 3.0新增註釋

新增註釋是Servlet 3.0中的重大革新之一。通過使用註釋就無需在web.xml文件中對Servlet或者過濾器進行配置。 新增的註釋支持:Servlet 3.0的部署描述文件web.xml的頂層標籤 有一個 metada

原创 Java學習筆記之進程和線程

進程(process)是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。 線程(thread)是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作