A. druid 物理關閉數量 始終是0
我也發現這個問題
跟了一下源碼
removeAbandonedTimeout
這個屬性不管是否配置
初始化init方法調用後
removeAbandonedTimeout的值是 300000
也就是使用的DruidAbstractDataSource裡面的默認值
protected volatile boolean removeAbandoned;
protected volatile long removeAbandonedTimeoutMillis = 300 * 1000;
B. tomcat jdbc和druid對比,各自有哪些優缺點
JNDI學習總結(三)——Tomcat下使用Druid配置JNDI數據源
com.alibaba.druid.pool.DruidDataSourceFactory實現了javax.naming.spi.ObjectFactory,可以作為JNDI數據源來配置。
一、下載Druid的jar包
下載地址:http://mvnrepository.com/artifact/com.alibaba/druid/1.0.9,如下圖所示:
druid.jar依賴log4j的jar包,所以還需要下載log4j的jar包。
log4j的下載地址如下:http://mvnrepository.com/artifact/log4j/log4j/1.2.17,如下圖所示:
二、使用Druid配置JNDI數據源
2.1、前期准備工作
創建一個Web測試項目Druid_JNDI_Config,將下載下來druid-1.0.9.jar和log4j-1.2.17.jar添加到項目中,在項目的META-INF目錄下創建一個context.xml文件
目錄結構如下圖所示:
在tomcat伺服器的lib目錄下添加Oracle、MySQL、SQLServer三種資料庫的驅動jar包,如下圖所示:
2.2、在context.xml文件中加入JNDI的配置信息
在context.xml文件中加入如下配置信息
1 <Context>
2 <!-- 使用阿里巴巴的DruidDataSource配置針對Oracle資料庫的JNDI數據源 -->
3 <Resource
4 name="jdbc/OracleDataSource"
5 factory="com.alibaba.druid.pool.DruidDataSourceFactory"
6 auth="Container"
7 type="javax.sql.DataSource"
8 driverClassName="oracle.jdbc.OracleDriver"
9 url="jdbc:oracle:thin:@192.168.1.229:1521:lead"
10 username="lead_oams"
11 password="p"
12 maxActive="50"
13 maxWait="10000"
14 removeabandoned="true"
15 removeabandonedtimeout="60"
16 logabandoned="false"
17 filters="stat"/>
18
19 <!-- 使用阿里巴巴的DruidDataSource配置針對MySQL資料庫的JNDI數據源 -->
20 <Resource
21 name="jdbc/MysqlDataSource"
22 factory="com.alibaba.druid.pool.DruidDataSourceFactory"
23 auth="Container"
24 type="javax.sql.DataSource"
25 driverClassName="com.mysql.jdbc.Driver"
26 url="jdbc:mysql://192.168.1.233:3306/lead_oams?useUnicode=true&characterEncoding=utf-8"
27 username="lead_system"
28 password="password"
29 maxActive="50"
30 maxWait="10000"
31 removeabandoned="true"
32 removeabandonedtimeout="60"
33 logabandoned="false"
34 filters="stat"/>
35
36 <!--使用阿里巴巴的DruidDataSource配置針對SQLServer資料庫的JNDI數據源-->
37 <Resource
38 name="jdbc/SqlServerDataSource"
39 auth="Container"
40 factory="com.alibaba.druid.pool.DruidDataSourceFactory"
41 type="javax.sql.DataSource"
42 driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
43 url="jdbc:sqlserver://192.168.1.61:1433;DatabaseName=gaclTest"
44 username="sa"
45 password="p@ssw0rd"
46 maxActive="50"
47 maxWait="10000"
48 removeabandoned="true"
49 removeabandonedtimeout="60"
50 logabandoned="false"
51 filters="stat"/>
52 </Context>
配置項中指定了各個參數後,在連接池內部是這么使用這些參數的。資料庫連接池在初始化的時候會創建initialSize個連接,當有資料庫操作時,會從池中取出一個連接。如果當前池中正在使用的連接數等於maxActive,則會等待一段時間,等待其他操作釋放掉某一個連接,如果這個等待時間超過了maxWait,則會報錯;如果當前正在使用的連接數沒有達到maxActive,則判斷當前是否空閑連接,如果有則直接使用空閑連接,如果沒有則新建立一個連接。在連接使用完畢後,不是將其物理連接關閉,而是將其放入池中等待其他操作復用。同時連接池內部有機制判斷,如果當前的總的連接數少於miniIdle,則會建立新的空閑連接,以保證連接數得到miniIdle。如果當前連接池中某個連接在空閑了timeBetweenEvictionRunsMillis時間後任然沒有使用,則被物理性的關閉掉。有些資料庫連接的時候有超時限制(mysql連接在8小時後斷開),或者由於網路中斷等原因,連接池的連接會出現失效的情況,這時候設置一個testWhileIdle參數為true,可以保證連接池內部定時檢測連接的可用性,不可用的連接會被拋棄或者重建,最大情況的保證從連接池中得到的Connection對象是可用的。當然,為了保證絕對的可用性,你也可以使用testOnBorrow為true(即在獲取Connection對象時檢測其可用性),
不過這樣會影響性能。
C. 資料庫連接池的Java連接池
在Java中開源的資料庫連接池有以下幾種 :
1、C3P0:是一個開放源代碼的JDBC連接池,它在lib目錄中與Hibernate 一起發布,包括了實現jdbc3和jdbc2擴展規范說明的Connection 和Statement 池的DataSources 對象。
2、Proxool:是一個Java SQL Driver驅動程序,提供了對選擇的其它類型的驅動程序的連接池封裝。可以非常簡單的移植到現存的代碼中,完全可配置,快速、成熟、健壯。可以透明地為現存的JDBC驅動程序增加連接池功能。
3、Jakarta DBCP:DBCP是一個依賴Jakartacommons-pool對象池機制的資料庫連接池。DBCP可以直接的在應用程序中使用。
4、DDConnectionBroker:是一個簡單、輕量級的資料庫連接池。
5、DBPool:是一個高效、易配置的資料庫連接池。它除了支持連接池應有的功能之外,還包括了一個對象池,使用戶能夠開發一個滿足自己需求的資料庫連接池。
6、XAPool:是一個XA資料庫連接池。它實現了javax.sql.XADataSource並提供了連接池工具。
7、Primrose:是一個Java開發的資料庫連接池。當前支持的容器包括Tomcat4&5、Resin3與JBoss3。它同樣也有一個獨立的版本,可以在應用程序中使用而不必運行在容器中。Primrose通過一個WEB介面來控制SQL處理的追蹤、配置,以及動態池管理。在重負荷的情況下可進行連接請求隊列處理。
8、SmartPool:是一個連接池組件,它模仿應用伺服器對象池的特性。SmartPool能夠解決一些臨界問題如連接泄漏(connection leaks)、連接阻塞、打開的JDBC對象(如Statements、PreparedStatements)等。SmartPool的特性包括: 支持多個pool 自動關閉相關聯的JDBC對象 在所設定time-outs之後察覺連接泄漏 追蹤連接使用情況 強制啟用最近最少用到的連接 把SmartPool「包裝」成現存的一個pool 9、MiniConnectionPoolManager:是一個輕量級JDBC資料庫連接池。它只需要Java1.5(或更高)並且沒有依賴第三方包。
10、BoneCP:是一個快速、開源的資料庫連接池。幫用戶管理數據連接,讓應用程序能更快速地訪問資料庫。比C3P0/DBCP連接池速度快25倍。
11、Druid:Druid不僅是一個資料庫連接池,還包含一個ProxyDriver、一系列內置的JDBC組件庫、一個SQL Parser。
支持所有JDBC兼容的資料庫,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等。
Druid針對Oracle和MySql做了特別優化,比如: Oracle的PS Cache內存佔用優化 MySql的ping檢測優化 Druid提供了MySql、Oracle、Postgresql、SQL-92的SQL的完整支持,這是一個手寫的高性能SQL Parser,支持Visitor模式,使得分析SQL的抽象語法樹很方便。
簡單SQL語句用時10微秒以內,復雜SQL用時30微秒。
通過Druid提供的SQL Parser可以在JDBC層攔截SQL做相應處理,比如說分庫分表、審計等。Druid防禦SQL注入攻擊的WallFilter,就是通過Druid的SQL Parser分析語義實現的
D. linux高手請進
為了安裝Red Hat Linux, 您必須為它准備硬碟空間. 這個硬碟空間必須和您的計算機上安裝的其他操作系統(如Windows, OS/2或著其他版本的Linux)所使用的硬碟空間分開.
一個硬碟可以分割成不同的分區. 訪問每個分區就象訪問不同的硬碟. 每個分區甚至可以有一個類型用來表明這個分區中信息是如何存儲的. 例如, DOS, OS/2, 和Linux使用不同的硬碟分區類型.
請注意: 您可以將Red Hat Linux安裝在一個或多個類型為'Linux native' 的硬碟分區. Red Hat Linux還需要一個交換(swap)分區, 這個分區的類型是'Linux swap'. 就是說安裝Red Hat Linux至少需要兩個硬碟分區:
如果你是第一次安裝,建議先在虛擬機先試試。。Linux的分區格式和Windows分區的格式不同。。
虛擬機的網站:http://www.xuniji.com
在硬碟上裝的流程:我復制我在網上找到的。
RedHat Linux9.0 硬碟安裝全攻略
RedHat Linux 9.0的三個文件
①shrike-i386-disc1.iso;
②shrike-i386-disc2.iso;
③ shrike-i386-disc3.iso。
用RAR工具解壓縮至硬碟任意分區X:\CD1,X:\CD2,X:\CD3.
如果你想裝雙系統,那麼請安裝一個DOS(98不需要),並且保證你所存放的磁碟分區不是為NTFS格式,那麼重新啟動機器進入DOS提示符下,進入你所存放CD1所在目錄下的DOSUTILS目錄,執行目錄下autoboot.bat文件,如:
X:\CD1\dosutils\>autoboot.bat 回車
剩下就很簡單了,你會覺得簡直就和安裝Windows一樣了。
1.選擇系統默認語言
RedHat支持世界上幾乎所有國家的語言,這里只要在簡體中文前面打上鉤,並將系統默認語言選擇為簡體中文那麼在安裝過程結束,系統啟動後,整個操作系統的界面都將是簡體中文的了,用戶不用做任何額外的中文化操作和設置。
2.分區操作
接下來,是磁碟分區的工作,這也許是整個安裝過程中惟一需要用戶較多干預的步驟,REDHAT Linux 9.0提供了兩種分區方式——自動分區和使用DISK DRUID程序進行手動分區
1)自動分區:如果是全新的計算機,上面沒有任何操作系統,建議使用「自動分區」功能,它會自動根據磁碟以及內存的大小,分配磁碟空間和SWAP空間。
這是一個「危險」的功能,因為它會自動刪除原先硬碟上的數據並格式化成為Linux的分區文件系統(EXT3、REISERFS等),所以除非計算機上沒有任何其他操作系統或是沒有任何需要保留的數據,你才可以使用「自動分區」功能。
(2)手動分區:如果硬碟上有其他操作系統或是需要保留其他分區上的數據,建議採用DISK DRUID程序進行手動分區。DISK DRUID是一個GUI的分區程序,它可以對磁碟的分區進行方便的刪除、添加和修改屬性等操作,它比以前版本中使用的字元界面Fdisk程序的界面更加友好,操作更加直觀。下面我們來看看如何使用DISK DRUID程序對硬碟進行分區。
因為Linux操作系統需要有自己的文件系統分區,而且Linux的分區和微軟Windows的分區不同,不能共用,所以,需要為Linux單獨開辟一個(或若干個)分區。Linux一般可以採用EXT3分區,這也是REDHAT Linux 9.0默認採用的文件系統。
為Linux建立文件分區可以有兩種辦法,一種是利用空閑的磁碟空間新建一個Linux分區,另一種是編輯一個現有的分區,使它成為Linux分區。如果沒有空閑的磁碟空間,就需要將現有的分區刪除後,騰出空間,以建立Linux分區。
DISK DRUID程序中有明顯的新建、刪除、編輯、重設等按鈕。用戶可以直觀地對磁碟進行操作。在使用DISK DRUID對磁碟分區進行操作時,有四個重要的參數需要仔細設定:它們是掛載點、文件系統類型、驅動器、分區大小
掛載點:它指定了該分區對應Linux文件系統的哪個目錄,Linux允許將不同的物理磁碟上的分區映射到不同的目錄,這樣可以實現將不同的服務程序放在不同的物理磁碟上,當其中一個物理磁碟損壞時不會影響到其他物理磁碟上的數據。
文件系統類型:它指定了該分區的文件系統類型,可選項有EXT2、EXT3、REISERFS、JFS、SWAP等。Linux的數據分區創建完畢後,有必要創建一個SWAP分區,它實際上是用硬碟模擬的虛擬內存,當系統內存使用率比較高的時候,內核會自動使用SWAP分區來模擬內存。
大小:指分區的大小(以MB為單位),Linux 數據分區的大小可以根據用戶的實際情況進行填寫,而SWAP大小根據經驗可以設為物理內存的兩倍,但是當物理內存大於1GB時,SWAP分區可以設置為2GB。
允許的驅動器:如果計算機上有多個物理磁碟,就可以在這個菜單選項中選中需要進行分區操作的物理磁碟。
經過磁碟分區的操作,安裝過程中相對最復雜的一個步驟已經過去,接下來的安裝將是一馬平川。讓我們來繼續選擇要安裝的系統組件。
3.選擇安裝組件
REDHAT Linux 9.0和先前的版本在安裝組件的選擇上非常相似,用戶既可以選擇桌面計算機、工作站、伺服器、最簡化安裝這四個安裝方法中的一個,也可以自己定義需要安裝哪些軟體包,並且安裝程序會實時地估算出需要的磁碟空間,對用戶非常方便。
系統組件安裝完畢後,安裝程序會自動將用戶選擇的軟體包從光碟介質拷貝到計算機的硬碟上,中途不需人工干預,並且在安裝每個系統組件時都會對該組件做簡短的說明。
在選擇軟體包時,如果你想進一步配置系統,可以選定製軟體包集合。建議定製,選上KDE桌面環境,這樣你就有兩個可以和WindowsXP媲美的真彩圖標的桌面
怎麼樣,安裝過程很簡單吧?當然,這還不是最後一步,因為在安裝完所有系統組件後,安裝程序還會「體貼」地提醒你製作一張啟動磁碟,以備不測。
到此為止,Linux系統就已經順利地安裝完成了。
三、更改啟動方式
它比Windows更好玩一點。
作為默認,REDHAT Linux 9.0在啟動時會自動啟動X-Window進入圖形化操作界面。而許多Linux鐵桿玩家已經習慣了在Console字元界面工作,或是有些玩家嫌X-Window啟動太慢,喜歡直觀快速的Console操作。
1.進入字元界面
為了在Linux啟動時直接進入Console界面,我們可以編輯/etc/inittab文件。找到id:5:?initdefault:這一行,將它改為id:3:initdefault:後重新啟動系統即可。我們看到,簡簡單單地將5改為3,就能實現啟動時進入X-Window圖形操作界面或Console字元界面的轉換,這是因為Linux操作系統有六種不同的運行級(run level),在不同的運行級下,系統有著不同的狀態,這六種運行級分別為:
0:停機(記住不要把initdefault 設置為0,因為這樣會使Linux無法啟動 )
1:單用戶模式,就像Win9X下的安全模式。
2:多用戶,但是沒有 NFS 。
3:完全多用戶模式,標準的運行級。
4:一般不用,在一些特殊情況下可以用它來做一些事情。
5:X11,即進到 X-Window 系統。
6:重新啟動 (記住不要把initdefault 設置為6,因為這樣會使Linux不斷地重新啟動)。
其中運行級3就是我們要進入的標准Console字元界面模式。
2.自由轉換字元界面和X-Window圖形界面
在了解了啟動自動進入X-Window圖形操作界面和Console字元操作界面的轉換後,也許你會想,這兩種操作界面各有各的好處,我能不能「貪心」一點,同時擁有這兩種操作界面呢?在無所不能的Linux操作系統中,這個要求當然是可以得到滿足的。
在X-Window圖形操作界面中按「Alt+Ctrl+功能鍵Fn?n=1~6?」就可以進入Console字元操作界面。這就意味著你可以同時擁有X-Window加上6個Console字元操作界面,這是一件多麼令人振奮的事情啊!
在Console字元操作界面里如何回到剛才的X-Window中呢?很簡單,按「Alt+Ctrl+F7」即可。這時Linux默認打開7個屏幕,編號為tty1~tty7。X-Window啟動後,佔用的是tty7號屏幕,tty1~tty6仍為字元界面屏幕。也就是說,用「Alt+Ctrl+Fn」組合鍵即可實現字元界面與X Window界面的快速切換。
Linux的老用戶們都知道,X-Window是一個非常方便地圖形界面,它能使用戶用滑鼠最簡單的進行操作,但是它也有不少缺點:比如啟動和運行速度慢、穩定性不夠、兼容性差、容易崩潰等。但是一旦X-Window系統出了問題,並不會使整個Linux系統的崩潰而導致數據丟失或系統損壞,因為當X-Window由於自身或應用程序而失去響應或崩潰時,我們可以非常方便地退出X-Window進入Console進行故障處理,要做的只是按「Alt+Ctrl+Backspace」鍵,這意味著只要系統沒有失去對鍵盤的響應,X-Window出了任何問題,都可以方便地退出。
自己看這辦吧,,我前陣子也准備裝的,想弄成XP。Linux 雙系統的,結果用Norton PartitionMagic 8.0不能把以使用的空間給分離出來。。現在也沒裝那。只能在虛擬機里用用。。。。
回答者:BICE23 - 初入江湖 二級 9-7 17:21
您覺得最佳答案好不好? 目前有 1 個人評價
0% (0)
100% (1)
其他回答 共 2 條
初學者建議還是用光碟安裝簡便些
硬碟安裝比較麻煩
網上可以找到教程的
回答者:zhaodongxi - 探花 十級 9-7 17:22
1>從網上下載redhat iso安裝文件。並放在同一文件夾中
2>用WinISO解開第一張盤的.iso文件(如解到cd1文件加中)不用全部解出,只要dosutils子文件夾就可以了。
3>進入MS-DOS打開cd1文件夾的dosutils子文件夾(加入cd1在c盤: c: cd cd1 cd dosutils)運行autoboot.exe
4>根據提示,選擇從硬碟安裝(加入你下載的.iso文件在d:redhat中,就選擇/hda5 在路徑欄填寫/redhat).
5>接下來您就進入了redhat的安裝界面了。
6>dos下的安裝步驟參照從光碟安裝的步驟.
注意:一定請從dos下安裝,沒有所謂的可以從windows安裝的說法。
把所有幾張的安裝文件iso放到同一文件夾中
我今天才在電腦上裝上了linux8.0!順便把我摸索出來的方法提供給大家,以供參考!
從網上下載到linux8.0,為.iso文件。用下載到的isobuster軟體釋放為.tao文件。六個文件全部拷貝到要裝的電腦中。用釋放出來的rawrite.exe和boot.img在2000下製成啟動盤。用啟動盤啟動,出現安裝畫面按回車鍵。
rh9硬碟安裝指南
1]解開第一張盤的.iso文件,只釋放dosutils文件夾,比如我們把這具文件夾釋放到c盤[fat32格式]的sutils目錄下。\dosutils里有一個TRANS.TBL,要把此文件刪除才可以安裝,否則系統提示:hd安裝不支持圖形安裝,system reboot
2]重啟進入DOS,進入我們前面舉例的c:\dosutils目錄,然後運行
autoboot
選擇本地磁碟安裝即可
注意:
1.解開dosutils文件夾時,最好不要用什麼winiso等等,用mount或者demon tool等掛上映象,然後把dosutils拷出來
2.安裝光碟映象一定要放在fat32分區的根目錄下
第二、第三張 redhat ISO安裝時用不用到的?1>從網上下載redhat iso安裝文件。並放在同一文件夾中
DOS下不認NTFS格式
由於Linux無法安裝在Windows的分區上,所以必須在硬碟中分割出一塊領地專供Linux使用,這里推薦用分區魔術師進行無損分區。為了方便講述,這里先舉一個實例來說明:裝有Windows XP計算機有一個30GB的硬碟,共分三個區(C盤、D盤、和E盤),其中E盤有16.6GB(有約7GB可用空間)。我們的目標是將7GB的可用空間剝離出來專供Red Hat使用。
1.首先在Windows XP里啟動分區魔術師,從主窗口可以看到磁碟分區的詳細信息。單擊右側詳細窗格里的分區E以選中它。
2.單擊左側任務列表裡的「調整一個分區的容量」命令,即可彈出一個「調整容量/移動分區」對話框。
3.在該對話框的頂部有一個條狀圖表示分區E的使用情況,其中左側的黑色條部分表示已用空間,右側的綠色條部分表示可用空間。可以用滑鼠直接拖曳綠色條部分對E盤容量進行調整。很顯然,E盤的最小容量就是已用空間的容量(在小就要破壞原有數據了),減小的容量就成了自有空間。
4.單擊「確定」按鈕,回到主界面,此時我們可以看到新劃分出的7GB自由空間。接下來的步驟非常重要。盡管這7GB的磁碟空間已經是「自由身」,但是它還是屬於Windows的擴展分區,所以要將這7GB的自由空間從Windows擴展分區里劃分出去。
5.單擊擴展分區以選中它,如圖1所示。用類似的方法將這7GB自由空間從Windows擴展DOS分區里劃分出去。現在我們已經從Windows XP的領地里割出一塊7GB的自由空間供Linux專用。
圖1 將自由空間從擴展分區里劃分出去
注意,一定要將自由空間從Windows擴展分區里劃分出去,這是因為Linux的分區格式和Windows並不完全兼容。如果Red Hat所使用的磁碟空間屬於Windows擴展分區,就會導致「水土不服」。很多朋友反映裝上了Red Hat以後,發現Windows速度變得奇慢,就會歸咎於Red Hat,其實根本原因在於分區的時候沒有將自由空間從擴展分區里剝離出去。
E. druid連接池 SPRING怎樣實現配置數據源
Druid連接池及監控在Spring配置如下:
[html] view plain
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本屬性 url、user、password -->
<property name="url" value="${jdbc_url}" />
<property name="username" value="${jdbc_user}" />
<property name="password" value="${jdbc_password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="1" />
<property name="minIdle" value="1" />
<property name="maxActive" value="20" />
<!-- 配置獲取連接等待超時的時間 -->
<property name="maxWait" value="60000" />
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 打開PSCache,並且指定每個連接上PSCache的大小 -->
<property name="poolPreparedStatements" value="true" />
<property name="" value="20" />
<!-- 配置監控統計攔截的filters,去掉後監控界面sql無法統計 -->
<property name="filters" value="stat" />
</bean>
2. 只要配置initialSize,maxActive就可以,目前這樣的配置已經能夠使用連接池,加入其實配置性能不好,官方文檔里也不沒加其它屬性,連接池jar包下載。
然後是監控的配置:
web.xml
[html] view plain
<span style="white-space:pre"> </span><filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
filter可以監控webURl 訪問
[html] view plain
<span style="white-space:pre"> </span><servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
F. 阿里 druid 最新版本去哪裡下載啊
https://github.com/alibaba/druid
G. 有哪些主流的web框架
1、Spring
Spring是於2003 年興起的一個輕量級的Java開發框架,是一個開放源代碼的設計層面框架,他解決的是業務邏輯層和其他各層的松耦合問題,因此它將面向介面的編程思想貫穿整個系統應用。簡單來說,Spring是一個分層的JavaSE/EE full-stack(一站式) 輕量級開源框架。
2、SpringBoot
Spring Boot是由Pivotal團隊提供的框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。
3、Thymeleaf
Thymeleaf是面向Web和獨立環境的現代伺服器端Java模板引擎,能夠處理HTML,XML,JavaScript,CSS甚至純文本。
4、Druid
Druid是阿里的一個開源高效的數據查詢系統,主要解決的是對於大量的基於時序的數據進行聚合查詢。數據可以實時攝入,進入到Druid後立即可查,同時數據是幾乎是不可變。通常是基於時序的事實事件,事實發生後進入Druid,外部系統就可以對該事實進行查詢。
5、mybatis
MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 可以使用簡單的 XML 或註解來配置和映射原生信息,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成資料庫中的記錄。
6、Hybernate
Hibernate是一個開放源代碼的對象關系映射框架(Object_Relative DateBase-Mapping 簡稱ORM),它對JDBC進行了輕量級的對象封裝,它將POJO與資料庫表建立映射關系。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用。
H. JavaSE環境,怎麼用druid的監控台
你好,在druid的0.2.6版本以後, 可以用自帶的druidStat命令行工具進行查看.
此工具位於源碼的 : src\main\scripts\目錄下.
druidStat.sh 和 druidStat.bat分別對應linux和win環境
此工具引用了druid.jar包(在工具中把路徑寫死了,需自己手工在腳本中改一下) 。
I. com.alibaba.druid.util.Base64 jar包下載
這個類在druid包里,下載地址:
網頁鏈接
J. druid 從其他連接池遷移要注意什麼
11. 我的程序可能產生連接泄漏了,有什麼辦法?
Druid提供了多種監測連接泄漏的手段,具體看這里:https://github.com/alibaba/druid/wiki/%E8%BF%9E%E6%8E%A5%E6%B3%84%E6%BC%8F%E7%9B%91%E6%B5%8B
12. 在Druid中使用PSCache會有內存佔用過大問題么?
連接Oracle資料庫,打開PSCache,在其他的資料庫連接池都會存在內存佔用過多的問題,Druid是唯一解決這個問題的連接池。具體看這里:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=6951277
13. 有沒有和其他資料庫連接池的對比?
各種資料庫連接池對比 http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=6951797
14. 從其他連接池遷移要注意什麼?
不同連接池的參數參照對比: http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=6947005
DBCP遷移 http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=6950500
15. Druid中有沒有類似Jboss DataSource中的ExceptionSorter
ExceptionSorter是JBoss DataSource中的優秀特性,Druid也有一樣功能的ExceptionSorter,但不用手動配置,自動識別生效的。具體看這里:http://code.alibabatech.com/wiki/display/Druid/ExceptionSorter
16. Druid中的maxIdle為什麼是沒用的?
maxIdle是Druid為了方便DBCP用戶遷移而增加的,maxIdle是一個混亂的概念。連接池只應該有maxPoolSize和minPoolSize,druid只保留了maxActive和minIdle,分別相當於maxPoolSize和minPoolSize。
17. 我的應用配置的是JNDI數據源,可以用DruidDataSource么?
DruidDataSource支持JNDI配置,具體看這里:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=2916633
具體實現的類是這個:com.alibaba.druid.pool.DruidDataSourceFactory,你可以閱讀代碼加深理解。
18. 我的應用已使用DBCP,是代碼中寫死的,怎樣更換為Druid?
可以的,Druid提供了一個中完全平滑遷移DBCP的辦法。
1) 從http://repo1.maven.org/maven2/com/alibaba/druid/druid-wrapper/ 下載druid-wrapper-xxx.jar
2) 加入druid-xxx.jar
3) 從你的WEB-INF/lib/中刪除dbcp-xxx.jar
4) 按需要加上配置,比如JVM啟動參數加上-Ddruid.filters=stat,動態配置druid的filters
這種用法,使得可以在一些非自己開發的應用中使用Druid,例如在sonar中部署druid,sonar是一個使用jruby開發的web應用,寫死了DBCP,只能夠通過這種方法來更換。
19. 我想試用快照版本,怎麼獲取?
直接獲取快照版本的地址是:http://code.alibabatech.com/mvn/snapshots/com/alibaba/druid/ ,使用快照版本建議加入我們QQ群 92748305,遇到問題直接反饋給我們。
20. 有一些SQL執行很慢,我希望日誌記錄下來,怎麼設置?
在StatFilter配置中有慢SQL執行日誌記錄,看這里https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter