- 浏览: 81812 次
- 性别:
- 来自: 杭州
最新评论
-
张光义1024855037:
谢谢,感谢分享
tomcat6学习环境搭建 -
zhufeng1981:
研究的很仔细啊,佩服。
关于线程中断thread interrupt -
lusong1986:
好好好好哦
关于线程中断thread interrupt
文章列表
读未提交:在支持事务的数据库中是没有这种情况的
读已提交:另一个事务中已经提交的数据在我的事务中就可以读取出来,大多数业务场景都可以使用此隔离级别,此隔离级别会出现不可重复读,幻读,幻读针对新增和删除,一般没有影响,但是不可重复读针对的是更新update,这就可以会导致问题,不可重复读就是在一个事务中两次读取同一行或几行数据,但是返回的值不一样
e.g. 1.在事务1中,Mary 读取了自己的工资为1000,操作并没有完成 2.在事务2中,这时财务人员修改了Mary的工资为2000,并提交了事务. 3.在事务1中,Mary 再次读取自己的工资时,工资变为了2000 ...
在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包 括: 轮循算法(Round Robin)、哈希算法(HASH)、最少连接算法(Least Connection)、响应速度算法(Response Time)、加权法(Weighted )等。其中哈希算法是最为常用的 ...
Long[]类型可以转换成Object[]类型,也可以转成Object,具体看需要,需要索引访问当然得转成Object[]
long[]只能转成Object类型
如果需要开发一个第三方平台的移动客户端,oauth协议是必须的,通过他可以不需要知道用户密码而直接访问获取用户的个人信息,同时操作相关数据
public class TestoAuth {
public static void main(String[] args) throws Exception{
//为自己应用申请的apikey 和secret
String apiKey = "078409f18961d372168c1dd49c257a56";
String secret = "0dd3419e39fe4b2c ...
jmx入门请参考: http://docs.oracle.com/javase/tutorial/jmx/remote/custom.html
本文旨在介绍JVM的类加载机制;同时分析Tomcat不能采用默认的加载机制的原因,并对其加载机制做了介绍。
1、JVM中的类加载机制
在Java2之后的版本中,类的加载采用的是一种称为双亲委派的代理模型:也就是说当前ClassLoader在加载类前,先委派给双亲去加载类;
在有双亲委派模式 的情况下,启动类装载器可以抢在标准扩展类装载器之前去装载类,而标准扩展类装载器可以抢在系统类装载器之前去装载那个类,类路径类装载器又可以抢在用户 自定义类装载器之前去装载它,用这种方法,类装载器的体系结构就可以防止不可靠的代码用它们自己的版本来替代可信任的类。
Bootstrap class l ...
jetty启动时,会执行org.mortbay.jetty.Server.doStart()方法,Server其实就是jetty容器的抽象,doStart()方法会依次启动线程池QueuedThreadPool, handler(处理具体的客户端请求),connectors(监听浏览器请求并把他作为job加入到线程池后续处理)
线程池中有两类线程
第一种是acceptor线程,两个acceptor线程(cpu核心数)持续运行,此线程用来监听客户端请求,主要通过调用connector来完成,具体代码在方法org.mortbay.io.nio.SelectorManager.SelectSet. ...
${catalina.home}/conf/catalina.properties文件可以用来配置tomcat内置classloader的load范围,一般默认情况如下
# List of comma-separated paths defining the contents of the "common"
# classloader. Prefixes should be used to define what is the repository type.
# Path may be relative to the CATALINA_HOME or CATALIN ...
tomcat6学习环境搭建
- 博客分类:
- tomcat
1.下载源码,http://www.carfab.com/apachesoftware/tomcat/tomcat-6/v6.0.36/src/apache-tomcat-6.0.36-src.zip
2.解压下来如图
上面文件夹下面的build.xml就是待会用来编译tomcat到eclipse里面的文件
3.eclipse向导,new project,选择Java Project from existing ant buildfile,如下图
4.然后就选择下载的tomcat中的build.xml.然后下步下步就ok了
5.最后一个完整的项目就会在eclip ...
研究了两个晚上近7个小时,jetty的可debug环境终于成功,分享与此
1.下载jetty-6.1.26的整个可以完整运行的包,这里可以下载http://dist.codehaus.org/jetty/jetty-6.1.26/
解压如下图
2.建立普通java project于eclipse,然后将将上面下 ...
下面给jvm用的,比如java -cp classpath,- version
属于standard options
下面是给jvm用的,属于non-standard options
-XX:+<option>
启用选项
-XX:-<option>
不启用选项
-XX:<option>=<number>
给选项设置一个数字类型值,可跟单位,例如 32k, 1024m, 2g
-XX:<option>=<string>
给选项设置一个字符串值,例如-XX:Hea ...
tomcat classloader
- 博客分类:
- tomcat
web-inf/class&lib目录由WebappClassLoader加载
shared/lib下面和用户自定义的共享目录(**\conf\catalina.properties里面配置)下面的jar包由org.apache.catalina.loader.StandardClassLoader加载
org.apache.catalina.loader.WebappClassLoader.addJar(String, JarFile, File)方法添加web-inf/lib下面的所有jar包,到时候这里搜索
org.apache.catalina.loader.Weba ...
最明显的区别:
The difference between the two is that one is an Error
and the other is an Exception
.
ClassNotFoundException一般在ClassLoader去加载的时候如果找不到,直接在加载器里面就跑出了异常,注意是在loader里面抛出来的
NoClassDefFoundError一般是用户类A类引用了自己公司开发的某个框架类B类(B类一般会在jar包里面),而B类里面一般情况会引用第三方著名的jar包,比如commons-log.jar等等,如果你只把包含B类的jar ...
Classloader委托加载模型的反向问题 英文就是 back door around the classloading delegation scheme
当A类引用到B类,那么加载B类的classloader就是当时A的classloader,下面一个例子
public class A {
public static void main(String[] args) {
System.out.println("class A loaded by " + A.class.getClassLoader());
//在调用下 ...
sun jre本身的classloader主要包含三个loader,分别是
1. Bootstrap class loader->C代码 (加载%java_home%/lib/*)
2. Extensions class loader->ExtClassLoader (%java_home%/lib/ext/*)
3. System class loader->AppClassLoader (加载classpath下的类)
为什么他们会加载这些路径下面的class呢?
ExtClassLoader和AppClassLoader的构造函数可以 ...