这两天一直在学习一些classloader的相关知识,看了一些文章,了解到classloader的作用之一就是实现热部署功能。于是就看了一个网络上的一个例子,然后自己实现了一个应用。虽然作出来了,但是说实话:不满意。因为在这个例子当中,只要热部署一次,就要重新new一个classloader,这样会引发什么问题我也不清楚,并且,classloader究竟实现了什么,以及一些底层的东西我还不是很了解,还要继续研究,目前的版本就是一个中间版本。以后还要优化,或者在我读完tomcat的classloader之后我在去仿照着写一个。
好了,下面介绍这个工程的构思、以及实现方式,设计思想:首先来说:这 ...
jndi例子一则,转载自网络。利用一个container实现了jndi的管理。
以前所作的一切应用程序基本上都是由tomcat容器,控制web应用程序的生死、这两天简单的学习了下jmx,有所感悟。所以反其道而行之:自己写一个JmxAgent来控制tomcat的生、死,从而达到:利用jmx来控制资源的目的。
在项目中集成tomcat我很早以前就听说过,一直以为很神秘:技术含量很高。通过我自己的研究:发现其实就比helloworld难一点。上代码。
我的实现很简单:一个标准的mbean,挂上一个htmlAdaper和另外一个rmiconnector以备访问。
代码如下:MBean接口:
package com.cxz.jmx;
public interface TcMgrM ...
很简单的一个hellojmx的例子。其中实现了:标准bean、通知机制
新添加了一个动态mbean
nio是new io的简称,从jdk1.4就被引入了。现在的jdk已经到了1.6了,可以说不是什么新东西了。但其中的一些思想值得我来研究。这两天,我研究了下其中的套接字部分,有一些心得,在此分享。
首先先分析下:为什么要nio套接字?
nio的主要作用就是用来解决速度差异的。举个例子:计算机处理的速度,和用户按键盘的速度。这两者的速度相差悬殊。如果按照经典的方法:一个用户设定一个线程,专门等待用户的输入,无形中就造成了严重的资源浪费:每一个线程都需要珍贵的cpu时间片,由于速度差异造成了在这个交互线程中的cpu都用来等待。
nio套接字是怎么做到的?
其实,其中的思想很简单:轮询。一个线程轮询 ...
package com.cxz.thinking.act10;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Random;
class method{
public int sum (Integer a, Integer b){
return a + b;
}
public int minus(Integer a, Integer b){
return a - b;
}
...
我参照http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html看到里面有关于关闭server的讲解:只要连接到8005然后输入:shutdown就可以关闭服务器。server.xml配置代码如下:
<Server port="8005" shutdown="SHUTDOWN">
tomcat源代码如下:org.apache.catalina.core.StandardServer
public final class StandardServer
implements Lifecycle, Server, MBe ...
从大三就开始使用tomcat,感觉tomcat非常亲切,对她有着深厚的感情,一直没有换过什么应用服务器,感觉很好用。半年前,我曾经考虑过研究tomcat源代码,但一直由于不理解classloader的结构、并且一直不知道可以通过svn部署tomcat以前的研究一直停留在看代码,无法debug。今天,一个很偶然的机会,让我看到了tomcat的部署方式,并且通过努力,成功的部署了。所以今天写下这个帖子,以纪念:我要开始攻克tomcat了!研究它的代码,看他的实现,然后以后要实现自己的web容器。利用eclipse部署tomcat的地址如下http://gui1401.javaeye.com/blo ...
摘自:https://www6.software.ibm.com/developerworks/cn/education/java/j-classloader/tutorial/j-classloader-6-1.shtml实现的一个自动编译的classloader里面使用了很多我不熟悉的api。值得学习、借鉴
import java.io.*;
/*
A CompilingClassLoader compiles your Java source on-the-fly. It checks
for nonexistent .class files, or .class f ...
现在网络上的关于解析xml的资料很多,但是利用schema解析的不是很多;所以我进行了下总结,包括xml的读取、分析、修改、查询。还有就是根据schema进行验证,当然,都是最基本的东西。
部分代码摘自:《core java volume2》,以及:http://blog.csdn.net/cds27/archive/2008/03/02/2139110.aspx
言语无用,直接上代码。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" ...
- 浏览: 9105 次
- 性别:

- 来自: 天津

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
利用axis2、eclipse plug ...
文件提取地址http://pickup.mofile.com/127548595 ...
-- by Aga -
classloader与equals()的 ...
不同classloader加载的不同类。参照下面代码: @Override ...
-- by Aga -
classloader与equals()的 ...
怎么会是不一样呢?解释一下,谢谢!
-- by fys124974704 -
Classloader的若干问题
何不研究一下开源代码,比如jboss的classloader?
-- by seemoon -
String.split()用法的一点 ...
加一条:如果是想拚成\\需要输入:\\\\ 比如: className = "c ...
-- by Aga






评论排行榜