自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (3)
  • 问答 (5)
  • 收藏
  • 关注

原创 tomcat类加载器深入研究笔记

1.      StandardClassLoader 继承自URLClassLoader,和URLClassLoader相比没有添加任务新的功能。这个类已经被tomcat7.x废弃掉了,官方准备在tomcat8.x版本中去掉这个类。2.      BootStrapClassLoader是用本地代码实现的,它负责加载核心的java class(即所有java.*开头的类)。另外JVM还提供了

2013-04-30 18:45:52 1699

原创 Tomcat 热部署实现方式源码分析总结

研究了一下tomcat的类的热部署的源码实现,总结沉淀一下。Tomat实现热部署主要有两种机制:(1) 一种是类似于Servlet这种类的热部署即在WEB-INF/class目录下的类:实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则调用容器的reload的方法,将类重新载入。那么具体的分析一下:tomcat用来加载servlet

2013-04-30 18:44:50 5773 3

转载 一篇写的不错的讲解类的动态加载的文章

一.             概述名词解释:所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装

2013-04-30 14:27:39 1197

转载 class的动态加载的一个实现方案

背景想调用ASM API (用于字节码处理的开源API)对字节码进行处理,目标是实现对java程序运行时各种对象的动态跟踪,并进一步分析各个对象之间的关系(研究前提是目前的UML锁阐释的whole-part relation 是比较混乱的)。由于ASM相关内容又可以延伸很远,在此文中略过。在完成了能对字节码进行处理的ASM调用以后,需要考虑如何将这些功能与正常的java程序整合到一

2013-04-30 14:26:30 829

转载 servlet的解析过程,写的真好!

要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。

2013-04-30 13:08:56 1140

转载 web.xml中load-on-startup的作用

如下一段配置,熟悉DWR的再熟悉不过了:   dwr-invoker   org.directwebremoting.servlet.DwrServlet       debug    true      1   dwr-invoker   /dwr/*我们注意到它里面包含了这段配置:1,那么这个配置有什么作用呢?贴一段英文原汁原

2013-04-29 09:11:18 532

转载 JDBC 当中一些类加载的知识

Class.forName()、Class.forName().newInstance() 、New 三者区别!终于明白为什么加载数据库驱动只用Class.forName()了!!困扰了我2个小时!!希望我写的这个东西对各位有所帮助。      在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们

2013-04-28 13:17:45 969

转载 JVM类加载器

在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方 法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方 式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。 Java中工厂模式经常使用newInstance()方法来创建对象,因此从为什么要使用工厂

2013-04-28 13:08:07 572

转载 自定一个类加载器

java虚拟机中,有一个类加载子系统,它包括了四种类加载器1、根装载器(启动类装载器)2、扩展类装载器3、系统类装载器4、用户自定义类加载器根加载器负责加载API里面的类,例如java.lang.object扩展类装载器复制加载jre中ext包中的类,如C:\Program Files\Java\jdk1.6.0_21\jre\lib\ext系统类装载器加载clas

2013-04-27 20:47:21 715

转载 jar包中的 manifest详解

打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内 容,先来看struts.jar中包含的MANIFEST.MF文件内容:Manifest-Version: 1.0Created-By: Apache Ant 1.5.1

2013-04-27 13:13:59 5093

转载 cron 用法

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sb

2013-04-27 11:21:30 774

转载 crontab,at,anacrontab

crontab,at,anacrontab0人收藏此文章, 我要收藏atat 是执行一次性的工作安排。 是一种服务atd,/etc/init.d/atd startat工作原理(引自鸟哥):"我們使用 at 這個指令來產生所要運作的工作,並將這個工作以文字檔的方式寫入 /var/spool/at/ 目錄內,該工作便能等待 atd 這個服務的取用與執行

2013-04-27 11:11:03 720

转载 crontab调度

crontab调度调度的基本格式* * * * * cmd分 时 日 月 周 命令第1列表示分钟 0 - 59,每分钟用 * 或者 */1表示。第2列表示小时 0 - 23,0表示0点。第3列表示日期 1 - 31第4列表示月份 1 - 12第5列表示星期 0 - 6, 0表示星期日

2013-04-27 11:10:22 814

转载 Linux的目录含义和linux各个目录都是做什么的

搞电脑的人,尤其是玩linux的新手,总想知道自己的系统里到底有些什么东西。于是我就在Linux的根目录下运行ls -l(列目录命令),哇,一大串,这许多目录都放些什么呢?我在百度和谷歌拼命查找,翻了许多相关资料,终于功夫不负有心人,找到了相对比较完整的介绍,张自然最早接触linux可能就是因为安卓手机中兴v880了。当然有的文件夹安卓手机上是没有的!所以为了大家方便,所以就写了这篇:Li

