原创 記錄一次生產環境的多線程併發問題

1.當時的場景 開一個線程,定時check hbase,避免hbase異常時,阻塞大量請求。 2.程序僞代碼 僞代碼如下: 定時用的是jdk自帶的工具類 Timer 具體邏輯: private ExecutorService ex

原创 java實現歸併排序和快速排序-分治法

以下兩個排序都是採用分而治之的方法。 快速排序 /** * 快速排序 */ public class Test2 { public static void main(String[] args) { int a[] =

原创 線程池ThreadPoolExecutor使用踩坑

這個坑不是我挖的,我是無意間看到已離職同事的代碼,這個代碼是兩年前寫的了,聲明的線程池方式如下: private static final ThreadPoolExecutor threadPool = new ThreadPoo

原创 HashMap源碼分析-jdk1.8

首先來看hashmap的幾個構造方法: loadFactor :負載因子,默認是0.75;簡單來說就是達到當前最大容量 * 負載因子,就該擴容了。 1. Map<String, Integer> map1 = new HashMa

原创 linux實用命令記錄

1.採用 ll (ls -l)查看文件時,加上 -h ,文件大小更直觀 2. 以 . (點號)開頭的文件爲隱藏文件 ,需要用 ls -a 才能看到 3. cat 查看文件內容 -n 顯示行編號,-b 非空行編號 4.grep -

原创 阿里巴巴開發手冊-閱讀總結

以下是對阿里巴巴java開發手冊看了後的一些總結,便於自己以後複習。 功能類命名AbstractXXXXX,XXXXXExceptionXXXXXTest boolean變量 不要用is前綴 序列化會出問題 將設計模式體現在名稱中

原创 linux常用功能命令

1.查找文件 find 查詢文件名爲test.java的文件: find / -name "test.java" / 表示從根目錄開始遞歸找 -name 後面跟要查找的文件名 忽略大小寫用 -iname 2.根據文件內容查找

原创 scp和rsync兩個命令的使用和區別

在linux下,我們經常需要兩臺機器之間拷貝文件,或者由於業務需要備份文件,那就不得不用到scp和rsync兩個命令。 1.scp cp 在本機複製文件,這個命令我們經常使用,但是跨機器複製cp就不行了,scp可以跨機器複製文件,

原创 tomcat啓動報錯:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant

項目之前啓動都沒這個問題,突然啓動時就有這個錯誤了: 看報錯信息有提示從jackson-annotations報出來的。 細想,自己最近也沒有動這個包的依賴呀 然後在網上看了資料,原因時:依賴包依賴有jdk1.9的語法信息,to

原创 Solr集羣搭建與簡單使用

以下基於solr6.0.0 官方文檔地址:http://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-6.0.pdf solr下載地址:ht

原创 Centos7設置開機啓動

設置服務開機啓動 systemctl enable 服務名 比如docker: systemctl enable docker 設置腳本開機啓動 比如說我們把服務部署到tomcat中,我們需要設置tomcat開機啓動。 ①首先需

原创 tomcat開機啓動腳本

以下是一個簡單的開機啓動腳本: 需將TOMCAT_DIR修改爲自己的tomcat路徑。 centos7必須要有**#!/bin/bash**,建議都加上 #chkconfig:2345 80 05也必須要有,參數可調整: 2345

原创 定義springboot starter的兩種方式

springboot starter 命令規則 首先了解一下starter的命名規範 如果是springboot官方的starter,命令格式爲spring-boot-starter-xxxxx 如果是我們開發starter,命令

原创 springboot自動注入源碼解析

基於springboot 2.1.3版本 首先看看springboot啓動類代碼: @SpringBootApplication public class Application { public static void

原创 Nginx 知識總結

1.Nginx特點 高併發,低消耗,熱部署,高可用,高擴展 2.Nginx常用命令 nginx -h 查看命令選項 nginx -v 查看版本信息 nginx -tq 驗證配置文件是否有錯誤 默認是驗證conf/nginx.con