- 浏览: 82257 次
- 性别:
- 来自: 上海
最新评论
-
surprising:
[color=darkred][/color]交换机
jdk rmi 代码分析 -
weibei:
what?
java.lang.reflect.Type
文章列表
这是我2008写的一个使用equinox的web的简单例子,个人觉得对想理解osgi的web开发人员还是有点用处,所以想把它share出来,如果你觉得没有用处,就不好意思了。
建立一个MBeanServer 有两种类型
建立普通的mbeanserver : MBeanServerFactory.createMBeanServer()
建立一个平台相关的mbeanserver: ManagementFactory.getPlatformMBeanServer();
建立与mbeanserver连接 方式:(不包括本地 pid方式)
使用 url ,e.g. service:jmx:rmi://localhost/jndi/rmi://localhost:1099/abc
使用 ip:port, 它将翻译成 service:jmx:rmi:// ...
hibernate 定制sql语句的方法:
sql 中column的顺序非常重要,不然就会出错,一个字段的value到另外一个字段上去。
取得默认的hibernate 生成的sql语句,设置org.hibernate.persister.entity.AbstractEntityPersister log级别为debug,下面是打印代码 protected void logStaticSQL() {
if ( log.isDebugEnabled() ) {
log.debug( "Static SQL for entity: " + getEnti ...
关于hibernate batchsize一些分析:
batchsize是针对jdbc的PreparedStatement
接口,跟我们想象中的Sql语句的一批处理没有关系,所有我有时候觉得这个名字有点怪, 而且hibernate是jdbc的封装,jdbc没有这样的功能,当然hibernate也没有
下面是hibernate一些常用的行为
session的save,delete,update这些操作只是把这些操作放到一个叫ActionQueue中去
flush是去执行actionqueue中的相关的action
batchsize是针对PreparedState ...
Mysql乱码问题:
主要是配置你的connection参数, 使用phpmyadmin建立数据,使用默认字符(ucs2_general_ci
Unicode (多语言), 不区分大小写)
配置connection: jdbc:mysql://localhost:3306/.....&useUnicode=true
&characterEncoding=utf-8
注意粗体
interrupt()
这个方法,一般情况把线程的status修改,不能中断正在运行的线程,但可以中断正在等待的线程
下面线程就结束了
public void run()
{
synchronized (lock)
{
try
{
lock.wait();
}
catch (InterruptedException ignore)
{
...
命令行解析
gnu-getopt ,jboss 使用
cli, cli2 www.apache.org 太多项目使用
Svn现在已经有点out了,p2p的技术现在是流行,连Apache都首选的source server 工具是git
Svn keywords
: keywords=Id Reversion Date Author.还有一些但不常用,这些都是来自rcs.
在tortoist svn中,你可以这样配置
enable-auto-props = yes
[auto-props]
*.java = svn:keywords=Id Reversion Date Author
下面话是tortoist 文档说的
You can configure ...
Jboss是一个j2ee服务器,使用它自己的ioc,也就是microkernel组织起来。
在jboss5中,默认有5种服务器的配置,比如all,default,minimal,standard,web,默认是defualt.
Jboss项目有很多j2ee功能的实现,比如ejb,jms,他们这些实现被认为是jboss的服务,这些服务被布置在deploy
每一个jboss的服务,通过特定的deployer去发布,这些deployer在deployers中
LifeThread 让JBOSS jvm不退出
private class LifeThread extends Thread ...
Annotation:
表现形式,就是code中 @*** 这样的东西
你可以使用别人写好的,比如jdk 的 @Override,@Deperated这样,也可以自己写,想这样的
public @interface YourAnnoation
怎么使用这些写在代码中的annoation,首选,他们有作用scope,还有作用的retention,不管如何,我们都是可以通过根据Class.class或者java.lang.reflect中的Filed.class,Method.class得到相关的Annoation,然后做你想做的。
Java Timer 代码分析:
记住timer只有一个线程在跑,
那就是TimerThread,
在这个对象timer对象生成时,这个线程就产生了,并且在running.
schedule和scheduleAtFixedRate区别是:(由于等待一个Task完成需要的时间不同)
schedule: 运行下一个task run时间是在上一个task run的开始运行时间加上period.
scheduleAtFixedRate:运行下一个task run时间是在上一个task run的应该运行时间加上period.
cancel :就是gracely的停掉time ...
NIO好处不多说,如果你不希望 多少个连接就多少个线程
,请使用 NIO.
线程跟性能的关系,线程开始增加的时候,性能增加,但增加到一定时候,性能开始下降。
最近读了一下Apache Httpcompents代码,感觉还是不错的,写的比较好懂。
这个项目主要分两个模块 httpcore, httpclient
Http Core: 主要是对io的一些封装,io或者nio(block或者不是),然后就是相关对象的形成,通过对http报文的parse,主要是HttpRequest,HttpResponse.
Http client:就是一些http方法的封装,和一些上层接口的封装
JCP:
Java Community Process
JSR: Java Specification Rquests
RI: 参考实现
ESB 一点感觉:
作用:
让service提供者和消费者 decoupling
让不同应用通信,做协议的转换
其他就是它内部管理功能