2013-04-26 23:51:37 992

转载 SCP 命令的用法

scp 命令 scp 命令是 SSH 中最方便有用的命令了,试想,在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。 你可以在一台服务器上 以 root 身份运行 #scp servername:/home/ftp/pub/file1 . 这样就把另一台服务器上的文件 /home/ftp/pub/file1 直接传到本机器的当前目录下,当然你也可以用 #scp /tmp/

2013-04-25 19:16:54 802

转载 Cron表达式讲的很详细

一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为秒(0~59)分钟(0~59)小时(0~23)天(月)(0~31,但是你需要考虑你月的天数)月(0~11)天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099)其中每个元素可以是一

2013-04-23 11:10:33 595

原创 Netty & Mina 入门级总结

最近工作中可能需要用到Netty,就了解了一下,发现Netty和mina的关系还是挺紧密的,一起简单了解总结之:1.    基本概念:1)   Netty 是JBOSS提供的一个基于NIO的网络应用程序框架。使用Netty可以快速简单的开发一个网络应用。官网(http://netty.io/)提供的基础架构图:2)   Mina是apache社区提供的一个基于NIO的网络应

2013-04-20 15:51:00 2980

转载 一篇介绍mina的不错的文章

MINA 框架简介     Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)

2013-04-20 14:37:34 1170

转载 linux 软件安装

以Red Hat Enterprise Linux 5为例进行讲解。 相关系列:linux下jdk的安装linux下ant的安装linux下redis的安装linux下svn的安装linux下nginx的安装linux下graphviz的安装linux下doxygen的安装  1。下载    下

2013-04-19 19:35:55 665

转载 一个简洁的CentOS 输入法的安装方法

很多朋友喜欢桌面版CentOS,在使用桌面版的时候就会用到中文输入法了,毕竟我们是体验桌面效果的。 用我们常常使用的YUM来安装中文输入法。 1、使用root登陆系统,命令:su root 2、YUM安装命令:yum install "@Chinese Support" 3、退出界面:exit 4、回到桌面,system->preferences->inpu

2013-04-18 22:46:01 859

转载 linux输入法的设置

前言:刚才思考了一下该从哪里说起比较好,因为我不想牵扯太多和主题无关的内容,否则一说就难以收住了,并且使得主题不突出,丧失了本文的初衷。但是考虑到大家水平差别很多,为了照顾大多数,因此我会把我觉得应该提到的东西简单说一下,能够让读者看完本文以后不仅知道如何做,还能理解为什么这么做。当然,由于本人水平有限,难免有的地方说的不对,欢迎大家指出,我会对本文做出修改,只要不人身攻击就好了,否则我会

2013-04-18 17:30:39 786

转载 linux下环境变量的配置

1.修改/etc/profile文件如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 (1)用文本编辑器打开/etc/profile (2)在profile文件末尾加入:JAVA_HOME=/usr/share/jdk1.5.0_05PATH=$JAVA_HOME/

2013-04-18 12:46:41 506

原创 tocmat类加载学习笔记

1.      试用系统类加载器载入某个Servlet类所使用的全部类,那么Servlet就能够访问所有的类,包括当前运行的Java虚拟机(Java Virtual Machine,JVM)中环境CLASSPATH指明的路径下的所有的类和库。这是非常危险的。2.      Servlet应该只允许载入WEB-INF/classes目录及其子目录下的类,和从部署的库到WEB-INF/lib目录载

2013-04-13 18:03:21 834

转载 tomcat类加载体系结构

与Java语言相似,Tomcat提供了分级类加载机制,当然,最顶端非BootStrap Loader莫属,它由C++编写,JVM启动且完成初始化后首先被调用。不过在Tomcat中类加载体系中,缺少了ExtClassLoader的身影(待验证),ExtClassLoader加载sun公司提供的扩展机制(参考文章:<<Extension Mechanism Architecture>>)。下面是架

2013-04-13 18:02:15 693

转载 tocmat类加载器

一、The Loader接口 在web应用程序中加载servlet和其他类时有一些规则。比如:在应用程序中加载一个servlet,被限制在the WEB-INF/classes目录以及子目录下。然而,servlet不会访问其他类,即使这些类包含运行在Tomcat中的JVM的CLASSPATH下。同时一个servlet限制了访问类库的目录(WEB-INF/lib目录)。

2013-04-13 18:01:26 821

转载 JVM类加载器

当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构:         bootstrap classloader                  |         extension classloader                  |         system classloader bootstrap classlo

