原创 JVM調優總結(十一)——反思

垃圾回收的悖論         所謂“成也蕭何敗蕭何”。Java的垃圾回收確實帶來了很多好處,爲開發帶來了便利。但是在一些高性能、高併發的情況下,垃圾回收確成爲了制約Java應用的瓶頸。目前JDK的垃圾回收算法,始終無法解決垃圾回收時的

原创 JVM調優總結(十)——調優方法

JVM調優工具 Jconsole,jProfile,VisualVM Jconsole : jdk自帶,功能簡單,但是可以在系統有一定負荷的情況下使用。對垃圾回收算法有很詳細的跟蹤。   JProfiler:商業軟件,需要付費。功能強

原创 Java圖形驗證碼開源軟件SimpleCaptcha

                Java中有很多開源小工具。本文講的是圖形驗證碼開源軟件SimpleCaptcha。              更多的開源驗證碼小工具可以查看:點擊打開鏈接 1.準備工作 下載SimpleCaptcha所

原创 Linux 下安裝jdk+tomca…

原文地址:Linux 下安裝jdk+tomcat 詳解作者:用戶名正在加載...1.下載jdk和tomcat for Linux的版本,並上傳到Linux系統中usr路徑下 2.安裝jdk   a.打開終端進入到usr路徑,給進jdk授

原创 MySQL數據庫操作基礎

  查看錶詳細定義 Show create table tablename \G *\G是爲了美觀   修改表名 Alter table oldtablename rename newtable   增加字段 在表最後添加字段: Alte

原创 JVM調優總結(六)——分代垃圾回收詳述2

分代垃圾回收流程示意 對過程不瞭解的可以參照上一篇博文:JVM調優總結(五)——分代垃圾回收詳述1     選擇合適的垃圾收集算法 串行收集器           用單線程處理所有垃圾回收工作,因爲無需多線程交互,所以效率比較高

原创 JVM調優總結(一) ——概念

數據類型       Java虛擬機中,數據類型可以分爲兩類:基本類型和引用類型。基本類型的變量保存原始值,即:他代表的值就是數值本身;而引用類型的變量保存引用值。“引用值”代表了某個對象的引用,而不是對象本身,對象本身存放在這個

原创 JVM調優總結(三)——基本垃圾回收算法

可以從不同的的角度去劃分垃圾回收算法: 按照基本回收策略分 引用計數(Reference Counting): 比較古老的回收算法。原理是此對象有一個引用,即增加一個計數,刪除一個引用則減少一個計數。垃圾回收時,只用收集計數爲0的對象。

原创 JVM調優總結(五)——分代垃圾回收詳述1

爲什麼要分代           分代的垃圾回收策略,是基於這樣一個事實:不同的對象的生命週期是不一樣的。因此,不同生命週期的對象可以採取不同的收集方式,以便提高回收效率。           在Java程序運行的過程中,會產生大量的對象

原创 JVM調優總結(四)——垃圾回收面臨的問題

如何區分垃圾            上次說到的“引用計數”法,通過統計控制生成對象和刪除對象時的引用數來判斷。垃圾回收程序收集計數爲0的對象即可。但是這種方法無法解決循環引用。所以,後來實現的垃圾判斷算法中,都是從程序運行的根節點出發,

原创 Effective MySQL之SQL語句最優化學習筆記2

基本的分析命令         在MySQL中,單一的工具或命令無法完成SQL語句的優化功能。本文將要介紹的SQL命令能夠基本涵蓋所有可能用到的SQL優化技術,包括創建索引。    1.EXPLAIN命令         要確定一條想

原创 JVM調優總結(九)——新一代的垃圾回收算法

垃圾回收的瓶頸         傳統分代垃圾回收方式,已經在一定程度上把垃圾回收給應用帶來的負擔降到了最小,把應用的吞吐量推到了一個極限。但是他無法解決的一個問題,就是Full GC所帶來的應用暫停。在一些對實時性要求很高的應用場景下,

原创 在虛擬機安裝ubuntu

下載虛擬機Vmvare8.0和ubuntu12.04 安裝虛擬機Vmware8.0 選擇“I will install the operating system later” 在Version下選擇“Ubuntu”設置虛擬機名稱(即每

原创 JVM調優總結(二)——概念

Java對象的大小         基本數據的類型的大小是固定的,這裏就不多說了。對於非基本類型的Java對象,其大小就值得商榷。       在Java中,一個空Object對象的大小是8byte,這個大小隻是保存堆中一個沒有任何屬性

原创 struts2學習細節

Action 1.在struts.xml中加入<constant name="struts.devMode" value="true" />        value設置成true,應用struts開發模式,每次修改struts.xm