08 2013 档案
摘要:1.参考 Enumeration headerNames = req.getHeaderNames(); while(headerNames.hasMoreElements()) { String headerName = (String)headerNames.nextElement(); String headerValues = req.getHeader(headerName); System.out.println(headerName+" "+ headerValues...
阅读全文
摘要:1.android的一个activity可以再选中某项之后按menu键弹出特定的菜单,也就是动态菜单。动态菜单的实现是靠menu类中的addIntentOptions函数实现的,具体的声明如下:int android.view.Menu.addIntentOptions( int groupId, int itemId, int order, ComponentName caller, Intent[] specifics, ------------以...
阅读全文
摘要:1.两种意义 (1)在数字设备中,带宽通常以bps(bit per second)或bit/s或b/s表示。 (2)在模拟设备中,带宽通常以每秒传送周期或赫兹 (Hz)来表示。如传送模拟信号(连续变化的信号)的传统通信线路上电话的标准带宽是3.1kHz(从300Hz到3.4kHz)。在通信领域,K,M,G,T表示为10的n次方。2.来源严格来说,数字网络的带宽应使用波特率来表示(baud),表示每秒的脉冲数。而比特是信息单位,由于数字设备使用二进制,则每位电平所承载的信息量是1(以2为底2的对数,如果是四进制,则是以2为底的4的对数,每位电平所承载的信息量为2)。因此,在数值上,波特与比特..
阅读全文
摘要:1.总线 总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。CPU和北桥间有前端总线、北桥与显卡间为AGP总线、芯片组间有南北桥总线,各类扩展设备通过PCI、PCI-X总线与系统连接;主机与外部设备的连接也是通过总线进行,如目前流行的USB2.0、IEEE1394总线等等,一句话,在一部计算机系统内,所有数据交换的需求都必须通过总线来实现!按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线。按照内外:内部总线,I/O总线 如果说主板(Mother Board)是一座城市,那么总线就像.
阅读全文
摘要:一。什么时候会遇到1+N的问题? 前提:Hibernate默认表与表的关联方法是fetch="select",不是fetch="join",这都是为了懒加载而准备的。 1)一对多(<set><list>) ,在1的这方,通过1条sql查找得到了1个对象,由于关联的存在 ,那么又需要将这个对象关联的集
阅读全文
摘要:1.双向关系中使用mappedBy避免生成中间表(1).只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;(2).mappedBy标签一定是定义在被拥有方(Group),他指向拥有方(User);@Entity@Table(name="t_group")public class Group { private int id; private String name; private Set users = new HashSet(); public Group(){ } ...
阅读全文
摘要:@Entity@Table(name="t_group")public class Group { private int id; private String name; public Group(){ } public Group(String name) { this.name = name; } @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { ...
阅读全文
摘要:1.关于JSP页面中的pageEncoding和contentType两种属性的区别: pageEncoding是jsp文件本身的编码,contentType的charset是指服务器发送给客户端时的内容编码,JSP要经过两次的“编码”, 第一阶段:jsp编译成.java文件会用pageEncoding, 第二阶段:从源码.java到字节码.class会用utf-8至utf-8, 第三阶段就是由Tomcat出来的网页, 用的是contentType。2.全部用UTF-8resp.setHeader("Content-Type", "text/html;charse
阅读全文
摘要:1.Field 'id' doesn't have a default value 原来是我的数据设计的时候,把主键的类型定义为int的,原本想是用自增的方式来的,可是由于自己的粗心,写sql语句的时候没有加上auto_increment,所以在数据存储的时候老是报Field 'id' doesn't have a default value,id根本就没有值啊!!2.Could not synchronize database state with session不能在两个sessionFactory中交叉操作public class User
阅读全文
摘要:1.本地分页:设置store的proxy属性为pagingmemoryproxy实例2.远程分页
阅读全文
摘要:(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,(3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。(4)一般通过表单和链接传递的参数使用getParameter(5)通过request.setAttribute("name","jerry")的方式赋值,然后使用request.getAttribute
阅读全文
摘要:1.修改主键ALTERTABLE`resource`DROPPRIMARYKEY,ADDPRIMARYKEY(`rid`)2.加上auto_incrementALTERTABLE`oinfo`CHANGE`orid``orid`INT(11)NOTNULLAUTO_INCREMENT3.mysql命令窗口显示乱码在命令窗口里,在查询之前执行set charset gbk;4.手动加多一列ALTERTABLEtable_nameADDcolumn_nameTYPE;
阅读全文
摘要:1.store中重要的属性和方法属性:data、proxy、reader、url、root ....方法:load2.理解:data--原料,proxy--运输车,reader--加工厂,store--仓库。入库后等待给grid使用。 Ext.onReady(function(){ var PersonRecord = Ext.data.Record.create([ {name: 'name', type: 'string'}, {name: 'sex', type: 'int'} ]); var data = [ ['
阅读全文
摘要:1.Cannot call method 'getColumnCount' of undefinedHi, maybe you use colModel before rendering.Notice api "TheExt.grid.ColumnModelto use when rendering the grid (required)."If you have to use colModel before rendering, you can new anExt.grid.ColumnModelto grid's colModel when yo
阅读全文
摘要:1.iframe的基础,深入理解frame是何物,属性该如何设置。 iframe即内联框架。不同于frame,frame与frameset综合使用,成为帧,框架集。frame已经不大使用了。说白了,frame是僵硬的叠加,iframe是内联的。对于外围的页面,iframe是一个普通的元素,对于iframe里面的内容,又是一个五脏俱全的页面。iframe的写法是: 2.iframe自适应高宽,即ifrmae在布局方面的应用。3.iframe的表单无刷新,iframe在上传文件时的无刷新作用。 iframe实现无刷新的原理就是在A页面的表单提交数据到服务器,并且指定target属性为B页面,服..
阅读全文
摘要:1.项目-->右键-->properties
阅读全文
摘要:在编程语言中,字面量是一种表示值的记法。例如,"Hello, World!" 在许多语言中都表示一个字符串字面量(string literal ),JavaScript也不例外。以下也是JavaScript字面量的例子,如5、true、false和null,它们分别表示一个整数、两个布尔值和一个空对象。JavaScript还支持对象和数组字面量,允许使用一种简洁而可读的记法来创建数组和对象。考虑以下语句,其中创建了一个包含两个属性的对象(firstName和lastName):var customer = new Object();customer.firstName =
阅读全文
摘要:Cannot call method 'addEventListener' of null原因很简单,JavaScript代码中要引用到DOM对象,但是这个DOM对象在JavaScript执行后才会出现,现在无法找到,所以才会出现如上提示。这个问题给我们的警示是:要了解JavaScript的阻塞问题,浏览器渲染内容的原理最好了解一些;getElementById的时候一定要保证Dom对象存在,否则就会出现问题。解决的办法是:把JavaScript代码放在引用DOM后面。
阅读全文
摘要:1.BLOCKING THE EVENT LOOP Node and JavaScript runtimes in general are single-threaded event loops. On each loop, the runtimeprocesses the next event in queue by calling the associated callback function. When that eventis done, the event loop fetches and processes the next event; this pattern contin.
阅读全文
摘要:Let’s say you want a function that does some I/O — such as parsing a log fi le — that will periodicallybe executed. Let’s give that function the generic name my_async_function. You could start byusing setInterval like this:var interval = 1000;setInterval(function() { my_async_function(function() ...
阅读全文
摘要:1.RegExp对象:五个属性二个方法五个属性:global, ignoreCase,multiline,lastIndex,source二个方法:exec()--模式匹配test()--检测一个字符串是否含有某个模式2.例子var pattern = /\bJava\w*\b/g;var text = 'JavaScript is more fun than Java or JavaBeans!';var result;while((result = pattern.exec(text)) != null){ console.log('Matched! '+r
阅读全文
摘要:括号用来将子表达式标记起来,以区别于其他表达式比如很多的命令行程序都提供帮助命令,键入 h 和键入 help 的意义是一样的,那么就会有这样的表达式: h(elp)?字符h之后的elp可有可无这里的括号仅仅为了将 elp 自表达式与整个表达是隔离(因为 h 是必选的)。括号用来分组,当正则表达式执行完成之后,与之匹配的文本将会按照规则填入各个分组比如,某个数据库的主键是这样的格式:四个字符表示省份,然后是四个数字表示区号,然后是两位字符表示区县,如 yunn0871cg 表示云南省昆明市呈贡县,我们关心的是区号和区县的两位字符代码,怎么分离出来呢? var pattern = /\w{4...
阅读全文
摘要:1 var fs = require('fs'); 2 3 /*cross device link 4 fs.rename('c:\\err.LOG','d:\\err.LOG',function(err){ 5 console.log(err.code); 6 }); 7 */ 8 9 move('c:\\err.LOG','d:\\err.LOG',function(err){10 if(err) throw err;11 });12 13 14 function move(oldpath,newpath,ca
阅读全文
摘要:一。目录➤ Understanding why you need buffers in Node➤ Creating a buffer from a string➤ Converting a buffer to a string➤ Manipulating the bytes in a buffer...
阅读全文
摘要:1.屏幕坐标:相对于桌面左上角 窗口坐标:相对于窗口的左上角 文档坐标:相对于html文档左上角当有滚动条时,窗口坐标与文档坐标之间有区别
阅读全文
摘要:1.两个阶段三个模型:Netscape支持事件捕获,IE支持事件冒泡,w3c是先捕获后冒泡 Event Flow Event Flow List 1 List 2 List 3 ...
阅读全文
摘要:哈哈。。写了一个钟,一点一点加功能。 1 function Publisher(){ 2 this.subscribers = []; //存储订阅者 3 this.news = []; //存储要发布的消息 4 } 5 //使用“推”方式:由publisher推消息给Subscribers 6 7 8 Publisher.prototype = { 9 deliver : function(data){ 10 var that = this;11 this.subscribers.forEach(function(){12 ...
阅读全文
摘要:1.介绍一下事件驱动编程---快餐店点餐。 在基于线程的方式中(thread-based way)你到了柜台前,把你的点餐单给收银员或者给收银员直接点餐,然后等在那直到你要的食物准备好给你。收银员不能接待下一个人,除非你拿到食物离开。想接待更多的客户,容易!加更多的收银员!当然,我们知道快餐店其实不是这样工作的。他们其实就是基于事件驱动方式,这样收银员更高效。只要你把点餐单给收银员,某个人已经开始准备你的食物,而同时收银员在进行收款,当你付完钱,你就站在一边而收银员已经开始接待下一个客户。在一些餐馆,甚至会给你一个号码,如果你的食物准备好了,就呼叫你的号码让你去柜台取。关键的一点是,你没有阻.
阅读全文
摘要://返回新对象,双方互不影响function clone(obj){ //alert('clone'); if(typeof(obj) != 'object') return obj; if(obj == null) return obj; //因为typeof(null) == object所以要加上这步 var newObj = {}; for(var i in obj){ newObj[i] = clone(obj[i]); //alert('obj['+i+'] '+obj[i]); } return newO...
阅读全文
摘要:1.在js中所有要素都是继承自Object对象的,任何对象都能通过obj['name'] = something的形式来添加属性,相当于obj.name=something。之所以设计中括号这种存取方式是为了方便在存取属性不定的情况下把属性名作为变量传入进行存取。例如 function get(property){ return obj[property];}var name=get('name'); 2.var obj={name:"licous"};这个东西并不是大家所谓的json,而是声明一个对象。json是一种为了方便数据交换的有格式
阅读全文
摘要:1 2 3 4 5 js 6 103 104 105 106 107 Anchor 1108 Anchor 2109 Anchor 3110 111 112 113
阅读全文
摘要:1.注册可以直接调用f()中的b(),c(),d() .原因?自己想。 js //需要先点击这个,才能点击其他,否则出错 2.f()改为匿名函数----载入自执行 1 2 3 4 5 js 6 20 21 22 23 f()改为匿名函数,载入后自执行24 ...
阅读全文
摘要:Scope Chain & Closure Example Scope Chain & Closure Example Anchor 1 Anchor 2 Anchor 3 2.应该改为: //使用onload事件,以前总是觉得自己不会犯这样的错,直到出错后才会真正记在头脑中。
阅读全文
摘要:1.forEach,map,filter三个函数者是相同的调用参数。(callback[, thisArg])callbackis invoked withthree arguments:theelement valuetheelement indexthearray being traversedif (!Array.prototype.forEach) { Array.prototype.forEach = function (fn, thisObj) { var scope = thisObj || window; for (var i = 0, j =...
阅读全文
摘要:1.child_process是Node.js的一个十分重要的模块,通过它可以实现创建多进程,以利用多核计算资源。child_process模块提供了四个创建子进程的函数,分别是spawn,exec,execFile和fork。其中spawn是最原始的创建子进程的函数,其他三个都是对spawn不同程度的封装。spawn只能运行指定的程序,参数需要在列表中给出,相当于execvp系统函数,而exec可以直接运行复杂的命令。child_process.spawn(command, [args], [options])child_process.exec(command, [options], ca
阅读全文
摘要:1.process是一个全局进程,你可以直接通过process变量直接访问它。 process实现了EventEmitter接口,exit方法会在当进程退出的时候执行。因为进程退出之后将不再执行事件循环,所有只有那些没有回调函数的代码才会被执行。在下面例子中,setTimeout里面的语句是没有办法执行到的。1 process.on('exit', function () {2 setTimeout(function () {3 console.log('This will not run');4 }, 100);5 console.log('exit&
阅读全文
摘要:1.今晚在在node.js的实验,在用socket.io.js时,发现html中有就改为了并把socket.io.js文件copy到目录下,启动服务后,console中出现unhandled socket.io url。一查,原来不用自己搞,服务端会自动生成的这个js文件。2.在浏览器中自动刷新显示当前server的时间 1 var app = require('http').createServer(handler); 2 var io = require('socket.io').listen(app); 3 var fs = require('fs
阅读全文
摘要:1.Common Line Url Viewer curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。2.-i参数可以显示http response的头信息,连同网页代码一起。 curl -i www.sina.com3.发送表单信息有GET和POST两种方法。 (1)GET方法相对简单,只要把数据附在网址后面就行。 curl example.com/form.cgi?data=xxx (2)POST方法必须把数据和网址分开,curl就要用到--data参数。 curl --data "data=xxx&quo
阅读全文
摘要:看到这个博客,终于明白JavaScript 里只有一种 Array,不存在索引数组和关联数组。1.在js中所有要素都是继承自Object对象的,任何对象都能通过obj["name"]=something的形式来添加属性,相当于obj.name=something。之所以设计中括号这种存取方式是为了方便在存取属性不定的情况下把属性名作为变量传入进行存取。例如 function get(property){ return obj[property];}var name=get('name');2.var obj={name:"licous"}
阅读全文
摘要:1.什么是Currying? 考虑一个三维空间方程 F(x, y, z)= 0,如果我们限定z = 0,于是得到 F(x, y, 0) = 0 记为 F’(x, y)。 这里F’显然是一个新的方程式,它代表三维空间曲线F(x, y, z)在z = 0 平面上的两维投影。 记y = f(x, z), 令z = 0, 得到 y = f(x, 0),记为 y= f’(x),我们说函数f’是f的一个Currying解。2.看个小例子 1 var foo = function(x) { 2 return function(y) { 3 return x + y; 4 } 5 } ...
阅读全文
摘要:1.使用this作为参数来传递给函数。因为this始终与当前对象一致。 1 2 3 4 5 js 6 15 16 17 18 //undefined this指向window对象,而不是button对象19 //undefined20 21 //value322 //value423 24 25 2.把this变量存储在私有变量中,然后在方...
阅读全文
摘要:严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException处理方法:1、核对lib包 commons-fileupload-1.2.1.jar, commons-io-1.3.2.jarcommons-logging-1.0.4.jar freemarker-2.3.16.jar ognl-3.0.jar struts2-core-2.2.1.jar xwork-core-2.2.1.jar注意2.1以前是没有commons-fileup
阅读全文
摘要:1.在学习ExtJs时,对其拖放功能感到很陌生,然后找了个拖放功能实现。转载地址2.拖拽的基本原理就是根据鼠标的移动来移动被拖拽的元素。鼠标的移动也就是x、y坐标的变化;元素的移动就是style.position的top和left的改变。当然,并不是任何时候移动鼠标都要造成元素的移动,而应该判断鼠标...
阅读全文
摘要:1 function asyncFunction(callback){ 2 setTimeout(function(){ 3 callback() 4 },200); 5 } 6 7 var color = 'blue'; 8 //调用上面的函数 9 asyncFunction(function(){10 console.log('the color is'+color); //green11 });12 //闭包函数13 //To "freeze" the contents of the co...
阅读全文
摘要:1.回调函数假定有两个函数f1和f2,后者等待前者的执行结果。如果f1是一个很耗时的任务,可以考虑把f2写成f1的回调函数。1 function f1(callback){2 setTimeout(function () {3 // f1的任务代码4 callback();5 }, 1000);6 }7 //执行代码就变成下面这样:8 f1(f2);采用这种方式,我们把同步操作变成了异步操作,f1不会堵塞程序运行,相当于先执行程序的主要逻辑,将耗时的操作推迟执行。回调函数的优点:简单、容易理解、部署缺点:不利于代码的阅读和维护,各个部分...
阅读全文
摘要:在chrome浏览器或者firefox浏览器里,由于安全限制的原因,本地调试JS,如果不配服务器环境而直接打开页面,那所有的AJAX操作会抛出下面错误:XMLHttpRequest cannot load file:///D:/file.html. Origin null is not allowed by Access-Control-Allow-Origin.Origin null is not allowed by Access-Control-Allow-Origin. 的意思就是由于安全原因浏览器不允许跨域访问。 做法是,选中chrome浏览器快捷方式图标,右键选择属性,在“目标”.
阅读全文
摘要:在myEclipse抵抗了两个小时后,终于被spket插件搞上了。其实上学期自己也学过Ext.js,哈哈..慕名而来的。但当时功力不足,不得以要停止修炼。可现在不同,java的基础和j2ee的ssh框架也研究过了。过了这暑假,就要找工作了,所以得拿的看家本领出来。 装好spket后,写了一个...
阅读全文
摘要:EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。因为我们并没有指定哪一个范围的username,所以它的默认值会先从Page范围找,假如找不到,再依序到Request、Session、Application范围。假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null,当然EL表达式还会做出优化,页面上显示空白,而不是打印输出NULL。属性范围(jstl名称)EL中的名称PagePageScopeRequestRequestScopeSessionSessionScopeAppli
阅读全文
摘要:1.“#”主要有三种用途:访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();可以访问这几个ActionContext中的属性。parameters#parameters.id[0]作用相当于request.getParameter("id")request#request.userName相当于request.getAttribute("userName")session#session.userName相当于session.getAttribute("userName")appli
阅读全文
摘要:正想着该如何实现左图片右文字。原来SimpleAdapter可以胜任这个工作。First, if aSimpleAdapter.ViewBinderis available,setViewValue(android.view.View, Object, String)is invoked. If the returned value is true, binding has occurred. If the returned value is false,the following views are then tried in order:A view that implements Che
阅读全文
摘要:因为service在默认情况下是在主线程执行的。所以为了方便,正如AsyncTask用来简化我们编写工作线程,android也提供了IntentService用来执行长期运行的服务。 IntentService is a base class forServicesthat handle as...
阅读全文
摘要:(1)START_NOT_STICKY If the system kills the service afteronStartCommand()returns,do notrecreate the service, unless there are pending intents to deli...
阅读全文
摘要:1 cd ‘你的应用目录’2 af login(之后输入你的邮箱和密码)3 af update ‘你的应用名’相关文档:https://docs.appfog.com/getting-started/af-cli在windows命令提示符文件路径自动完成在输入文件路径时,我们可以只输入文件路径的前一部分,比如cd doc,如果当前目录下有docment文件夹,然后按Tab键就可以自动完成。
阅读全文
摘要:Class used to run a message loop for a thread. Threads by default do not have a message loop associated with them; to create one, callprepare()in the thread that is to run the loop, and thenloop()to have it process messages until the loop is stopped. 1 class LooperThread extends Thread { 2 p...
阅读全文
摘要:Handy class for starting a new thread that has a looper. The looper can then be used to create handler classes. Note that start() must still be called.1。看source code (省略部分) 1 public class HandlerThread extends Thread { 2 3 int mTid = -1; 4 Looper mLooper; 5 6 /** 7 * Call bac...
阅读全文
摘要:①application/x-www-form-urlencoded : 数据被编码为名称/值对。②multipart/form-data : 数据被编码为一条消息,页上的每个控件对应消息中的一个部分。③text/plain: 数据以纯文本形式进行编码。 1. text/plain是纯文本传输的意思
阅读全文
摘要:There are many things that can go wrong:A class works in Unix but doesn't on Windows (or vice versa)Invalid filenames due to double or missing path separatorsUNC filenames (on Windows) don't work with my home-grown filename utility functionUNC (Universal Naming Convention)通用命名约定。windows目录或文件
阅读全文
摘要:public class ActionContext implements Serializable The ActionContext is the context in which anActionis executed. Each context is basically a container of objects an actionneeds for executionlike the session, parameters, locale, etc. The ActionContext is thread local which means that values stored i
阅读全文
摘要:1.Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdirjavax.servlet.context.tempdir默认就是$CATALINA_BASE/work文件夹下。2.Struts Upload上传文件对应Action类里面的xxx、xxxContentType和xxxFileName三个属性。对应Action类里面的caption属性。
阅读全文
摘要:1.struts.xml 1 2 3 4 5 6 7 8 9 10 tip 11 12 13 14 15 2.User.java1 package com.model;2 3 public class User {4 5 private String username; 6 private String password; 7 ...
阅读全文
摘要:1.如下,变量i,j,k 的作用域是相同的。 1 function test(obj){ 2 var i= 0; 3 if(typeof obj == "object"){ 4 var j = 0; 5 for(var k = 0; k< 1; k++){ 6 document.write(k); 7 } 8 document.write(k); 9 }10 document.write(j);11 12 }2.将变量放置在函数开关是好的编程习惯1 var scope = "...
阅读全文
摘要:一、ThreadLocalMap是ThreadLocal的内部类、Thread持有ThreadLocalMap的引用 Entry类继承了WeakReference<ThreadLocal<?>>,即每个Entry对象都有一个ThreadLocal的弱引用(作为key),这是为了防止内存泄露。 key
阅读全文
摘要:what happens in more sophisticated environments where you do not necessarily know ahead of time which bean class you are going to be using, or which property you want to retrieve or modify? The APIs in the BeanUtils package are intended to simplify getting and setting bean properties dynamically,...
阅读全文
摘要:An entry in aWeakHashMapwill automatically be removed when its key is no longer in ordinary use. More precisely,the presence of a mappingfor a given key will not prevent the key from being discarded by the garbage collector,that is, made finalizable, finalized, and then reclaimed.When a key has bee.
阅读全文
摘要:javaScript中的单引号与双引号没有什么区别。但因为xhtml规范要求所有xhtml属性要用双引号括起来。所以在javaScript中使用单引号。1 var html = 'go go go !'这样做比用双引号更清晰var html = "go go go !"
阅读全文
摘要:1 var myConstructor = function(message){ 2 //实例变量 3 this.message = message; 4 5 //私有变量,外部不可见。用var声明的变量具有块作用域 6 var separator = '-'; 7 var owner = this; 8 9 //私有方法:只能在构造器内调用10 function alertMessage(){11 alert(owner.message);12 //alert(this.message);则下面...
阅读全文
摘要:这些天在看《How Tomcat Works》这本书。里面讲到了JMX的内容。对我来说是个新知识点。 JMX--Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。可以非常容易的管理应用程序。许多基于服务器的应用程序(Tomcat, JBoss)都使用了JMX技术来管理各自的资源。1.Architectural Overview■ Instrumentation level(设备层)---定义了编写可由J...
阅读全文