活到老,學到老
BlogJava
::
首頁
::
聯系
::
聚合
::
管理
9 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
給我留言
查看公開留言
查看私人留言
我參與的團隊
隨筆分類
Java企業開發(3)
Jvm,Java Core(1)
Web(1)
設計模式(3)
隨筆檔案
2011年4月 (4)
2011年3月 (1)
2010年2月 (2)
2010年1月 (1)
搜索
最新評論
1.?re: 觀察者模式
感覺例子不是特別好~~
--晴天
2.?re: JMX In Action 總結(二)--HelloWorld例子
寫得很不錯。多謝分享。
--兵丸網絡
閱讀排行榜
1.?URI和URL的區別(5967)
2.?JMX In Action 總結(二)--HelloWorld例子(2961)
3.?JMX In Action 總結(一)(2269)
4.?Restful Web Services 讀書筆記(一)(2039)
5.?java Class文件解析實例(1409)
評論排行榜
1.?JMX In Action 總結(二)--HelloWorld例子(1)
2.?觀察者模式(1)
3.?策略模式(0)
4.?JMX In Action 總結(一)(0)
5.?Restful Web Services 讀書筆記(一)(0)
2011年4月3日
#
觀察者模式
摘要: 概念:觀察者模式定義了一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知并自動更新。 舉個網上商城的例子,比如很多顧客對某個商品感興趣,把商品收藏,當該商品降價、促銷、有貨了等事件發生時,就會發Email通知顧客。 UML圖...
閱讀全文
posted @
2011-04-07 22:29
simon.shen 閱讀(330) |
評論 (1)
|
編輯
收藏
策略模式
從今天開始,把常用的設計模式都簡單的整理一遍,希望每個星期能至少整理2個模式吧,先從簡單的策略模式開始。
概念:
它定義了一系列的算法,并將每一個算法封裝起來,而且使它們還可以相互替換。策略模式讓算法的變化不會影響到使用算法的客戶。
策略模式很簡單,實際上就是OO中的多態,舉個例子,某商場要進行促銷,對于普通顧客打88折,對于銀卡客戶在88折基礎上再滿400減160,對于金卡客戶在88折基礎上再滿400減200。
UML圖如下所示:
接口DiscountStrategy代碼如下:
public
interface
DiscountStrategy
{
public
double
discount(
double
sum);
}
類GeneralDiscountStrategy類代碼如下:
public
class
GeneralDiscountStrategy
implements
DiscountStrategy
{
@Override
public
double
discount(
double
sum)
{
return
sum
*
0.88
;
}
}
類SilverDiscountStrategy類代碼如下:
public
class
SilverDiscountStrategy
implements
DiscountStrategy
{
@Override
public
double
discount(
double
sum)
{
sum
=
sum
*
0.88
;
int
t
=
(
int
) sum
/
400
;
sum
=
sum
-
t
*
16
0
;
return
sum;
}
}
類GoldenDiscountStrategy代碼如下:
public
class
GoldenDiscountStrategy
implements
DiscountStrategy
{
@Override
public
double
discount(
double
sum)
{
sum
=
sum
*
0.88
;
int
t
=
(
int
) sum
/
400
;
sum
=
sum
-
t
*
200
;
return
sum;
}
}
類Cashier代碼如下:
public
class
Cashier
{
private
DiscountStrategy discountStrategy
=
new
GeneralDiscountStrategy();
public
void
getDiscountStrategy(CustomerLevel customerLevel)
{
switch
(customerLevel)
{
case
GENERAL:
discountStrategy
=
new
GeneralDiscountStrategy();
break
;
case
SILVER:
discountStrategy
=
new
SilverDiscountStrategy();
break
;
case
GOLDEN:
discountStrategy
=
new
GeneralDiscountStrategy();
break
;
}
}
public
double
calculate(
double
price,
int
num)
{
return
discountStrategy.discount(price
*
num);
}
}
posted @
2011-04-06 22:56
simon.shen 閱讀(349) |
評論 (0)
|
編輯
收藏
JMX In Action 總結(二)--HelloWorld例子
摘要: 這篇寫一個簡單的HelloWorld例子。 首先準備環境,我使用的JDK1.6,1.5應該也可以。還需要去oracle下載JMX RI包,地址為:http://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html,下載...
閱讀全文
posted @
2011-04-05 16:20
simon.shen 閱讀(2961) |
評論 (1)
|
編輯
收藏
JMX In Action 總結(一)
這是我讀了JMX In Action以后的總結,這篇文章是這個系列的第一篇,主要介紹一下什么是JMX,為什么要使用JMX?以及簡單闡述一下JMX的架構。
什么是JMX?
首先看一下
維基百科的定義:JMX(Java Management Extensions,即Java管理擴展)是Java平臺上為應用程序、設備、系統等植入管理功能的框架。
JMX可以跨越一系列異構操作系統平臺、系統體系結構和網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用。
隨著企業 IT 規模的不斷增長,IT 資源(IT resource)數量不斷增加,IT 資源的分布也越來越分散。IT資源主要包括網絡和應用等。管理網絡(硬件)的主要工具是
簡單網絡管理協議(SNMP),硬件廠商一般都會在設備中提供SNMP hooks,但SNMP開發不是件容易的事情,而且需要掌握特定的語言,對JAVA開發者絕非易事。
有些企業開發的應用的時候,是不會考慮運行時配置和管理問題。有些企業直接在產品中開發管理工具和界面。也有一些企業直接使用應用服務器或web服務器的管理工具。
現實世界的IT資源管理需求主要有以下一些:
1、監控平臺和硬件的健康。硬件可以通過SNMP,WEB服務器和應用服務器可以通過他們自己的管理工具。數據庫也是一樣等。
2、配置應用層面的資源。比如配置應用在查詢結果中每頁顯示的數量,配置數據庫連接池,或者外部請求數等。
3、收集應用程序的統計信息。如多少成功訂單,多少失敗訂單等。
4、日志級別,改變日志級別。出問題的時候,可以通過改變日志級別來打印調試信息,快速定位問題。
5、監視服務器的性能、負載,通過email、sms等通知關鍵性事件,比如服務器負載超過預設的界限。
要滿足這些需求往往是非常昂貴和困難的,管理員通常需要通過不同的工具來管理不同的服務和硬件。 如果使用JMX,創建一個滿足上面需求的管理系統將是廉價、更加靈活、所需時間更短。
使用JMX的好處
1、非常容易使用。特別是對一個JAVA程序員,要理解SNMP是困難的。而JMX對他來說非常容易。
2、利用現有的技術:現有的管理工具可以插入JMX,JMX提供了很多協議(SNMP、HTTP)和傳輸方式(如RMI),如果原有的應用和設備沒有提供管理能力,則可以創建JMX代理提供管理能力。
3、模塊化。以模塊化的方式創建你的管理環境。
4、警告、事件和統計信息。
JMX提供了一套通知系統,充分利用了面向對象優勢,通知提供了不僅僅是數據,而是一個有分布式JAVA對象,封裝了數據和行為。例如,你發送了一個服務器負載的通知,里面還包含了一個顯示負載重要性的級別的機制,說白了就是對象里面有個方法,可以判定負載的嚴重程度。
5、快速的監控解決方案。不同的開發人員只需要自己開發MBean,而不需要花很多的時間在相互的協作上面,這些MBean分布在不同的主機上,但可以通過一個管理工具就可以管理所有的這些應用。
JMX的一些術語
1、可管理資源(
Manageable resource
)
可以是任何的應用、設備、或者其他存在的實體,能夠被java訪問和包裝。是被JMX MBean管理的資源。
2、MBean(Managed Bean)
是滿足某些命名規則和繼承JMX 規范的java類,為可管理資源的管理和訪問暴露接口。通過屬性和行為來暴露接口。有這3類:Standard, Dynamic, and Model MBeans。
3、MBean Server
管理一組MBean的JAVA類。是JMX 管理環境核心。是MBean的注冊器。
4、JMX Agent
JMX代理是為管理一組MBean提供一系列服務的java進程。是一個MBean Server的容器,它還提供了一些有用的服務:創建MBean之間的關系,動態加載類,簡單的監控服務,定時器服務。Agent有一個協議適配器和連接器集合能使外部程序連接到他們。
5、Protocol adapters and connectors
協議適配器和連接器是位于JMX Agent內部的對象。把Agent暴露給管理程序和協議。一個Agent可以有很多適配器和連接器。
6、Management application
連接到JMX Agent的用戶應用程序。
7、Notification
通知是Mbean或者Mbean server發送的java對象,他們封裝了事件、警告、或者其他的一般信息。其他的Mbean或者java對象可以注冊成為監聽器來接受通知。
8、Instrumentation(設備化)
用MBean暴露一個可管理資源的過程。
JMX架構
JMX架構主要分為三層:
Distributed layer
,
Agent layer
,
Instrumentation layer,如下圖所示:
1、
Distributed layer(分布式層)
屬于JMX架構的最外層,這層主要負責使JMX Agent能對外部程序可用。 又分為兩種:一種通過不同的協議(如SNMP,HTTP)來為MBean提供可見性。
另一種是把Agent API暴露給其他的分布式技術如RMI。
2、
The agent layer
(代理層)
它包含的最主要的組件是MBean Server,它還包括4個代理服務使管理MBean更加容易,它們分別是: 定時器(timer)、監控服務、動態MBean加載、和MBean關系服務。Agent可以和被管理的資源在同一個主機上,也可以是遠程的。
3、
The instrumentation layer
這是最靠近資源的一層,它包含了注冊在Agent里面的MBean。
4、
Notifications
除了架構中的三層以外,JMX提供了一個通知機制,類似于JAVA事件模型。通知機制是管理系統的最后必須的組件。Agent和MBean可以使用通知機制來發送警告或信息給管理應用。
以上就是JMX架構的主要內容,下一篇構建一個HelloWorld的JMX程序。
posted @
2011-04-03 23:08
simon.shen 閱讀(2269) |
評論 (0)
|
編輯
收藏
Copyright @ simon.shen
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster
主站蜘蛛池模板:
日本免费人成网ww555在线
|
色视频色露露永久免费观看
|
亚洲欧洲国产日韩精品
|
手机在线看永久av片免费
|
怡红院亚洲红怡院在线观看
|
日日噜噜噜噜夜夜爽亚洲精品
|
久久这里只精品热免费99
|
亚洲人成综合网站7777香蕉
|
亚洲成人影院在线观看
|
久热免费在线视频
|
亚洲精品蜜夜内射
|
亚洲国产综合无码一区
|
最近2019中文字幕免费看最新
|
fc2免费人成为视频
|
亚洲人成日本在线观看
|
亚洲色大成网站WWW久久九九
|
蜜臀98精品国产免费观看
|
无遮挡免费一区二区三区
|
亚洲性无码av在线
|
国产专区一va亚洲v天堂
|
免费看美女裸露无档网站
|
黄色视屏在线免费播放
|
亚洲人成网亚洲欧洲无码
|
亚洲国产综合专区在线电影
|
国产又长又粗又爽免费视频
|
国产精品无码亚洲一区二区三区
|
香蕉视频在线观看亚洲
|
国产在线不卡免费播放
|
国产在线jyzzjyzz免费麻豆
|
国产伦精品一区二区免费
|
人人狠狠综合久久亚洲
|
91亚洲国产成人久久精品网址
|
精品久久久久久久久亚洲偷窥女厕
|
亚洲人成网www
|
久久久久亚洲爆乳少妇无
|
成全高清视频免费观看
|
91大神免费观看
|
a级毛片免费播放
|
污网站在线免费观看
|
亚洲国产精品嫩草影院
|
最新亚洲春色Av无码专区
|