原创 阿里規約中只要重寫 equals,就必須重寫 hashCode的原因

參考:https://blog.csdn.net/qq_35868412/article/details/89380409

原创 IDEA中某個類實現序列化後自動生成serialVersionUID

serialVersionUID的作用參考: https://blog.csdn.net/u014750606/article/details/80040130 生成的方法; https://jingyan.baidu.com/artic

原创 spring boot 配置讀哪個環境

比如有:dev、test、prod。 application-dev.properties:開發環境 application-test.properties:測試環境 application-prod.properties:生產環境 首先

原创 spring boot操作多數據源分佈式解決方案

操作多數據源不能回滾時,可以使用如下方案: 1.springboot+jta+atomikos 分佈式事物管理 2.兩段提交協議 3.MQ消息推送

原创 Spring boot 動態模板靜態化

渲染Web頁面 在之前的示例中,我們都是通過@RestController來處理請求,所以返回的內容爲json對象。那麼如果需要渲染html頁面的時候,要如何實現呢? 模板引擎 在動態HTML實現上Spring Boot依然可以完美勝任,

原创 http協議總結

什麼是時間戳? 時間戳作用 防止緩存,解決版本更新代碼不同步的問題。如果不加時間戳,當http相應狀態爲304時,從本地緩存中讀取資源,而沒有請求到服務器。 http狀態304 表示從本地讀取。 解決非法盜用資源的方法? 通過判斷Re

原创 web服務器

web服務器有哪些:Tomcat,weblogic等,特點如下。                            WebLogic: BEA公司的產品。 收費的。支持JavaEE規範。                        

原创 idea中設置打印GC日誌

首先需要進行VM options 配置:-XX:+PrintGCDetails 運行測試時如下:  由此可以知道jdk1.8中有新生代、老生代和Metaspace 組成。 jvm參數調節,默認爲: -Xms128m -Xmx2023m

原创 StringBuffer和StringBuilder的區別

二者都可以用於拼接字符串 區別: StringBuffer線程安全,StringBuilder不是線程安全 StringBuffer執行效率低,StringBuilder執行效率高 StringBuffer和StringBuilder類似

原创 IDEA中解除git版本控制

刪除git版本控制,需要刪除對應的隱藏文件.git和對應的vcs.xml 參考:https://blog.csdn.net/qq_38225558/article/details/86233910

原创 設計模式總結

一、爲什麼用設計模式? 使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 如代理模式可以請求打印日誌信息,工廠模式可以負責初始化一些,觀察者模式可以對事件的監聽,單例模式,一定會手寫單例 策略設計模式 二、設計模式分

原创 停止線程有三種方法

1.使用退出標誌,比如while(!exit) ,使線程正常退出,也就是當run方法完成後線程終止。 2. 使用interrupt方法中斷線程。 線程在阻塞狀態 3.不建議使用stop() 線程分爲兩種: 1.用戶線程 2.守護線程,用s

原创 synchronized和lock鎖的總結

線程不安全的問題怎麼解決? synchronized和lock都能解決線程不安全的問題 一、synchronized 三種同步方式:同步代碼塊(使用自定義明鎖)、同步函數(使用this鎖)、同步靜態函數(使用字節碼文件,即類.class)

原创 Eureka和ZooKeeper的區別

erreka保證可用性即ap,zookeeper保證數據一致性,即從cp 參考:https://blog.csdn.net/java_xth/article/details/82621776  

原创 多線程總結

一、基本認識 同步(單任務執行):下一個任務必須等上一個任務執行完才執行 異步(多任務執行): 二、創建多線程三種方式 1.通過繼承Thread 2.通過實現Runable 3.通過匿名內部類的方式 總結特點:不管是哪種方法調用多線程