自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无止于天涯 - Always on the Road

编程之路其修远兮,吾将上下而求索

  • 博客(12)
  • 资源 (23)
  • 收藏
  • 关注

原创 String字符常量池和intern()

常量池(Constant Pool)指的是在编译期被确定,并被保存在已编译的class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。    JVM在运行的时候,会装进存在于.class文件中的常量池。    常量池在运行中,是可以扩展的,如String.intern()方法:先检查常量池里有没有相同Unicode的常量,没有则添加,然后返回此String的引用。

2013-05-31 00:45:16 1525

原创 初探Tomcat源码 —— 关闭钩子

在Tomcat中,通过Catalina的start()来启动服务器Server等组件;然后监听ShutDown命令来调用stop()关闭。        但是,如果程序没有走上面的流程,非正常关闭,那么stop()的逻辑就没法执行了。幸运的是,和Java的shutdown钩子一样,Tomcat也提供了自己的关闭钩子。JVM的关闭钩子可以参考我的《JVM关闭钩子(2)—— 源码浅析》,主要是

2013-05-22 21:53:54 2745

原创 JDK-Map源码浅析——IdentityHashMap

java.util.IdentityHashMap 类也是一种哈希表实现的Map接口,该类不是 通用 Map 实现。此类实现 Map 接口时,它有意违反 Map的常规协定,比较键/值时使用引用相等性代替对象相等性,不使用hashcode,而只使用Object.equals()。        这里相等性比较的是地址:key1==key2,所以只有两个对象的地址相等才认为相等,是最严格的相等条件

2013-05-16 20:22:08 1521

原创 JVM关闭钩子(2)—— 源码浅析

上一篇《JVM关闭钩子(1)—— 概念和应用》简单解释了什么是钩子,并且举例说明了Java中关闭钩子的使用,现在我们来深入了解,Java中怎么实现这个关闭钩子的。        主要通过java.lang.Shutdown和java.lang.ApplicationShutdownHooks 这两个工具类来实现。Shutdown负责触发钩子,而ApplicationShutdownHook

2013-05-16 03:46:25 3349

原创 JVM关闭钩子(1) —— 概念和应用

Hook-钩子钩子(Hook) ,是一个处理消息的程序段,用于Windows消息处理机制,通过系统调用,把它挂入系统,当特定事件触发的时候执行。  如键盘钩子截获键盘消息,外壳钩子截取、启动和关闭应用程序的消息等。钩子也可以理解为WINDOWS留给我们的后门,通过钩子可以参与到WINDOWS事件的处理。很多木马程序就是通过添加钩子来监视用户的行为。 相当于我们先建立一个事件列表,然

2013-05-16 02:53:53 1783

原创 初探Tomcat源码 (8) —— Session_StandardSession

上一章讨论过Tomcat5.0中Catalina通过Manager来完成session的管理,这章我们来看看Session的标准实现:StandardSession。StandardSession        StandardSession除了实现了javax.servlet.http.HttpSession和org.apache.catalina.Session之外,它还实现了

2013-05-08 01:53:23 1823

原创 初探Tomcat源码 (7) —— Session_Manager

HTTP协议本身是无状态的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有必要纪录彼此过去的行为,每一次请求之间都是独立的,好比一个顾客和一个自动售货机的关系一样。但是很多时候,我们需求区分用户发来的请求是否来自于同一个浏览器,例如用户只用登陆一次,就可以了,后来的请求都带着这个登陆信息,就不用重复登陆了。所以客户端和服务器端的交互,需要携带一部分的状态信息,Co

2013-05-07 20:43:29 1014

原创 初探Tomcat源码 (6) —— Cookie

HTTP协议本身是无状态的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有必要纪录彼此过去的行为,每一次请求之间都是独立的,好比一个顾客和一个自动售货机的关系一样。但是很多时候,我们需求区分用户发来的请求是否来自于同一个浏览器,例如用户只用登陆一次,就可以了,后来的请求都带着这个登陆信息,就不用重复登陆了。所以客户端和服务器端的交互,需要携带一部分的状态信息,Co

