原创 JVM 集合
1.stackovererror 方法調用過深會stack溢出 通過xss調整大小 2.Minor GC 觸發條件 eden區man之後觸發 3.FULL GC 觸發條件 老年代空間不足觸發FULLGC
原创 Jar包文件中class文件替換
1.jar替換 創建test.java文件包文件 mkdir -p com/xxx/xxxx/aaa/bbbb 把class 文件放進去 com/xxx/xxxx/aaa/bbbbx jar uvf xxxxx.jar com/xxx
原创 JVM 內存佔用過大排查
1.找出佔用內存過大的JAVA進程 執行top命令 對象佔用內存大小,從大到小進行排序 jmap -histo:live 1340 //展示所有 jmap -histo:live 1340 | hea
原创 線程池是如何做到複用的?有源碼有真相
1.線程池作用不再介紹,大家都知道 2.結構 借用一張圖: 3.幹活線程是如何做到複用的 static ExecutorService newfixed=Executors.newFixedThreadPool
原创 數組排序
public static void main(String[] args) { Integer[] arr={9,8,7,6,11,4,23,2,1}; //降序 1 Arrays.sort(arr,Coll
原创 Unsupported major.minor version 52.0。
使用jdk 1.8,完美解決
原创 linux.查看定時任務,查看定時任務日誌(類似於eclispe控制檯)
在 /var/spool/mail/root 文件中,有crontab執行日誌的記錄,用tail -f /var/spool/mail/root 即可查看最近的crontab執行情況
原创 開啓redis 允許外網IP 訪問
修改redis的配置文件,將所有bind信息全部屏蔽。 # bind 192.168.1.100 10.0.0.1 # bind 192.168.1.8 # bind 127.0.0.1 如果iptables 沒有開啓6379端口
原创 mysql-mysqlbin-log,獨立表空間開啓
1.查看Mysql是夠開啓日誌 show variables like 'log_bin'; ; 2.開啓日誌 3.查看日誌文件, 日誌文件在數據目錄下面,(data目錄) -----------mysq開啓獨立表空間
原创 eclipse下面的工程打包,放到linux運行
1.創建manifest.mf文件, 文件內容如下, Manifest-Version: 1.0 Main-Class: main.MyMain Class-Path: . lib/commons-beanutils-1.7.0.jar
原创 Linux 文件編碼格式設置
執行shell文件時候,報錯 /bin/bash^M: bad interpreter: No such file or directory 一般是編碼格式問題,可能是dos格式, 用vi命令打開要替換尖括號的文件 直接輸入
原创 linux node.js安裝
http://www.linuxidc.com/Linux/2015-02/113554.htm wget http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz 在編譯我們的代碼
原创 java.lang.IllegalArgumentException: An AccessDecisionManager is required
jdk,從1.8換成1.7完美解決。
原创 linux,給用戶分配目錄的讀寫權限
root登錄的情況下使用chown、chmod命令 chown test123:test123 /root/local chmod 755 /root/local /root/local 目
原创 linux查看服務安裝目錄
例如查看 reids安裝目錄 如果命令 which 和whereis 都找不到安裝目錄,可使用以下辦法 ps -ef|grep redis 得到了進程號 xxxx 然後 ls -l /proc/xxxx/cwd