原创 Git的簡單提交

Git操作 1.創建項目 首先在github創建一個項目,然後就會生成如下代碼用於建立本地與遠程倉庫的連接 echo "# Dobbo-learn" >> README.md git init git add README.m

原创 Mysql主從分離原理

  主從同步如何工作?   一、master將日誌存進Binary log後,master通知存儲引擎,提交事務。 二、slave將日誌拷貝到其中繼日誌(Relay log)當中,salve首先開啓一個I/O工作線程,在master

原创 Logback日誌的基本概念

一、記錄日誌一般有兩個目的 1.做故障定位。 2.顯示程序運行狀態。 二、Logback的主要模塊 1.logback-access 2.logback-classic 3.logback-core 三、Logback的主要標

原创 idea使用快捷鍵(windows平臺)

Ctrl+shift+A:快速查找常用功能。 Ctrl+N:快速查找任意的類。鍵入Ctrl+N後再鍵入Ctrl+N可以查找非本項目中的類(jar中的類)。 Ctrl+shift+N:快速查找項目中的文件。鍵入Ctrl+shift+N後再鍵

原创 典型的左連接

這裏的左連接是使用了my_friends表的my_friend_user_id字段與users表的id字段進行連接,也就是由兩張表形成一張表,這兩張表的用於連接的字段融合爲一。

原创 sql語句的連接方式

前景:因爲此項目是一個好友聊天項目,目前有兩張表:(1)用戶表,(2)好友請求表 (1)用戶表(users): (2) 好友請求表(friends_request):  需求:連接兩張表格,查找出好友請求表中接收者id爲 '20012

原创 AOP的原理之:Cglib的動態代理

     因爲jdk的動態代理只能對實現了接口的類去產生代理。如果要產生代理的類沒有實現接口,則jdk的動態代理就無法使用。CGLIB代理的原理是生成了一個類來繼承目標類。使用CGLIB代理需要添加CGLIB的包,如果添加了spring的

原创 AOP的原理之:JDK的動態代理

廢話少說,直接上代碼,因爲這是面試常考的點,所以放到博客這邊利於查看,同時這也是很久以前學習過的知識點,藉此機會重溫一遍。 一,首先定義接口和具體的實現類: //接口 public interface UserDao { pub

原创 ReentrantLock的小Demo(展示其公平性功能)

1.設置公平鎖: import java.util.concurrent.locks.ReentrantLock; public class ReentrantLockDemo implements Runnable{ p

原创 比較器Comparable和Comparator的區別

1.Comparable是自己和自己比。Comparator可以看作是第三方的比較器。 2.Comparable的比較方法是compareTo,Comparator的比較方法是compare。 3.一般使用Comparable和Compa

原创 Java垃圾回收機制------垃圾回收算法

一、標記---清除算法(Mark and Sweep) 標記:從根集合進行掃描,對存活的對象進行標記。 清除:對堆內存從頭到尾進行線性遍歷,回收不可達對象內存。    二、複製算法(Copying) 分爲對象面和空閒面。 對象在對象面上

原创 Java垃圾回收機制------標記算法

一、對象被判定爲垃圾的標準 沒有其他對象的引用 二、判斷對象是否爲垃圾的算法 1.引用計數算法: (1)通過判斷對象的引用數量來決定對象是否可以被回收。 (2)每個對象實例都有一個引用計數器,被引用則+1,完成引用則-1。 (3)任何引用

原创 JMeter壓測

一、創建線程組: 首先,新建線程組, 線程數 : 是指總共進行查詢的線程的線程數量,這裏是10個線程。 Ramp-Up: 是指完成查詢所需要的時間,1表示,在一秒內先後執行完規定線程數的線程,如果Ramp-Up的值是0,則表示

原创 JDK源碼分析

1.在Calendar類中的getInstance方法中發現使用了簡單工廠的方法,簡單工廠不屬於GOF23種設計模式中的模式,它是一種十分簡單的獲取對象的方式。它不考慮擴展性。這裏使用了一個分支語句決定返回的對象的類型。 privat

原创 idea使用快捷鍵

Ctrl+N:快速查找任意的類 Ctrl+F12:查看當前類中所有的方法 Ctrl+T:在鼠標指向接口方法的情況下使用,查看實現的具體方法。