- 博客(30)
- 收藏
- 关注
原创 Tomcat :一个简单的Servlet容器
Servlet容器处理Servlet请求的简单流程图如下图所示: UML类图如下图所示: HttpServletProcessor类: package com.flyer.tomcat.first;import java.io.File;import java.io.IOException;import java.io.InputStream;im...
2012-12-05 18:41:47
228
原创 【译】如何设计一个好的API
好的API,应该是易于学习、易于使用即使没有文档、很难被误用、易于阅读并且使用它的代码容易维护、足够强大来满足需求、易于扩展。 API设计流程 收集需求-》一个简单的设计说明-》尽早和经常写API-》写服务提供接口比较重要-》维护现实需求1.一般原则 API应该只做一件事,并且把它做好功能应该很容易解释,如果很难命名,一般都是一个坏的信号。一个好的名字驱动开发...
2012-12-02 01:05:09
208
原创 多线程之ReentrantReadWriteLock
ReentrantReadWriteLock类package com.zhang.concurrent;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.locks.Lock;import java.util.concurrent...
2012-12-01 12:01:39
124
原创 Java RMI简单例子
rmi调用一般过程:接口: package com.zhang.rmi;import java.rmi.Remote;import java.rmi.RemoteException;/** * 实现Remote接口,定义的方法都需要抛出RemoteException * <p /> * * @author Administrator...
2012-11-29 16:12:30
257
原创 Effective Java,枚举类型使用
将不同的行为与每个枚举常量关联起来:在枚举类型中声明一个抽象的方法,并在特定于常量的类类主体中,实现具体的方法。/** * 用户角色 * <p /> * * @author Administrator */public enum Role { ROLE_ADMIN { @Override p...
2012-11-16 21:31:19
152
原创 web.xml配置
1.< context-param>context-param 元素用来设定web站台的环境参数(context),它包含两个子元素: param-name和param-value. < param-name>参数名称< /param-name> 设定Context名称 < param-value>值< /param-val...
2012-11-08 18:22:44
118
原创 OSGI笔记
1. OSGI bundle间的协作方式类似SOA,每个bundle可以通过BundleContext注册对外提供的服务,同时也可以通过BundleContext来获得需要引用的服务。借助使用bundle的元数据来实现工程之间package的共享。export package和import package。在OSGI框架中,Service是个实际的概念,只有通过BundleContext注...
2012-09-18 17:33:02
145
原创 Hadoop入门
1.参考资料:Hadoop快速入门,来自hadoop官方站,中文,且比较权威。配置hadoop配置文件时,发现该文档此段落已经过期,请参考英文版本:http://hadoop.apache.org/common/docs/r1.0.3/single_node_setup.html。2.安装环境:window32位机器,用以学习测试,生产环境需要在linux环境下安装使用。(1)先决条件...
2012-09-18 17:32:45
108
原创 Tomcat与web开发技术详解读书笔记(2)过滤器
1.简介过滤器能够在Servlet、JSP或HTML等web组件被调用之前检查ServletRequest对象,修改请求头和请求正文的内容或者对请求进行预处理操作能够在Servlet、JSP或HTML等web组件被调用之后检查ServletReponse对象,修改响应头和响应正文。利用包装类ServletRequestWrapper和ServletResponseWrapper来修改...
2012-09-18 17:31:07
100
原创 NIO Reactor模式(阅读NIO笔记)
注:内容均节选自附件中的ppt文档。 1.网络服务一般的结构: 读取请求--->解码请求--->处理服务--->编码响应--->发送响应经典的服务设计是“每一个请求一个线程”,如下图 2.Reactor模式Reactor响应I/O事件,分发到合适的Handler处理。Handler执行非阻塞的动作。基本的Reactor设计,单线程版本...
2012-09-10 11:25:23
158
原创 NIO Buffer and Channel
1.Buffer类图 新创建的ByteBuffer,四个属性的位置capacity:容量,指定缓冲区的大小。 ByteBuffer byteBuffer = ByteBuffer.allocate(BUFFER_SIZE); limit:第一个不应该读取或写入的元素的索引。缓冲区的限制不能为负,并且不能大于其容量。 Position: 下一个要读取或写入的元素...
2012-09-06 14:58:58
122
原创 【转载】NIO基本概念
慢慢了解的过程中,觉得有必要重新回顾一下IO的基本概念,深入理解一下基础。 缓冲区操作以下内容摘自《Java NIO》:缓冲区,以及缓冲区如何工作,是所有 I/O 的基础。所谓“输入/输出”讲的无非就是把数据移进或移出缓冲区。进程执行 I/O 操作,归结起来,也就是向操作系统发出请求,让它要么把缓冲区里的数据排干(写),要么用数据把缓冲区填满(读)。进程使用这一机制处理所有数据进出...
2012-09-05 17:54:29
98
原创 Netty学习(2)
1.package org.jboss.netty.bootstrap; Bootstrap:初始化Channel的辅助类,为子类提供通用的数据结构。ServerBootstrap:创建新的服务器端Channel的辅助类,接收连接请求。ClientBootstrap:创建新的客户端Channel的辅助类,发起连接请求。ConnectionlessBootstrap:...
2012-09-03 17:59:46
220
原创 Netty学习(1)
注:本文翻译自Netty官方网站,地址:https://netty.io/Netty介绍Netty是一个异步事件驱动的网络应用框架,可以快速开发易维护的高性能协议服务器和客户端。Netty是一个NIO的客户端服务器框架,可以快速和简单开发网络应用(比如开发协议的服务器和客户端),大大简化并提高了网络编程的效率(比如开发TCP和UDP socket 服务器)。“快和简单”并不意味着...
2012-09-03 10:53:10
155
原创 GIt入门
1.下载与安装下载地址:http://code.google.com/p/msysgit/,该地址没有被墙,git官方网站http://git-scm.com/已经被墙,无法访问下载。选择下载Git-1.7.11-preview20120710.exe,这是笔者写这篇文章时的最新版本。下载完成,点击exe一路安装即可。2.配置(1)每一次提交都需要包含你的名字和你的Email地址,...
2012-08-28 17:47:47
184
原创 结束也是开始
上周,从一家从毕业就进入的500强公司辞职了,毅然决定了离开,就算没有找到下家。觉得工作和自己的发展格格不入,很难想象在在这里待几年之后,还能有什么竞争力。我承认,在这里可以获得很好的收入,但是我不想在年纪在大一些的时候,因为经历像现在这样的金融危机或者行业冬天的某天被通知你可以离开了,我希望能够拥有自己的核心竞争力,就算离开了一个地方到任何一个地方都可以工作的很好。我不知道我在这个行业寒冬是否可...
2012-08-27 10:29:25
125
原创 【转】业余时间决定人生
业余时间决定人生作者:英国《金融时报》中文网专栏作家 谁谁谁 【作者微博】来源:http://www.ftchinese.com/story/001041738 虽然“朝九晚五”是工作的代名词,但真正决定职业走向,并顺便决定了人生走向的,关键不在上班时间,而是在下班的时间。举个例子,大城市的很多上班族会抱怨回到家已经八九点。吃吃饭,打打游...
2011-11-25 23:44:04
264
原创 How tomcat works 第四章学习笔记(1)
Tomcat4默认连接器tomcat连接器是一个独立的模块,可以插入到一个servlet容器。一个tomcat连接器必须符合以下要求: 必须实现org.apache.catalina.Connector接口必须创建一个实现org.apache.catalina.Request接口的request对象必须创建一个实现org.apache.catalina.Response接口的...
2011-11-20 18:26:48
236
1
原创 How tomcat works学习笔记(1)
1. servlet容器是如何工作的?创建一个Request对象,填充一些信息比如参数、headers、cookies、查询字符串、URI等。一个Request对象是javax.servlet.ServletRequest或javax.servlet.http.ServletRequest接口的实例。创建一个Response对象,用于调用的servlet向客户端传递响应信息。其是jav...
2011-11-20 17:30:34
147
原创 Tomcat与web开发技术详解读书笔记(1)Http协议简介
1.HTTP协议简介 超文本传输协议,是关于如何在网络上传输超级文本的协议。HTTP协议位于应用层,建立在TCP/IP协议的基础上,使用可靠的TCP连接,默认端口80端口。 HTTP请求格式: 请求方法、URI和HTTP协议的版本请求头请求正文 POST /reg.jsp HTTP/ (CRLF)Accept:image/gif,image/x...
2011-11-20 16:54:59
171
原创 win7跳过登录界面
开始--运行(或直接按win+R快捷方式),输入--输入 netplwiz回车,然后在“本机用户”那单击需要自动进入的帐户,然后去掉上面“要使用本机,用户必须输入用户名和密码”那里的钩,然后按应用,它会弹出框要你输密码,输完后按确定退出即可(也可以不设定密码直接确定),然后重启系统就会直接进你指定的帐户,不会再有登录界面。 ...
2011-10-15 11:06:51
503
原创 mongodb使用入门:windows版本
(1)下载mongodbwindow版本:http://www.mongodb.org/dr/downloads.mongodb.org/win32/mongodb-win32-i386-1.8.3.zip/download(2)、设置MongoDB目录(解压zip文件) 将其解压到 d:\,再重命名为mongodb,路径为d:\mongodb(3)、设置数据...
2011-09-05 21:18:44
142
原创 spring security 使用
使用篇 1、建立login.jsp页面.内容如下: Html代码 <form action="<%=path %>/j_spring_security_check" method="post"> USERNAME:<input type="text" name="j_username" value="${sessionSco
2011-09-05 00:29:16
96
原创 Spring IOC
容器(Container)-------容器可以管理对象的生成、资源取得、销毁等生命周期,甚至建立对象与对象之间的依赖关系。Spring提供容器功能,你可以使用一个配置文件(XML),在当中确定对象名称、确定如何产生对象、哪个对象产生之后必须设定成为某个对象的属性等。在启动容器之后,所有的对象都可以直接使用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。 “Do...
2011-09-04 22:12:49
108
原创 Servlet监听器
Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。下面将介绍几种常用的监听器,以及它们都适合运用于那些环境。 分类及介绍:1. ServletContextListener:用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口。 public class ...
2011-09-04 18:03:13
86
原创 工作相关的术语
1.SOA (Service-Oriented Architecture,面向服务架构) Service-oriented architecture (SOA) is a flexible set of design principles used during the phases of systems development and integration in computing. ...
2011-09-04 01:27:04
375
原创 MySql慢查询日志
转自:http://www.cnblogs.com/wenanry/archive/2011/05/12/2044157.htmlmysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢? 其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是m...
2011-09-04 00:26:26
97
Spring源码阅读(1)WebUtils
参考文章:1. http://www.ibm.com/developerworks/cn/java/j-lo-spring-utils1/ 2.spring源码WebUtils位于 org.springframework.web.util 包中的 WebUtils 是一个非常好用的工具类,它对很多 Servlet API 提供了易用的代理方法,降低了访问 Servl...
2011-09-01 22:24:05
147
原创 【转】Java socket编程入门(一)
[color=blue][b]一,网络编程中两个主要的问题[/b][/color]一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中[color=green]IP层主要负责网络主机的定位,数据传输的路由[/color],由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(tcp)的或非...
2011-03-31 22:38:18
319
原创 【转】svn文件清除批处理工具
来源:http://darkmasky.iteye.com/blog/545466新建一个名为clearSvn.bat, copy以下内容:@echo oncolor 2fmode con: cols=80 lines=25@REM@echo 正在清理SVN文件,请稍候......@rem 循环删除当前目录及子目录下所有的SVN文件@rem for ...
2011-03-24 00:27:26
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人