2013-04-13 18:00:31 898

转载 Java那点事——类加载器结构

在Java语言中,类型的加载和连接过程都是在程序运行期间完成的,尽管这样会带来一定的开销,但是却能为Java应用程序提供高度的灵活性,Java的动态扩展属性正是依赖运行期动态加载和动态连接这个特点实现的。        Java中类的整个生命周期为:加载->验证->准备->解析->初始化->使用->卸载。类加载器便是作用于"加载"阶段,它完成的功能为:通过一个类的全限定名来获取描述此类的二

2013-04-13 17:59:43 695

原创 Tomcat类加载器(附JVM类加载器简介)

Tomcat类加载器(附JVM类加载器简介)         学习tomcat类加载器,首先得先看下JVM提供了几种类加载器,毕竟tomcat类加载器是依赖于JVM类加载器的。         JVM类加载器:引导类加载器(bootstrapclassloader)、扩展类加载器(extension classloader)、系统类加载器(又称应用类加载器,system classload

2013-04-13 17:56:22 2974

转载 程序员修炼,不错的一篇文章

程序员技术练级攻略    月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一

2013-04-11 20:05:36 645

转载 Tomcat类加载机制概述

声明:源码版本为Tomcat 6.0.35         在本系列的第二篇文章中,曾经介绍过在Tomcat启动时会初始化类加载器(ClassLoader),来处理整个Web工程中Class的加载问题。         类加载机制是Java平台中相当重要的核心技术,待笔者有所积累后会再次讨论这个话题。在一般的业务开发中我们可能较少接触和使用ClassLoader,但是在进行框架级程

2013-04-10 13:16:00 681

转载 Tomcat相关基础知识

1.Tomcat目录结构 (1)bin: 存放启动和关闭tomcat脚本 (2)conf:存放不同的配置文件(server.xml和web.xml) (3)lib:存放Tomcat运行需要的库文件 (4)logs:存放Tomcat执行时的LOG文件 (5)temp:Tomcat运行时用于存放临时文件 (6)webapps:Tomcat的主要Web发布目录(包括应用程

2013-04-07 18:53:42 795

转载 java 虚拟机安全

策略    Java安全体系结构的真正好处在于,它可以对代码授予不同层次的信任度来部分地访问系统。    Microsoft提供了ActiveX控件认证技术,它和Java的认证技术相类似,但是ActiveX控件并不在沙箱中运行。这样,使用了ActiveX,一系列移动代码要么是被完全信任的,要么是完全不被信任的。    版本1.2的安全体系结构的主要目标之一就是使建立(以签名

2013-04-07 09:38:06 690

转载 HBase预习一

最近因为项目需要,开始接触Hbase。学习的过程中遇到了一些问题,也找到了一些方法和好的资料,通过本文总结一下,同时也与大家分享。 按照顺序,总结如下: 什么是Hbase概况的讲,Hbase是bigtable的开源山寨版本,是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。高存储、便于横向扩展的特性,也是我们项目选择Hbase

2013-04-06 17:31:27 711

转载 一篇不错的讲解session和cookie的文章

简介: Session 与 Cookie 不管是对 Java Web 的初学者还是熟练使用者来说都是一个令人头疼的问题。在初入职场时恐怕很多程序员在面试的时候都被问到过这个问题。其实这个问题回答起来既简单又复杂,简单是因为它们本身只是 HTTP 协议中的一个配置项,在 Servlet 规范中也只是对应到一个类而已;说它复杂原因在于当我们的系统大到需要用到很多 Cookie 的时候,我们不得不考虑

2013-04-03 14:58:18 2514

原创 tomcat 解析包含中文的cookie 抛警告源码分析

前段时间一个同事在项目那边日志中报了很多警告,内容是如下这样:警告: java.lang.IllegalArgumentException: Control character: ffce incookie value or attribute. COOKIE: uc1=lltime=1362664120&cookie14=UoLa%2FgYsjAaa2Q%3D%3D&existShop=tr

2013-04-03 12:19:36 2925 1

原创 tomcat 随笔小记

刚才遇到了一个小问题在源码中修改tomcat 的链接器的端口以及url的编码方式没有生效:                connectionTimeout="20000"               redirectPort="8443" />改成了这样:                connectionTimeout="20000"

2013-04-03 09:48:21 975

Netty Demo

一个Netty的使用demo,可以帮助你更好的了解Netty的使用,对netty有更加清晰的了解。下载即可运行

2013-04-20

Mina 使用DEMO

一个简单的mina运行DEMO,可以帮助你更好的使用Mina以及了解Mina

2013-04-20

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除