原创 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