原创 Java設計模式: 單例模式

單例模式: 內存中只存在一份該類的實例對象, 分爲懶漢式和餓漢式單例模式。 開發中:建議使用餓漢式單例模式 (例如JDK中的Runtime類),因爲餓漢式不存在線程安全問題。 面試中:建議談談懶漢式單例模式,因爲其中會涉及延遲加載的思想和

原创 Java WEB中的亂碼解決方案

1. 請求編碼 GET請求解碼 當客戶端通過GET請求發送數據給服務器時,使用request.getParameter()獲取的數據是被服務器誤認爲ISO-8859-1編碼的,也就是說客戶端發送過來的數據無論是UTF-8還是GBK,服務器

原创 反射概述與Class對象的三種獲取方式

Java反射機制:     在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性。這種動態獲取的信息以及動態調用對象方法的功能稱爲Java語言的反射機制。   類加載器:  

原创 coalesce---一個很有用的函數

在mysql中,其實有不少方法和函數是很有用的,一個叫coalesce的,作用是將返回傳入的參數中第一個非null的值,比如     SELECT COALESCE(NULL, NULL, 1);  -- Return 1  SELECT

原创 Spring的IOC、DI及ApplicationContext與BeanFactory

IOC(Inverse Of Control)控制反轉 : 所謂控制反轉就是把創建對象(bean),和維護對象(bean)的關係的權利從程序中轉移到spring的容器(applicationContext.xml),而程序本身不再維護。

原创 Spring的Bean生命週期方法

   代碼實現: PersonService.java package cn.itcast.beanlife; import org.springframework.beans.BeansException; import org.

原创 Spring自定義屬性編輯器

什麼叫屬性編輯器及其作用?        *將spring配置文件中的字符串轉換成相對應的java對象        *spring內置了一些屬性編輯器,也可以自定義屬性編輯器 自定義屬性編輯器的步驟: 繼承PropertyEditorS

原创 設計模式--單例模式

單例設計模式概述:          單例模式就是要確保類在內存中只有一個對象,該實例必須自動創建,並且對外提供。 優點 :        在系統內存中只存在一個對象,因此可以節約系統資源,對於一些需要頻繁創建和銷燬的對象單例模式無疑可以

原创 設計模式--模版設計模式

模版設計模式概述:       模版方法模式就是定義一個算法的骨架,而將具體的算法延遲到子類中來實現 優點:       使用模版方法模式,在定義算法骨架的同時,可以很靈活的實現具體的算法,滿足用戶靈活多變的需求 缺點:       如果

原创 設計模式--裝飾設計模式

裝飾設計模式概述:        裝飾模式就是使用被裝飾類的一個子類的實例,在客戶端將這個子類的實例交給裝飾類。是繼承的替代方案 優點:       使用裝飾模式,可以提供比繼承更靈活的擴展對象的功能,它可以動態的添加對象的功能,並且可以

原创 反射越過泛型檢查

 ReflectionDemo.java: package cn.itcast.reflection; import java.lang.reflect.Method; import java.util.ArrayList; /**

原创 泛型 ? extends E ? super E

package cn.itcast.generic; import java.util.ArrayList; import java.util.Collection; public class SupperGenericDemo {

原创 Spring注入與配置文件加載方式

目錄 set方法注入: 構造方法注入: 配置文件的加載方式: Spring的注入方式常用的有set方法注入和構造方法注入 set方法注入: applicationContext-beans.xml <?xml version="1.0"

原创 集合框架--List ConcurrentModificationException

ConcurrentModificationException.java package cn.itcast.exception; import java.lang.ref.SoftReference; import java.uti

原创 JAVA生產者與消費者代碼優化

Student.java package cn.itcast.productAndConsumer; public class Student { private String name; private int age; pr