原创 四、Java併發編程:併發編程基礎

一、線程簡介 1. main線程 操作系統每啓動一個應用程序都會爲其開啓一個進程;而在進程裏面又可以創建很多線程;Java中運行main方法時,除了main線程,還會啓動其他的線程,下面利用JMX來查看: public stati

原创 二、Java併發編程:Java併發機制的底層原理

一、線程安全問題 1. 一個典型的線程不安全的例子 多個線程同時操作同一份資源的(主要是進行讀寫操作)時候,就有可能會發生線程安全問題;比如兩個人同時對同一個賬戶進行取款操作的時候,就有可能會出現餘額爲負數的結果。 示例:兩個人同時

原创 一、Java併發編程:多線程簡介及入門案例

一、Java多線程簡介 1. 什麼是多線程(multithreading) 多線程(multithreading)是指從軟件或者硬件上實現多個線程併發執行的技術。 2. 併發和並行 併發:在一段時間間隔內,在一個處理器上,通過cpu

原创 三、AOP(Aspect Oriented Programming)

一、簡介 AOP(Aspect Oriented Programming)面向切面編程。將橫向分佈在系統中的與業務功能無關的代碼,如日誌,抽取出來,單獨管理,減少重複。 二、AOP核心概念 橫切關注點:對哪些方法進行攔截,攔截後

原创 七、橋接模式(Bridge Pattern)

1. 意圖 將抽象部分與它的實現部分分離,使它們都可以獨立地變化 2. 動機 需求 栗子的公司接到一個需求,要開發一個跨平臺,支持多種格式的圖片瀏覽系統,要求支持jpg,png,bmp等格式,可以在Windows,Linux,M

原创 八、組合模式(Composite Pattern)

1. 意圖 將對象組合成樹形結構以表示“部分-整體”的層次結構。Composite使得用戶對單個對象 和組合對象的使用具有一致性 2. 動機 栗子的公司需要做一個文件的瀏覽系統,要求可以瀏覽文件夾和各種文件,栗子很快拿出了v1.0版

原创 六、適配器模式(Adapter Pattern)

1. 什麼是適配器模式(Adapter Pattern) 將一個接口轉換爲客戶希望的另一個接口,使得原來不由於兼容性問題不能一起工作的接口,通過適配器轉換能夠一起工作;適配器模式分爲類結構型模式,對象結構型模式,接口型模式 2. 適

原创 一、工廠方法模式(Factory Pattern)

一、簡單工廠模式 1. 什麼是簡單工廠模式 簡單工廠模式是屬於創建型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23種GOF設計模式之一。簡單工廠模式是由一個工廠對象來創建具體的產品實例 2.

原创 四、建造者模式(Builder Pattern)

1. 什麼是建造者模式(Builder Pattern) 建造者模式屬於創建型模式,它將一個複雜對象的構建與表示相分離,使得同樣的構建過程可以得到不同的表示;它將一個複雜的對象一步步分解爲簡單的對象,然後一步步構建而成;它將變與不變相

原创 〇、設計模式概述

一、設計模式概述 1. 什麼是設計模式 設計模式(Design Pattern)是一套被反覆使用、多數人知曉的、經過分類的、代碼設計經驗的總結 2. 爲什麼要用設計模式 使用設計模式是爲了重用代碼、讓代碼更容易被他人理解、保證代碼可靠

原创 二、抽象工廠模式(Abstract Factory Pattern)

1. 什麼是抽象工廠模式(Abstract Factory Pattern) 抽象工廠模式屬於創建型模式,它將只生產單一類型產品但彼此之間相互依賴的工廠聚集起來,成爲一個超級工廠;比如:一輛汽車由輪胎,發動機等組成,抽象工廠將只生產輪

原创 五、原型模式(Prototype Pattern)

1. 什麼是原型模式(Prototype Pattern) 在需要創建大量相同或者相似的對象時,先創建一個原型對象,然後利用這個原型對象進行克隆,從而得到大量對象 java中可以利用Object中的clone()方法快速實現克隆

原创 Linux下安裝Tomcat

一、安裝tomcat 1. 下載tomcat 8.5.39介質 2. 上傳介質並解壓 tar -xvf apache-tomcat-8.5.39.tar.gz 3. 進入tomcat安裝目錄,啓動tomcat sh startup

原创 Java中的事務

一、事務概述 1. 什麼是事務 事務是指對數據庫的一系列的操作序列,數據庫應用系統通過事務集來完成對數據的存取操作。 2. 事務的特性(ACID原則) 原子性(Atomicity):一個事務的操作不可分割,要麼全部成功,要麼全部失敗

原创 Linux下安裝Mysql(centos7,mysql8.5)

一、安裝MySql 1. 檢測是否已經安裝了mysql/MariaDB rpm -qa | grep mysql 2. 卸載mysql/MariaDB rpm -e --nodeps mysql-libs-5.1.71-1.el6.