原创 SpringBoot指定端口的幾種方式

想法的來源 (1)其實我Linux用的賊爛,一開始的時候我搭建一個服務的時候我不清楚端口是否開放,比如我把阿里雲的防火牆關閉了,但是我沒有配置安全組,我任然不能通過某某端口訪問。 (2)比如你學習nginx的時候,你需要做映射,如果你需要

原创 Gitlab配置webhook監聽其他分支merge到主分支

想法的來源     某大佬讓我實現gitlab的webhook,監聽到其它分支合併到mater分支後給DY發郵件。我做過用 push 到 github觸發jenkins實現自動部署,但是那個時候就是自己玩,不用考慮分支和其它。其實一旦扯到

原创 《java併發編程實戰》總結

第1章 簡介 線程的優勢: ①發揮多處理器的強大優勢  ②建模的簡單性 ③異步事件的簡化處理④相應更靈敏的用戶界面 線程帶來的風險: ①安全性問②活躍性問題③性能問題 第2章 線程安全性 2.1什麼是線程安全性        當多個線程訪

原创 ReentrantLock源碼分析筆記-單線程公平鎖爲例

前提 1)大致瞭解AQS原理(☆☆☆) 2)熟悉雙向鏈表的基本操作 3)本文以公平鎖上鎖釋放鎖爲例跟ReentrantLock代碼(☆☆☆) 4)本文以單線程搶佔鎖釋放鎖爲例(☆☆☆) 5)建議瞭解公平鎖和非公平鎖的區別 6)較好的理解能

原创 以JDBC爲例談雙親委派模型的破壞【轉載】

講的賊明白 https://www.jianshu.com/p/09f73af48a98

原创 OpenFeign使用

前提 服務註冊中心Nacos+服務提供者 Sentinel 會搭建SpringBoot(2.x)+web   服務消費者:OpenFeign使用 代碼下載:https://github.com/cbeann/share/tree/mast

原创 Spring Cloud Sleuth的簡單使用

功能:查看服務之間的調用關係 1)啓動Zipkin Server 下載Zipkin Server https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

原创 自定義redis-spring-boot-starter

寫本文的原因 1)某大佬問我有沒有自定義過starter?沒有 2)因爲不會,所以學習 3)  沒有整合其它技術的小案例不完整,所以選擇了個人認爲簡單的redis,自定義myredis-spring-boot -starter 自定義st

原创 MySQL隔離級別與MySQL的鎖

MySQL隔離級別 測試隔離級別 數據庫準備 數據庫如下圖所示,所有字段都是int(方便測試),id爲主鍵索引,name爲普通索引(唯一索引),age沒有索引 Read Uncommitted(讀取未提交內容) 打開兩個mysql終端

原创 LocalDateTime、Date時間工具類

LocalDateTime工具類 方式1 這種官方的工具類挺不錯,就是要看文檔找,推薦這種工具包 <dependency> <groupId>cn.hutool</groupId> <a

原创 沒有接口實現類代理

問題的提出 正常的jdk動態代理和cglib代理都是通過傳入實體類實現的,dubbo的消息提供者是沒有接口的實現類的,那怎麼實現的? 實現 接口 package com.proxynoimpl; /** * @author CBea

原创 Exception:Connection to node 0 could not be established. Broker may not be available.

問題:Java調用kafkaAPI寫入數據失敗,不報錯 [main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version : 0.11.0.2 [main]

原创 Consul服務註冊中心

cloud註冊中心 SpringCloud的服務註冊中心有Eureka、Zookeeper、Consul和Nacos Eureka(AP)在SpringBoot1.x中比較合適,但是現在是SpringBoot2.x,而且Eureka已經停

原创 Jenkins的簡單使用【圖文並茂】

Jenkins的介紹       官方版:Jenkins是一個開源的、提供友好操作界面的持續集成(CI)工具,起源於Hudson(Hudson是商用的),主要用於持續、自動的構建/測試軟件項目、監控外部任務的運行(這個比較抽象,暫且寫上,

原创 java獲取本機的外網IP地址(親測有效)

獲取本機的外網地址  如果下面正確,請留下您寶貴的贊 package untils; import java.io.BufferedReader; import java.io.IOException; import java.io