原创 Tomcat 服務器學習

一:tomcat架構圖     在tomcat服務器中,只允許存在一個Server,一個Server可以有多個Service,一個Service中只允許有一個Engine,與配置文件Server.xml 對應 二:tomcat 配置文件 

原创 Redis持久化以及數據備份和恢復

1.持久化的意義    災難恢復,數據恢復。可以歸類到類似高可用的環節;如果redis掛了,重啓redis,從磁盤上讀取數據到內存中 2.RDB和AOF兩種持久化機制    RDB,12:00,redis中有100條數據,生成RDB文件,

原创 Redis主從架構--搭建

  一:安裝redis 1.獲取redis資源   wget http://download.redis.io/releases/redis-3.2.1.tar.gz 2.解壓  3.安裝        cd redis-3.2.1   

原创 SQL ——深入分析左連接

背景:在一次開發中,查詢出現了2條重複數據。數據來源於2張表的不同字段,使用左連接方式連表。在這之前,對於左連接的印象始終停留在:以左邊(x left join y ) 即x 的表爲最終結果爲基礎,右邊取需要的字段,如果右邊符合條件的數據

原创 Java面試經歷(初級)

1:權限控制瞭解(高頻) 2:項目監控 3:事務,隔離基本,事務級別 4:多線程創建方式,常用線程池(高頻) 5:100萬數據的表優化(高頻) 6:日誌文件中,如何查詢出top5的sql語句 7:netty底層原理,爲什麼要用netty,

原创 bug查找思路總結及常見錯誤

解決bug總結: 1:首先確認這是不是一個bug,可能是因爲運行環境導致出現該現象;可能是因爲某種依賴的服務未開啓導致,例如報502,503等錯誤;redis連接超時。對於和數據庫數據相關的bug,例如數據不顯示。先用查詢語句,使用這個b

原创 Spring通過註解@Autowired注入對象 注意事項

背景描述:項目使用技術比較老,請求直接通過繼承HttpServlet 接收,用spring,jdbcTemplate管理交互數據。   在servlet層,想要直接注入一個 TenantInfoService   例如: TenantIn

原创 Redis分佈式鎖實現

1:爲什麼需要分佈式鎖    一個web應用部署在多臺服務器上,在程序內部使用鎖,如synchronized(),在單臺服務器上確實沒問題,但是隻能控制單臺服務器的線程執行,對於部署在其他服務器上的應用無法控制,會導致線程安全問題。  

原创 sql——Union的使用場景

最近遇到一個需求,需要將數據庫的一條記錄展示成4條記錄。初次一聽,什麼玩意??仔細分析之後,大概是這樣,一條記錄有多個字段,這些字段又可以歸爲不同類別,所以需要展示成多行形式。 這裏想到2種方案,1是將記錄從數據庫中原模原樣取出來,在代碼

原创 Nginx安裝以及基本配置

一 Nginx概述 1:實際開發遇到的問題    一個服務器支撐不了高併發,需要對服務器進行集羣 2:Nginx概述   nginx常做靜態內容服務和代理服務,tomcat主要做應用服務器   一個http服務器,高性能http服務器及反

原创 Redis讀寫分離--複製

1.redis高併發的瓶頸     單機redis,能夠承載的QPS大概在上萬-幾萬 2.如果redis要支撐超過10萬+QPS   (讀)      讀寫分離,一般來說,對緩存,一般來支撐讀高併發的,寫請求比較少。       mast

原创 多線程使用

項目背景:前端發送一次請求,後臺通過遠程連接技術grpc獲取數據。在一次請求中分多次請求grpc服務端,且請求爲單線程,需要等待上一次請求結束後再發送請求,嚴重影響性能。 解決方案:採用多線程併發發送多個請求。 解決步驟:     1:創

原创 Maven解決jar包衝突示例

 項目背景:在使用grpc遠程連接框架時,導入jar包至已有的項目,在客戶端與服務器連接時,一直報錯:NoSuchMethodError: com.google.common.base.Preconditions.checkArgumen

原创 bug查找思路總結及創建錯誤

解決bug總結: 1:首先確認這是不是一個bug,可能是因爲運行環境導致出現該現象;可能是因爲某種依賴的服務未開啓導致,例如報502,503等錯誤;redis連接超時。對於和數據庫數據相關的bug,例如數據不顯示。先用查詢語句,使用這個b

原创 如何在靜態方法中使用注入的對象

1:在通常情況下,如果需要在靜態方法中使用注入的對象,注入的對象會爲null。  例如: public Class utils{ @Autowired public TenantInfoDao tenantInfoDao;    pu