原创 JVM(2):垃圾收集器與gc

1.java堆的基本結構與一個對象在堆中的分配 其中的Eden,Survivor0和Survivor1被稱爲新生代,Tenured被稱爲老年代。 當一個對象被new出來之後,如果他非常的大,那麼直接裝入Tenured中。否則裝入

原创 C語言的一些遺留問題(2):多維數組與指針

二維數組中運用指針的情況十分重要也是操作二維數組中幾乎必不可少的操作,但是又因爲相對理解的時候有點繞,所以如果長時間沒有使用或者溫習,就很容易遺忘,我們先以一個代碼段來作爲例子: #include <stdio.h> int m

原创 初識MySQL(1)查詢,排序,過濾數據

1.檢索中的DISTINCT關鍵字的應用 在檢索中,如果我們需要檢索某一行但是如果這一行中只有3個不同的數據,如顏色只有紅黃綠三種顏色,但是總共有100個數據,如果我們只是簡單的使用下列SQL語句: SELECT COLOR FR

原创 初識MySQL(9)管理事務處理

1.幾個相關概念 事務:指一組SQL語句。 回退:指撤銷指定SQL語句的過程。 提交:指將未存儲的SQL語句結果寫入數據庫表中。 保留點:指事務處理中發表的臨時佔位符,可以對它發佈回退。 2.控制事務處理 管理事務處理的關鍵在於將

原创 JAVA之Polymorphic(多態)

1.多態的幾個必要條件 1.有繼承關係 2.有方法的重寫 3.父類引用指向子類對象 2.多態中類成員的變現情況 父類: class Father{ public int num = 10; public Stri

原创 JDK動態代理(AOP原理)

動態代理的簡單的實現: //接口 interface Thing { void drive(); } //被代理類 class Car implements Thing { @Override publi

原创 對於MyBatis底層實現的一點見解

花了一天的看了一些MyBatis的一些最基本的源碼。其實MyBatis在使用起來並沒有那麼複雜,我使用一般是直接在SpringBoot項目中進行關聯,然後對於數據庫的四大要素進行配置之後就可以直接使用MyBatis對數據庫進行操

原创 java線程池簡單的執行過程

創建線程的三種方式 首先看一下java中創建線程的三種方式: 繼承Thread類: class MyThread extends Thread { public void run() { System.ou

原创 藍廠春招筆試

一個小時,3道題,A出1.7道,最後一道沒時間看。 題目一(100%) /** * 隨着製造工藝的提升,藍廠工人生產手機的效率隨着時間的推移逐漸增加,第一天每天生產一部,接着的兩天每天生產2部,接着的三天每天生產3部手機,以此類

原创 Java併發編程:線程池的使用

Java併發編程:線程池的使用   在前面的文章中,我們使用線程的時候就去創建一個線程,這樣實現起來非常簡便,但是就會有一個問題:   如果併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁創建線程就會大大降低系

原创 排序算法總結

排序算法總結 1.幾種基本的代碼實現 冒泡排序: /** * 冒泡排序 * @param arr 待排序數組 * @return */ public void BubbleSort(in

原创 初識MySQL(6)數據的插入,更新,刪除

毫無疑問,SELECT是SQL中使用得最多的語句,但是還有其他三種對數據進行操作的語句,分別是插入,更新和刪除,他們的相應操作都十分的簡單,只需要簡單的例子便可理解。 1.插入數據 插入一個完整的行: INSERT INTO cu

原创 初識MySQL(4)聚集函數,分組數據,子查詢,分組查詢

1.聚集函數 聚集函數其實就是一種函數的使用方式,用來進行一些比較高級的數據操作,使用起來也比較簡單,我們就先舉幾個例子,並對他們進行解釋分析即可。 SELECT AVG(age) AS avg_age FROM TABLE1;

原创 初識MySQL(2)通配符,正則表達式

1.通配符 通配符一般使用LIKE關鍵字來進行連接,常用的通配符符號有%和_。 通配符的使用在我們對查找條件並不是特別明確的時候可以幫助我們過濾數據。 例如,查找NAME中含有“林”的結果。 SELECT NAME FROM TA

原创 初識MySQL(5)表的聯結

1.外鍵 表的聯結就是將兩個不同的表通過他們公共的列屬性合成一個表,方便我們對其中的屬性進行更進一步的操作,而在表的聯結的過程中就會出現一個我們之前沒有接觸過的概念:外鍵。 外鍵指的就是B表中的屬性中如果有A表的主鍵屬性,那麼稱這