原创 nginx的Connection refused

問題描述 nginx的錯誤日誌中突然出現大量的的Connection refused問題,日誌如下: 2020/03/19 09:52:53 [error] 20117#20117: *7403411764 connect() f

原创 使用Protocol Buffer打造spring的http請求分發

前言 對於Spring的IoC(控制反轉) 、DI(依賴注入)這兩個概念,使用過spring的都很熟悉,使用容器來控制相關的對象的生命週期和對象間的關係。擴散下思維,可以使用一個容器來存儲相關的http的controller類,根

原创 CentOS 7下mysql 8修改datadir之後提示權限問題

背景 之前默認安裝mysql的時候安裝在系統盤,生成binlog的時候導致系統盤空間不足,需要把mysql移動到其它盤。 操作 1、停止 MySQL 8.0 服務,使用下面的指令 service mysqld stop 2、將默

原创 Nginx connect() failed (110: Connection timed out)

背景 在線上環境中,客戶反饋經常會出現Connection timed out問題,對報錯的原因進行排查,並最終定位到問題並進行總結。 錯誤日誌 2020/03/17 12:32:30 [error] 46678#46678: *

原创 二次封裝elastic-job-lite

1、概述 什麼是elastic-job-lite,它是定位爲輕量級無中心化解決方案,使用jar包的形式提供分佈式任務的協調服務,具體可以點擊鏈接進入官網Elastic-Job-Lite查看,本文主要使用elastic-job-li

原创 Java反射知識總結

在很多情況下,我們知道如何編寫反射相關類或者方法,但是無法口述反射是什麼,裏面的機制是什麼,下面我先如淺入深介紹反射。 1、定義 反射 (Reflection) 是 Java 的特徵之一,它允許運行中動態加載Java 程序獲取自身

原创 設計六大原則總結

1、單一職責原則(SRP) 定義:就一個類而言,應該僅有一個引起它變化的原因 爲什麼需要單一職責呢?如果一個類承擔的職責過多,就等於把這些職責耦合在一起了,一個職責的變化可能會引起其它職責的變化,當變化發生時,設計會遭到意想不到的

原创 重溫Acticity和Fragment生命週期

重溫下Android和Fragment生命週期,理解生命週期方法的作用,什麼時候調用,可以做一些什麼操作。 1、Android生命週期 1.1 生命週期圖 1.2 生命週期函數說明 onCreate:Activity正在創建,

原创 虛擬機類加載機制

很多人覺得會寫Java代碼就行,Java底層怎麼運行的不需要知道,但其實並不是這樣,隨着經驗的積累,你需要了解越來越多的底層原理。我們先來看看下面的代碼,看看class是怎樣加載的。 public class BaseClass

原创 Java內存和OOM情況處理

JVM在執行Java程序時過程中會把內存劃分爲幾個數據區域,報考方法區、虛擬機棧、本地方法棧、堆、程序計數器等。如下圖所示 程序計數器:當前線程所執行的字節碼的行號指示器,每條線程都需要一個獨立的程序計數器;執行的是java方

原创 Android多平臺推送

1、概述 android push集成了小米,華爲,魅族,vivo和oppo五大廠家的push sdk,方便Android各項目集成push。 2、Push類圖 3、Push時序圖 4、使用姿勢 配置global.gradl

原创 對象具體還是抽象?

在開發中,我們經常會把變量設置爲私有(private),不想使用者依賴這些變量,但很多程序員也會給對象自動添加get/set方法,將私有變量公之於衆。 具體點 public class User { private int

原创 Android Room使用

簡介 Room庫在SQLite上提供了一個抽象層,允許在充分利用SQLite的功能的同時進行更健壯的數據庫訪問。可以在運行的app設備上創建一個應用數據緩存,這個緩存作爲app的唯一數據來源,不管用戶是否有連接網絡,都允許用戶在app

原创 Android Service解析

Android Service解析 Android Service是一個可以在後臺執行長時間運行操作而不提供用戶界面的應用組件,它分爲兩種工作狀態,一種是啓動狀態,主要用於執行後臺計算;另一種是綁定狀態,主要用於其他組件和Ser

原创 Android Navigation使用

Android Navigation使用 簡介 Navigation導航編輯器旨在簡化Android開發中導航的實現,可以幫助我們很好的處理Activity和fragment之間通過FragmentTransaction交互的複