原创 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