原创 設計模式學習筆記---------------------------------------------工廠模式和匿名類

     實現原理:利用多態的特性,將定義和實現徹底分開。      應用場景:對於某一羣擁有公共接口的類,只用知道類名,就可以得到該類的實例對象。這對於一些複雜的對象,直接通過new創建會比較複雜,而且對於使用者來說沒有必要,還有就是如

原创 手寫spring(二)------------------------------------------------------------------自定義註解

項目地址:https://github.com/gongxianshengjiadexiaohuihui/noobspring 我們知道spring使用了大量的註解,首先我們需要了解註解是用來幹嘛的,這裏我講一下個人的理解和看法。    

原创 記錄CenOS7上一次Mysql數據庫的遷移

    昨天一臺服務器壞了,影響了好多項目的正常進行,這個任務被交給了我,解決方案是拆掉壞掉機器的硬盤,掛載到新的服務器上,將數據庫遷移。     第一步,把拆掉的硬盤裝到新的服務器上     第二步,掛載    使用命令       

原创 java.util.concurrentModificationException詳解(爲什麼要這樣做,如何實現)以及解決問題過程中的有趣發現

今天遇到一個極爲神奇的問題。 改了名字就報錯,不改就正確。    定位到錯誤代碼 注意我黑色圈出來的東西。ioc是一個HashMap,ioc.values()返回的是一個Collection,在進行迭代的過程,我對ioc裏面的內容進行了

原创 pom標籤詳解

原文鏈接:https://blog.csdn.net/javaloveiphone/article/details/52080886 <project xmlns="http://maven.a

原创 《JAVA編程思想》讀書筆記(1-8章)

JAVA語言的五個特性 1、萬物皆爲對象。將對象視爲奇特的變量,它可以存儲數據,除此之外,你還可以要求它在自身上執行操作。理論上講,你可以抽取待求解問題的任何概念化構件(狗、建築物、服務等),將其表示爲程序中的對象。 2、程序是對象的集合

原创 char類型byte類型或short類型進行無符號右移遇到的神奇問題

代碼 package com.ggp.test.Third; /** * @Author:ggp * @Date:2019/7/27 17 23 * @Description: */ public class URShift

原创 探究ThreaLocal

前言     ThreadLocal提供一個(只有一個)線程的局部變量,爲了確保多線程環境下,線程的安全性。其實可以這樣理解,ThreadLocal其實就是一個普通類,它聲明的對象有明確的作用範圍,這個範圍就是用ThreadLocal去聲

原创 自定義類加載器,發現會自動加載類和類的父類一直加載到java.lang.object爲止

下面是自定義加載器的實現 package com.ggp.jvm; import java.io.IOException; import java.io.InputStream; /** * @author: ggp * @Da

原创 淺談java的類加載機制和雙親委派模型

類加載器   虛擬機設計團隊把類加載階段中的“通過一個類的全限定名來獲取描述此類的二進制字節流”這個動作放到java虛擬機的外部去實現。以便讓應用程序自己決定如何去獲取所需要的類。實現這個動作的代碼模塊稱爲類加載器。   類加載器可以說是

原创 《自己動手寫java虛擬機》學習筆記(九)-----指令集和解釋器

項目地址:https://github.com/gongxianshengjiadexiaohuihui      後面的筆記將不會區分go很java,也會改變以前大篇幅的寫代碼,更加註重對思想的講解,但是兩種語言的代碼會同步更新    

原创 new String()傳入字節數組生成String後,通過getBytes()得到的結果和原來不同

     發現一個神奇的問題。      package com.ggp.sqy42d; import java.util.Arrays; /** * @author: ggp * @Date: 2019/3/22 14:30

原创 使用Sm2進行簽名驗籤

需要的jar包 bcprov-jdk15on-1.59.jar commons-lang3-3.1.jar 代碼 package com.ggp.sqy42d; import org.bouncycastle.asn1.gm.GMNa

原创 使用Sm3週期性hash計算

配置類 package com.ggp.sqy42d; /** * @author: ggp * @Date: 2019/3/18 11:06 * @Description: */ public class Configure

原创 手寫spring(四)------------------------------------------------------------------aop(jdk動態代理和cglib動態代理)

項目地址:https://github.com/gongxianshengjiadexiaohuihui/noobspring 我們先來理一下思路,aop是需要織入通知,我們是按照動態代理來實現的,目的就是生成一個代理類對象替代ioc容器