- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 How Tomcat works - Session Manager(base on Tomcat4)
a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user (s
2013-04-02 23:04:58 1001
原创 tomcat connector 以及对wait notify 思考
1. connector 接受 socket请求,会在维护的processor pool中创建或返回一个processor。 初始时processor的 socket available= false await 方法睡眠。当connector thread调用processor的assign方法时,初始socket唤醒等待此processor instance 锁的进程,available= t
2013-03-21 18:17:46 703
原创 How tomcat work读书笔记 chapter2 a simple servlet
类图:详解:1. 服务器端serverSocket绑定接口地址,等待接受请求2. 接受请求后,用inputstream 和 outputstream 分别构造request和response对象3. request 通过parseURI解析出请求资源的地址4. server根据地址类型,调用不同的processor进行处理 5. if static p
2013-01-26 23:36:49 498
原创 MAVEN 搭建基于springmvc web项目+jetty-maven-plugin测试
部署参考此配置过程:点击打开链接初次在工作中使用spring mvc + maven, 以下记录基于这些工具开发的流程,遇到的问题。原理介绍:服务器初始化:1. initWebApplicationContext2. 初始化org.springframework.beans.factory.support.DefaultListableBeanFacto
2013-01-23 18:15:25 7645
转载 java回调的两种应用
看过spring、hibernate源码的朋友对callback回调模式应该并不陌生,用一句话来概括就是:“if you call me, i will call back”,说白了,就是有相互依赖关系的两个类之间的互相调用,现在看看下面的代码模型: Java代码 package com.cuishen.callback; public class
2012-12-28 18:34:25 619
转载 异常(收藏)
Java的checked和unchecked异常2011 年 6 月 14 日No commentsJava异常分为两种类型,checked异常和unchecked异常,另一种叫法是异常和错误。简单地讲,checked是可以在执行过程中恢复的,而unchecked异常则是无法处理的错误。checked异常:表示无效,不是程序中可以预测的。比如无效
2012-12-06 19:09:01 536
转载 jdbc
The “PreparedStatement” interface is extended “Statement”, with extra feature to send a pre-compiled SQL statement with parameters. For create, insert, update or delete statement, uses “PreparedStat
2012-12-06 19:03:19 283
转载 jvm调优 转载
原文地址:http://crazier9527.javaeye.com/blog/271710OOM这 个缩写就是Java程序开发过程中让人最头痛的问题:Out of Memory。在很多开发人员的开发过程中,或多或少的都会遇到这类问题,这类问题定位比较困难,往往需要根据经验来判断可能出现问题的代码。原因主要是 两个:对象没有被释放(多种情况引起,往往是比较隐蔽的引用导致被Hold而无法被
2012-12-06 18:47:22 353
转载 UML类图关系大全
UML中的六大关系 UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明了;以下就分别介绍这几种关系: 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,
2012-11-17 20:55:46 508
转载 Mysql Explain 详解
Mysql Explain 详解一.语法explain 例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+
2012-11-10 00:46:20 381
转载 如何判断单链表里面是否有环
这题目还是慢有意思的。题目:0.如何判断单链表里面是否有环?算法的思想是设定两个指针p, q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。这里主要理解一个问题,就是为什么当单链表存在环时,p和q一定会相遇呢?假定单链表的长度为n,并且该单链表是环状的,那么第i次迭代时,p指向元素i mod n,q指向2i
2012-11-07 20:09:12 275
转载 数据库中索引的优缺点
数据库中索引的优缺点 为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在
2012-10-28 17:04:00 378
转载 java 几种远程服务调用协议的比较
http://www.cnblogs.com/jifeng/archive/2011/07/20/2111183.html一、综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA
2012-10-25 11:00:07 456
转载 rmi webservice socket 协议 区别
应用层的通讯协议: http https pops smtp ftp* 传输层协议: tcp udp* 网络层协议: ip Socket是使用在传输层的一种技术。 java jdk中分别实现了基于tcp的socket -- java.net.Socket java.net.ServerSocket 基于udp
2012-10-25 10:39:57 1494
转载 JAVA线程dump的分析 --- jstack pid
转载地址:http://www.blogjava.net/jzone/articles/303979.htmlJava 的线程线程是指能独立于程序的其它部分运行的执行单元。 JAVA语言能够很好的实现多线程的程序。我们在调试程序,或者在开发后期需要做性能调优的时候,往往也需要了解当前程序正在运行的线程的状态,正在执行的操作,从而分析系统可能存在的问题。 在阅读本文之间,应对
2012-10-24 21:29:54 471
转载 Linux core 文件介绍
Linux core 文件介绍1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -
2012-10-18 23:53:54 366
原创 synchronized 静态 非静态 方法 使用不同锁对象
http://developer.51cto.com/art/200906/132360.htm看此文章锁的一些实验验证用synchronized分别修饰静态方法和非静态方法,使用的锁分别为静态:class对象的锁非静态:本对象的锁实验1:对静态方法和非静态方法用synchronized进行修饰结论:出现错乱的输出,说明静态方法和非静态方法用不同的锁实验2:对静态方
2012-10-17 19:49:06 3851
转载 Java程序持续Full GC的处理经历(转)
1. 发现问题 最近在检查爬虫程序运行情况的时候发现采集速度非常慢,查看cpu占用率的时候发现有一个内核一直是100%,按理说多线程的程序不应该会出现这样的情况。第一反应就是用jstack -l [pid]把线程dump出来查看栈情况,但没发现什么异常。然后就考虑用jmap -heap [pid]把内存使用情况打印出来看看,奇怪的是出现好几次连接不上的情况,等打印出来发现居然旧生代已
2012-10-16 22:47:30 3556
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人