自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 创建自己的CoordinatorLayout实现

分析android Material Design CoordinatorLayout的实现原理并实现自己的CoordinatorLayout实现类

2016-07-01 22:43:12 923

原创 Jdev go to file extension

When doing EBS development, i found it painful to use JDev with OA extension, it is pretty old version for we are still in EBS 12.1.3 and the corresponding jdev version is 10.1.3, while the latest ver

2014-03-26 21:38:31 1097

原创 connect to MySql in Qt5.0.2

openSource Qt version don't have MySql driver support directly, so we need to compile one for ourself, lot of article post step about same, one problem is they are all different from each other, summa

2013-08-02 00:37:14 734

转载 动态库、静态库、运行时库、引入库

转自:http://www.cnblogs.com/qinfengxiaoyue/archive/2012/05/27/2519703.html运行时库:Unix中一个典型的运行时库例子就是libc,它包含标准的C函数,如,print(),exit()等等,用户能创建他们自己的运行库(在Windows中是DLL),而具体的细节依赖编译器和操作系统的。静态库:函数和数据被编译进一个二进制文件

2013-07-13 12:22:58 1029

转载 Linux C 编程入门之一:gcc 编译动态库和静态库

转自:http://blog.csdn.net/cheungmine/article/details/7684800主调用程序源代码3-1:main.c/** * main.c */ #include #include #include "hello_fn.h" int main () { hello("cheungmine");

2013-07-10 21:05:16 615

转载 linux下的静态库和动态库的编译

转自:http://www.cnblogs.com/itech/archive/2009/09/08/1562292.htmlhttp://www.diybl.com/course/6_system/linux/Linuxjs/20071027/80547.html每个程序实质上都会链接到一个或者多个的库。比如使用C函数的程序会链接到C运行时库,GUI程序会链接到窗口库等等。无论哪种情

2013-07-10 20:48:30 426

转载 Hibernate与iBATIS的比较

1.出身 hibernate 是当前最流行的o/r mapping框架,它出身于sf.net,现在已经成为jboss的一部分了。 ibatis 是另外一种优秀的o/r mapping框架,目前属于apache的一个子项目了。 2.原理 相对hibernate“o/r”而言,ibatis是一种“sql mapping”的orm实现。hibernate 对数据库结构提供了较为完整的

2013-03-07 00:08:54 409

原创 JTA事务

