原创 Shell 簡單教程

Hello World 這裏我們在Linux環境下進行操作,通過vi來進行編輯。 通過vi創建並編輯一個test.sh文件: #!/bin/bash echo "Hello World !" 該文件的作用是在控制檯輸出“Hell

原创 【Java編程思想】線程的基本協作機制 與 線程的中斷

wait/notify Java在Object類中定義了一些線程協作的基本方法,wait和notify public final void wait() throws InterruptedException; public

原创 【Java編程的邏輯】容器類的總結

抽象容器類 用法和特點 容器類有兩個根接口,分別是Collection 和 Map ,Collection表示單個元素的集合,Map表示鍵值對的集合 。 Collection Collection表示的數據集合有基本的增、刪

原创 《Spring源碼深度解析》讀書筆記 - 默認標籤的解析

默認標籤的解析是在parseDefaultElement函數中進行的, // DefaultBeanDefinitionDocumentReader.java private void parseDefaultElement(Eleme

原创 MySQL優化-基礎優化

慢查詢日誌 如何發現有問題的SQL? 使用MySql慢查日誌對有效率問題的SQL進行監控 -- 查看慢查日誌是否開啓 show variables like 'slow_query_log'; -- 開啓慢查日誌 set glo

原创 兩個單鏈表相交的一系列問題

兩個單鏈表相交的一系列問題 【題目】在本題中,單鏈表可能有環,也可能無環。給定兩個單鏈表的頭節點head1和head2,這兩個鏈表可能相交,也可能不相交。請實現一個函數,如果兩個鏈表相交,則返回相交的第一個節點;如果不相交,則返回null

原创 【Java編程的思想】併發總結

線程安全的機制 線程表示一條單獨的執行流,每個線程有自己的執行計數器,有自己的棧,但可以共享內存,共享內存是實現線程協作的基礎,但共享內存有兩個問題:競態條件和內存可見性。 synchronized synchronized是一個關鍵字

原创 【Java編程的邏輯】線程池

基本介紹 線程池,顧名思義,就是一個線程的池子,裏有若干線程,它們的目的就是執行提交給線程池的任務,執行完一個任務後不會退出,而是繼續等待或執行新的任務。 線程池的優點: 可以重用線程,避免線程創建的開銷 任務過多時,通過排序避

原创 【Java編程的邏輯】異步任務執行服務 Executor和ExecutorService

基本概念 線程Thread即表示要執行的任務,又表示執行的機制。 Java併發包提供了一套“異步任務執行服務”機制,將“任務的提交”和“任務的執行”相分離。 任務執行服務涉及到的基本接口: Runnable和Callable:

原创 《Spring源碼深度解析》讀書筆記 - bean的加載

基本流程 完成了XML配置文件的解析,接下來就是對bean加載的探索。 //2.從ioc容器中獲取bean實例 MyTestBean myTestBean = (MyTestBean) beanFactory.getBean("myTe

原创 《Spring源碼深度解析》讀書筆記 - 容器的基本實現

容器的基本用法 public class MyTestBean { private String testStr = "testStr"; public String getTestStr() { re

原创 【Java編程的邏輯】定時任務

Timer和TimerTask 基本用法 TimerTask表示一個定時任務,它是一個抽象類,實現了Runnable,具體的定時任務需要繼承該類,實現run方法。 Timer是一個具體類,它負責定時任務的調度和執行,主要方法有: //

原创 關於Redis會回收超時key的存儲空間的問題?

這裏有一個問題需要討論:如果key超時了,Redis會回收key的存儲空間嗎? 答案是不會。Redis的key超時不會被其自動回收,它只會標識哪些鍵值對超時了。 這樣做的一個好處在於,如果一個很大的鍵值對超時,比如一個列表或者哈希結構

原创 【Java編程的邏輯】原子變量 & CAS & 顯示鎖

原子變量 在理解synchronized中有使用synchronized保證原子更新操作,但是使用synchronized成本太高了,需要先獲取鎖,最後還要釋放鎖,如果獲取不到鎖還需要等到。這些成本都是比較高的,對於這種情況,可以使用原子

原创 【Centos】常用軟件安裝方法

mysql https://cloud.tencent.com/developer/article/1018423 centos7通過yum安裝JDK1.8 http://blog.csdn.net/a360616218/articl