2013-05-07 12:43:43 1423

原创 初探Tomcat源码 (4) —— Catalina容器结构

Tomcat是一个由一系列可配置的组件构成的Web容器,而Catalina是Tomcat的servlet容器。Catalina主要组件的结构如下:                如上图所示,Catalina负责管理Server,而Server表示着整个服务器。Server下面有多个服务Service,每个服务都包含着多个连接器组件Connector和一个容器组件Co

2013-05-05 19:58:52 2061 1

原创 初探Tomcat源码 (3) —— SimpleHttpServer

前面分别介绍了Http的请求响应,以及Socket的通信,现在整合起来,看请求响应怎么通过Socket来交互通信。        我们通过下面一个简单ServerSocket的应用,来把Request和Response融入到Socket的传输通信中。 /** * 模拟简单的服务器端 */publicclass SimpleHttpServer {    publ

2013-05-05 13:01:58 1041

原创 初探Tomcat源码 (2) —— Socket

网络中进程之间的通信,Request和Response的交互就是通过Socket来是实现的。这需要唯一地标识一个进程。        在本地可以通过进程PID来唯一标识一个进程,但是在网络需要用另一种方式标识:利用三元组(IP地址,协议,端口)来标识网络的进程。网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。因此: Socke

2013-05-05 04:31:23 1179

原创 初探Tomcat源码 (1) —— Http请求和响应

HTTP (HTTP-Hypertext transfer protocol),超文本传输协议,是超媒体系统应用之间的通信协议。是一个让网络客户端和服务器端相互传输交互的协议,是Request和Response的协议,简单来说,就是Client发送请求Request,而Server响应请求Response。        【另外,在HTTP中,服务器端不能主动连接客户端,都是客户端先请求,服务

2013-05-05 04:19:27 1474

RocketMQ-3.1.1

鉴于Github最新版本的RocketMQ不能安装到windows上,这里提供了一个低版本的RocketMQ-3.1.1以供大伙学习。

2015-04-05

just a pic

just a picture for you. share it.

2014-08-16

pic for me

just a picture, you can share it free.

2014-08-16

pic for job

this picture just for develop job. please don't spread it in the internet.

2014-08-15

demo for rmi

a demo for java rmi. you can test it and do something modify.

2014-07-23

wane‘s ppt

这是个不错的课程,大家可以下载下来看看,还蛮不错的!顶一个

2014-07-03

v5 new code

release for v5, you can download and enjoy it.

2014-06-20

platform for robot

platform for robot, you can enjoy it.

2014-06-16

proguard5.0beta1

代码混淆工具,just for free

2014-06-15

my leader code

this is my leader code, anyone can read and share your suggestions.

2014-06-09

v5_robot_release_1.1

my release of robot, you maybe can learn something from it.

2014-06-08

v5Tank_1.0

好东西,你值得拥有

2014-06-05

robocode 1.9

IBM的坦克大战,传闻很容易上瘾哦! 指挥你的坦克冲锋陷阱,消灭其他渣渣吧

2014-05-13

jclazz字节码查看工具(反编译)

用根目录下的\scripts\win32\jclazz-gui.cmd打开class文件,就能看到字节码,还有反编译功能

2013-11-03

深入理解Java虚拟机-JVM高级特性与最佳实践

《深入理解Java虚拟机-JVM高级特性与最佳实践》-周志明(pdf扫描版)

2013-11-03

随便写的代码-jacky

jacky代码,随便下载

2013-08-22

cpuz-硬件检测工具

cpuz-硬件检测工具,用于检测cup等。

2013-08-20

jadclipse_3.3.0.jar

eclipse的反编译插件,32位/64位都可以用

2013-06-02

jad 158g.win.zip

jdk的反编译命令,放到jdk的bin目录就好

2013-06-02

空空如也

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

TA关注的人

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