JTA事务JTA(Java Transaction API)为 J2EE 平台提供了分布式事务服务,它隔离了事务与底层的资源,实现了透明的事务管理方式一个简单的使用jta的例子public void transferAccount() { UserTransaction userTx = null; Connection connA = null;

2013-02-28 23:10:16 603

转载 JAVA事务基础

抄了N多的地方,自己都忘了一、什么是事务  事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得数据库从一种状态转换成另一种状态。   事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的

2013-02-28 00:24:18 491

转载 Log4j 对比 java.util.logging(转贴)

转自:http://www.blogjava.net/lhulcn618/articles/16996.html摘要 你的Java程序是否被很多随即放置的System.out.println语句和stack traces(例如:ex.printStackTrace())弄乱呢?当你加入调试信息到工程中的类中,你的信息输出是否穿插于其他开发者的很多信息中,使得您的信息很难辨认

2012-08-02 15:18:31 790

原创 JMX学习体会(只是本人的文章从JAVAEYE搬到这来)

JMX(Java Management Extensions)中文翻译为JAVA管理扩展,jmx是在J2SE 5.0被加入到JAVA平台里的,主要是提供一种简单,标准低耦合的方式来管理JAVA平台的相关资源,包括硬件资源,操作系统资源,JVM,应用服务器,JAVA应用系统等。目前各大应用服务器都有相应的JMX实现,如WEBLOGIC,Tomcat等,在WEBLOGIC控制台里,我们可以通过点击按钮

2012-07-30 14:42:59 500

转载 Logger.getLogger与LogFactory.getLog

转自: http://apps.hi.baidu.com/share/detail/8464342Logger来自log4j自己的包。如果用Logger.getLogger,需要一个log4j的jar包,用此方式你只能依靠log4j:LogFactory来自common-logging包。如果用LogFactory.getLog,你可以用任何实现了通用日志接口的日志记录器替

2011-03-26 16:26:00 587

原创 java.util.HashMap

HashMap实现了Map接口,该接口的作用主要是为客户提供三种方式的数据显示:只查看keys列表;只查看values列表,或以key-value形式成对查看。Map接口并没有定义数据要如何存储,也没有指定如何判定key是一样,因此并不是所有的Map实现都会与hashCode方法扯上关系,如TreeMap便是要求对象实现Comparator接口,通过其compare方法来比对两者是否一致,而非ha

2011-03-19 15:23:00 1059

转载 Session详解 作者:郎云鹏

转载地址:http://leeldy.blog.163.com/blog/static/139853062009013105945194/目录:一、术语session二、HTTP协议与状态保持三、理解cookie机制四、理解session机制五、理解javax.servlet.http.HttpSession六、HttpSession常见问题七、跨应用程序的sess

2010-12-06 20:20:00 784

原创 tomcat的JSP处理

众所周知,客户端在访问JSP的时候服务器其实是将其转换为servlet来进行处理的,长久以来,本人对于服务器何时编译生成相应servlet的java文件及class文件备感疑惑,至到最近在网上搜索到相关的信息,因本人对此内容也还未深入研究,这里只做初步介绍。以tomcat为例,在tomcat的conf目录下有一web.xml文件,在其中有如下配置 jsp

2010-09-24 23:46:00 857 1

原创 简单SSH2环境搭建

之前学习SSH的时候搭建过,但也只是自己学习的时候用的,在公司就是做做一些系统维护,修修补补,没有什么机会做新系统,过一段时候后想再搭个SSH环境发现竟然都忘了,没法,这次专门做了一个初步的搭建后在此写下这篇文章,以后可以不必再大费周章。搭建步骤:新建web工程,并将下列jar包放入工程类路径 annotations-api.jarantlr-2.7.6.jarc3p0-0

2010-09-22 18:27:00 1061

JMX学习体会

   JMX(Java Management Extensions)中文翻译为JAVA管理扩展,jmx是在J2SE 5.0被加入到JAVA平台里的,主要是提供一种简单,标准低耦合的方式来管理JAVA平台的相关资源,包括硬件资源,操作系统资源,JVM,应用服务器,JAVA应用系统等。目前各大应用服务器都有相应的JMX实现,如WEBLOGIC,Tomcat等,在WEBLOGIC控制台里,我们可以通过点...

2010-05-03 17:25:26 110

原创 spring的事务管理的一些看法

以下内容转贴于IBM DEVELOPLER的《Spring 事务管理高级应用难点剖析》系列 虽然使用基本的JDBC进行开发的时候是处于DAO层的,但事务管理在流程上来说是属于业务层的内容,因此在spring中如果无论使用声明式还是编程式的事务管理,都是在service层进行封装的。这个时候就会出现一个问题,实际与数据库交互的时候是在DAO层进行的,但事务的开始是在service层方法运行之

2010-04-19 12:27:00 684

原创 struts2的一些小内容

在struts2中,我们添加拦截器的时候可以通过返回的结果码来确定返回的视图,但此时如果在自定义的拦截器中调用了invacation.invoke()去调用action的处理的话依然是会返回到action指定的result视图里,因为在invacation.invoke里会对action的返回结果码进行执行并重定向,因此如果是想在拦截器里重定向到某一视图,不要调用invaction.invoke方

2010-04-18 16:00:00 429

原创 spring aop的一点解析

spring一般只支持bean元素的解析,在支持aop后,在解析xml文件时会做判断,如果是bean元素的命名空间则照默认的处理方式处理,如果不是,则会另会处理,以ClassPathXmlApplicationContext为例,其载入xml定义的实现放在其父代类方法里,而实际的工作则是妥托给XmlBeanDefinitionReader来实现,调用的是其registerBeanDefinitio

2010-04-18 01:03:00 1002

原创 Hibernate一些想法

1.Hibernate的缓存有两种,一级缓存是与Session相关的,在Session关闭前可获取得到;二级缓存是与SessionFactory相关的,同一个SessionFactory里可获取得到;在使用缓存时要注意对于分布式及对数据没有绝对控制权的情况慎用二级缓存,因为有可以造成取到无效的数据

2010-03-25 22:43:00 425

原创 tomcat解析(十九)对客户请求的处理3

下面是StandardContextValve的invoke方法内容    对于路径中直接访问META-INF或WEB-INF目录下资源的,直接返回404错误     MessageBytes requestPathMB = request.getRequestPathMB(); if ((requestPathMB.startsWithIgnoreCase("/META-INF

2010-02-09 18:14:00 1073 1

原创 tomcat解析(十八)对客户请求的处理2

当我们在web.xml里配置了对系统资源访问的保护后,每次客户端发起访问都需要经过AuthenticatorBase及其子类的校验,大多共用的处理放在AuthenticatorBase中,其它独立于各种校验方式的处理放于其子类中,让我们先看一下AuthenticatorBase中做了哪些事情校验当前用户是否已经经过了校验,并且我们已将其校验通过的通行证明放到了该用户的Session中.

2010-02-09 17:20:00 1808

原创 tomcat解析(十七)Http11Processor

Http11Processor类的构造方法会做一些初始化的动作,但这些内容不在本文讲解范围内,因此这里先不细讲,有兴趣的同志可自已了解一下哈 public Http11Processor(int headerBufferSize, JIoEndpoint endpoint) { this.endpoint = endpoint; request

2010-02-08 12:49:00 3515

原创 tomcat解析(十六)对客户端请求的处理

前面我们讲到,或者你也可以在server.xml的注释中看到,Connector类是用于接收用户请求并返回处理结果的,整个服务启动及处理过程均在Connector的start方法里,而其实际的内容在于其挂有的ProtocolHandler对象,启动过程会调用其start方法,该方法又会调用到JIoEndpoint的start方法,该方法如下: public void start()

2010-02-03 18:03:00 1273

原创 tomcat解析(十五)StandardContext.start的其它内容

在StandardContext的start()方法里,除了触发相应的LifecycleEvent之外,当然还有其它的处理,下面我们来一一看看其中一些需要了解的内容;1.如果设置了支持JNDI,下面这段代码将为此CONTEXT注册一个监听器if (ok && isUseNaming()) { if (namingContextListener == null) {

2010-02-03 18:01:00 1207

原创 tomcat解析(十四)web.xml解析

对于web.xml文件的解析所使用的Rule为WebRuleSet类,查看其addRuleInstances可得知其设置的具体Rule内容,如下:    /** * Add the set of Rule instances defined in this RuleSet to the * specified Digester instance, associating t

2010-02-02 21:03:00 1923

原创 tomcat解析(十三)StandardContext

在一个tomcat服务器的生命周期内可以会创建一个或多个StandardContext对象,StandardContext对象代表的是一个具体的工程项目,对应的可以是server.xml里的标签或webapps文件夹下的某一个工程文件夹或war包,也可以对应于conf/Catalina/localhost文件夹下的任一个xml文件里的Context配置,在tomcat中,这些context代表的是

2010-02-02 20:59:00 2694 1

原创 tomcat解析(十二)StandardHost

首先看构造方法:       /** * Create a new StandardHost component with the default basic Valve. */ public StandardHost() { super(); pipeline.setBasic(new StandardHostValve());

2010-02-02 20:56:00 2259

原创 tomcat解析(十一)StandardEngine.start

首先是构造方法: /** * Create a new StandardEngine component with the default basic Valve. */ public StandardEngine() { super(); pipeline.setBasic(new StandardEngineValve());

2010-02-02 18:07:00 1369

原创 tomcat解析(十)StandardService.initialize.start

先上代码:一.initialize /** * Invoke a pre-startup initialization. This is used to allow connectors * to bind to restricted ports under Unix operating environments. */ public void ini

2010-02-02 18:04:00 1352

原创 tomcat解析(九)StandardServer.initialize.start

在前几篇文章中已说到整个服务器的启动已托管给该类的initialize及start方法,下面我们来看一下这两个方法的内容一.initialize /** * Invoke a pre-startup initialization. This is used to allow connectors * to bind to restricted ports under U

2010-01-27 12:58:00 1529 1

原创 tomcat解析(七)Digester(四)characters,endElement.endDocument

1.characters 方法内容如下: /** * Process notification of character data received from the body of * an XML element. * * @param buffer The characters from the XML document * @par

2010-01-27 12:54:00 1286

原创 tomcat解析(八)Catalina.createStartDigester

在tomcat解析(四)中我们讲到了Catalina的load及start方法启动及准备整个tomcat服务器,而这两个方法最终又将该任务交由server的initialize及start方法处理,该变更将引用Server类的实例,但初始化时为空,因此我们需要该对象实例化过程,而该过程尽在Catalina.load方法的第三步骤里(可看tomcat解析四).首先我们需要了解一下其中的createS

2010-01-26 18:16:00 2476 1

原创 tomcat解析(六)Digester(二)startElement

在用SAX对XML进行解析时,需要设置相应的ContentHandler实现,该对象将用于响应各种xml解析的事件,如开始标签时会调用其StartElement方法,遇到标签体时会调用其characters方法,而结束标签会调用其eneElement方法,我们可以看到Digester便是继承了DefaultHandler类,而该类则实现了ContentHandler接口,因此当我们调用digest

2010-01-26 18:14:00 2158

原创 tomcat解析(五)Digester(一)

此类用于读取xml文件并根据xml的结构生成相对应的对象结构,可以想象有点象DOM一样的,但主要使用的技术为SAX,即基于事件的XML解析,再配合TOMCAT将对象生成及配置动作进行抽象化(即将相同的东西抽象出来)而成的org.apache.tomcat.util.digester.Rules及其相关类,实现了通过读取配置文件来生成对象并且对对象进行方法调用及属性配置等操作的强大功能,tomcat

2010-01-26 18:10:00 1470

原创 tomcat解析(四)Catalina.load.start

load该方法内容如下:/* * Load using arguments */ public void load(String args[]) { try { if (arguments(args)) load(); } catch (Exception e) {

2010-01-26 18:08:00 1722

原创 tomcat解析(三)bootstrap.load.start

上一篇讲到TOMCAT启动的时候调用了bootstrap.init()方法来初始化一些将要用到的环境变量及对象,其中最重要的是实例化一个org.apache.catalina.startup.Catalina对象,而该对象则负责了后续整个tomcat服务器的启动工作,下面我们继续从Boostrap.main()方法看看在初始化后tomcat服务器是如何启动的.在这里就不再贴出main()方法的内容

2010-01-26 18:07:00 1250

原创 tomcat解析(二)Bootstrap.init

org.apache.catalina.startup.Bootstrap没有静态块,因此将直接运行其main方法的,main方法如下:/** * Main method, used for testing only. * * @param args Command line arguments to be processed */ public

2010-01-22 17:57:00 2878 5

原创 tomcat解析(-)学习如何写一个servlet服务器

你有没有想过,如果由你来编写一个Servlet服务器,你会怎么写,当然先假定你已经阅读了servlet服务器的规范,知道它应该如何组织自己以及如何对请求做出响应等.对于已有一定j2ee工作经验的人来说(先假定它完全没看到servlet服务器的实现),我想他应该也有一个大概的概念,关于如何编写一个servlet服务器.软件行业的发展最具有深远意义的是开源的产生,因为开源,我们可以学习到其它高手对某一

2010-01-22 16:05:00 1933

sql优化..........

sql优化...................

2008-11-02

automatic sql tuning in oracle 10g

描述sql tuning的基础.............

2008-10-27

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

TA关注的人

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