原创 常見字符串類

常見字符串類 String StringBuffer StringBuilder 作用 String: 不可變字符串,底層使用的是字符數組保存的字符串 private final char value[] StringBuff

原创 類與對象

Java識別對象方式 RTTI:編譯時就知道所有類型 反射:運行時發現和使用類信息 ps:RTTI工作是由Class對象完成,包含了與類有關的信息。 多態相關概念 讓代碼只操作基類的引用,如果添加新派生類,不會影響原有代碼。

原创 JAVA 反射

Java 反射機制 本文主要是學習反射的一些核心知識點 反射概念 JAVA反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意方法和屬性。 反射支持 Class類庫與jav

原创 數據庫中的各種鍵

超鍵 在關係中能唯一標識元組的屬性集稱爲關係模式的超鍵。 一個屬性可以爲作爲一個超鍵,多個屬性組合在一起也可以作爲一個超鍵。超鍵包含候選鍵和主鍵。 候選鍵 是最小超鍵,即沒有冗餘元素的超鍵。 主鍵 數據庫表中對儲存數據對象予以唯

原创 工廠模式

工廠模式是常見的設計模式,包含簡單工廠、工廠方法、抽象工廠。 由於簡單工廠比較簡單,故主要介紹工廠方法和抽象工廠。 工廠方法 特點 一個工廠創建一個產品,工廠和產品是一對一的關係。 盜圖(^_^) 個人示例代碼 -----

原创 存儲過程簡介

存儲過程(Stored Procedure)是在大型數據庫系統中,一組爲了完成特定功能的SQL 語句集,存儲在數據庫中,經過第一次編譯後再次調用不需要再次編譯,用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它

原创 Spring Bean的加載

Spring Bean的加載步驟值得研究下。 1. 轉換對應的BeanName 從傳入的beanName獲取最終的beanName. 2. 嘗試從緩存中加載單例 嘗試從緩存中加載,如果沒有,從singletonFactories中加載

原创 封裝+繼承+多態-零星知識點

封裝繼承多態的基本概念就不介紹了。主要介紹一些不熟悉的知識點。 向上轉型 導出類可以轉型爲基類,總是安全的,唯一可能發生的就是丟失方法。 封裝多態區別 封裝:通過合併特徵和行爲來創建新的數據類型。 多態:消除類型之間的耦合關係。 覆蓋

原创 線程池原理

避免每次新起線程對內存的消耗,降低資源消耗,提高內存利用率,使用線程池將線程管理起來。 線程池 Executor // 基礎用法 public class ExecutorTest { public static void mai

原创 數據庫範式

設計關係數據庫時,遵從不同的規範要求,設計出合理的關係型數據庫,這些不同的規範要求被稱爲不同的範式,各種範式呈遞次規範,越高的範式數據庫冗餘越小。 第一範式(1NF) 符合1NF的關係中的每個屬性都不可再分。每一列都是原子性。所有關係型數

原创 Java面試題整理

感覺看了一段時間的書,好多知識點也記得不牢,Java知識點博大精深,好多知識點還是需要面試題來進行練習才能鞏固。 按照不同方向整理Java方向的面試題,希望後續能有所突破 Java基礎方向 數據庫方向 JVM方向 多線程 框架方向

原创 常見的RPC框架

常見的RPC框架 RMI Hessian Dubbo RMI Registry其實充當了一個管理者,用於管理註冊的API。 序列化和反序列化都用的是Java自帶的。 Hession 基於HTTP協議傳輸,性能方面一般,負載均衡和

原创 數據庫索引 + 執行計劃

基本概念 索引是對數據庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問數據庫表中的特定信息(From 百科) 索引是一種特殊的文件(InnoDB數據表上的索引是表空間的一個組成部分),它們包含着對數據表裏所有記錄的引用指針。

原创 Sychonize用法

通用用法 Java每個對象都可以作爲鎖 1. 普通同步方法,鎖的是當前實例對象 2. 靜態同步方法,鎖的是當前class對象 3. 同步代碼塊,鎖的是括號中的對象 擴展 1. 不同對象的多線程是可以同時訪問同一個synchroni

原创 線程雜項題

1. 死鎖避免方法 (1)注意加鎖的順序,加鎖都用同一順序。 (2)注意鎖的超時機制 2. 線程優先級 (1)可以用setpriority設置優先級(1-10),自動對應操作系統的優先級。 (2)getState可以獲取線程狀態。 3