自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

找家的感觉

    亲戚来上海,帮忙从家来带来了我妈亲手做的酱豆,这几天餐桌上的其他菜似乎都索然无味了。     最近似乎迷失了自己,工作也心不在焉的,却喜欢上了和很久没联系的同学旧友畅谈,忆忆过去,聊聊现在、憧憬着美好的未来。对于我们这些漂泊在外的人来说,常常会谈起“归宿感”,我们老家在安徽,身在西安的朋友觉得自己很没有归宿感,想象着如果能像我一样在上海的话,也许会好很多,然而我的心情亦如此,幻想着...

2011-11-10 17:20:53 206

原创 Your Code Sucks

        A very good friend of mine is in the midst of an avalanche of work. He has a lot of open contracts, and has been abandoned by a fellow developer that was helping him with his workload. S...

2010-08-16 12:50:24 204

NIO学习系列:文件锁定和字符集

在前面五名已经学习了四篇关于NIO系列的文章:核心概念及基本读写 、缓冲区内部实现机制 、连网和异步IO 、缓冲区更多特性及分散/聚集IO ,这里我们继续探讨和学习有关文件锁定和字符集相关的内容。 9.    文件锁定    1)    概述:    文件锁定初看起来可能让人迷惑。它似乎指的是防止程序或者用户访问特定文件。事实上,文件锁就像常规的Java对象锁,它们是“劝告式”的(...

2010-06-06 10:40:10 146

NIO学习系列:缓冲区更多特性及分散/聚集IO

   在前面三篇关于NIO系列的学习文章:核心概念及基本读写 、缓冲区内部实现机制 、连网和异步IO 中,我们已经介绍了NIO的核心知识,本文继续探讨和学习缓冲区更多特性及分散/聚集IO等相关内容。 7.    缓冲区更多内容    到目前为止,我们已经学习了使用缓冲区进行日常工作所需要掌握的大部分内容。我们所举的例子也没怎么超出标准的读/写过程种类,在原来的I/O中可以像在NIO中一样容...

2010-06-05 03:10:10 156

NIO学习系列:连网和异步IO

接前两篇关于NIO系列的学习文章:核心概念及基本读写及缓冲区内部实现机制 ,本文继续探讨和学习连网和非阻塞IO相关的内容。 6.    连网和异步IO   1)    概述:   连网是学习异步I/O的很好基础,而异步I/O对于在Java语言中执行任何输入/输出过程的人来说,无疑都是必须具备的知识。NIO中的连网与NIO中的其他任何操作没有什么不同,它依赖通道和...

2010-06-04 10:06:19 104

好好写博

   这段时间工作稍闲,就花了大把的时间泡在一些技术社区和论坛上,也总结了几篇文章,对自己以前的知识进行总结,的确写博并不是一件很容易的事,写出来的可能不仅是知识,还夹杂着生活阅历、情感、表达方式、智慧等,要想写出一篇优美的博文,实非易事。   偶尔看到别人一页一页对生活的总结和知识的积累时,心情难免会有些沮丧,为以前逝去的时光没有好好把握、学习的知识没有及时去总结而感到惋惜。现在我再认真去拾...

2010-06-02 15:47:10 108

NIO学习系列:缓冲区内部实现机制

接上一篇NIO学习系列:核心概念及基本读写,本文继续探讨和学习缓冲区的内部实现机制。5.    缓冲区内部实现   从上面对NIO的学习中,我们知道每一个缓冲区都有复杂的内部统计机制,它会跟踪已经读了多少数据以及还有多少空间可以容纳更多的数据,以便我们对缓冲区的操作。在本节我们就将学习NIO的两个重要的缓冲区组件:状态变量和访问方法。虽然NIO的内部统计机制初看起来可能很复杂,但是...

2010-06-02 10:22:27 114

NIO学习系列:核心概念及基本读写

1.    引言   I/O流或者输入/输出流指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。新的输入/输出(NIO)库是在JDK 1.4中引入的。NIO弥补了原来的I/O的不足,它在标准Java代码中提供了高速的、面向块的I/O。   原来的I/O库与NIO最重要的区别是数据打包和传输的方式的不同,原来的 I/O 以流的方式处理数据,而 NIO 以块的方式处...

2010-05-31 15:21:14 156

构建自己的通用分页组件(下)

   在阅读本文之前,请先参考:构建自己的通用分页组件(上)。1. 需求:   在前一篇文章中,我们通过分析常见的分页需求,构建了一个通用的分页类Page和页面范围类PageScope,在此基础上完成了分页查询的前后台交互。但是取得当前页面的数据及其他分页页码信息后,最终还是要展示到页面上。   一种常用的方法就是将分页查询后返回的page对象传递给页面,页面通过一...

2010-05-28 00:28:11 120

构建自己的通用分页组件(上)

1. 需求:   在实际项目开发中,分页是我们常见的操作,在一般数据展示的列表页,都会使用到数据分页。分页时,在每个页面上只需取得该页面展示的数据及列出其他的页码即可,这样可以以合适的粒度来获取页面展示的数据,避免不必要的数据的传输。   在软件的分层构架中,实现一个供前后台交互用的分页组件,已成为每个项目必不可少的潜在需求。本文将在实际项目中分页需求的基础上,讨论并实现一个通用的分页...

2010-05-27 15:30:07 121

深入Java集合学习系列:ArrayList的实现原理

1. ArrayList概述:   ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。   每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量...

2010-05-25 12:34:06 556

深入Java集合学习系列:LinkedHashMap的实现原理

1. LinkedHashMap概述:   LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。   LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序...

2010-05-24 12:44:25 757

原创 深入Java集合学习系列:LinkedHashSet的实现原理

1.    LinkedHashSet概述:   LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可为插入顺序或是访问顺序。   注意,此实现不是同步的。如果多个线程同时访问链接的哈希Set,而其中至少一个线程修改了该Set,则它必须保持外...

2010-05-23 16:54:24 509

原创 深入Java集合学习系列:HashSet的实现原理

1.    HashSet概述:   HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 2.    HashSet的实现:   对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet 的实现比较简单,...

2010-05-23 00:25:20 498

原创 深入Java集合学习系列:HashMap的实现原理

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,H...

2010-05-22 16:21:48 626

图像处理工具类

在实际项目中,我们经常会遇到处理各种各样的图片问题。比如:图片的旋转、缩放、图片格式转换、获取图片类型、验证图片大小、写入图片等。这里我们使用java.awt.Graphics2D来实现常用图像处理的功能,形成我们的图像处理工具类。package com.zhangsx.util.image;import java.util.Iterator;import java.a...

2010-04-12 12:24:49 101

Web操作工具类

package com.zhangsx.util.web;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Web相关的工具方法。 * 提供获取用户的实际IP...

2010-04-12 10:17:03 82

简单排序

众所周知,JDK提供了java.util.Arrays工具类,能通过sort方法对基本类型的数据或者Java对象进行排序。本文通过学习及使用三种简单排序算法(冒泡排序、选择排序、插入排序),实现对存储Java对象的数组进行排序。以便使大家在学习简单排序算法的同时,又能对Arrays的排序实现有个更加感性的认知。package com.zhangsx.sort;import ja...

2010-04-11 16:28:25 92

Spring学习系列:Spring容器

容器是Spring框架的核心,是组件存活的地方。Spring容器使用DI管理所有组成应用系统的组件,协作组件之间建立联。而且,       这些对象简洁易懂,降低耦合性,支持重用,容易被测试。 Spring提供了多种容器实现,可分为两类:Bean工厂和应用上下文。 1. BeanFactory:由org.springframework.beans.facto...

2010-04-09 17:36:13 183

Spring学习系列:Spring简介

目标:简化企业级应用开发。定义:Spring是一个轻量级的DI和AOP容器框架。    定义描述:    1. 轻量级:从大小和处理应用开支上来说,Spring都算是轻量级的;而且Spring是非侵入式的,基于Spring开发的应用中 的对象一般不依赖于Spring的类。    2. DI(依赖注入):Spring提供一种松耦合的技术,称为依赖注入(DI)。使用DI...

2010-04-09 08:55:51 96

方法日志记录器

    在实际项目开发中,我们常常需要实时监测一个方法的执行情况,如:方法执行开始、注入方法的参数列表、方法执行时间、方法结束等信息。将这些信息以日志形式进行记录,可以方便开发人员分析方法的执行情况,比如,可以自定义一个时间标准,将执行时间超过此标准时间的方法标记为慢速,以便能及时监测到执行时间过慢的方法,给检查和调试带来方便。    下面为一个记录方法执行情况的日志记录器,使用Spring ...

2010-04-06 11:46:09 193

编码过滤器

在Web应用开发中,我们常常需要对http请求做相应的编码处理,这时,可通过过滤器的方式来实现:package com.zhangsx.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.Filt...

2010-04-06 10:45:05 108

UUID生成器

package com.zhangsx.util.id;import java.util.UUID;/** * UUID生成器,以UUID的策略生成一个长度为32的随即字符串。 * * @author ZhangShixi */public class IdGenerate { /** * 以UUID的策略生成一个长度为32的字符串,...

2010-04-06 10:25:13 308

一维数组

数组是一组具有某种共同特性的原元素集合,它是应用非常广泛的数据存储结构,具有如下特点:    1. 数组在定义时,不能分配存储空间,在定义完后,才给数组分配存储空间。    2. 数组根据下标存取元素。    3. 数组使用时,会进行边界检查。    4. 数组既可以保存基本类型(基本类型数组),也可以保存对象引用(对象数组)。下面为针对一维数组进行的插入、删除、查找的基本实现...

2010-04-05 01:41:31 74

Java数据类型

     数据类型是计算机语言里针对内存的一种抽象表达方式,也是语言的抽象原子概念,即语言中最基本的定义单元。在Java语言中,数据类型分为基本类型和对象类型。1.  基本类型:    Java中的基本类型有九种,并且都有其对应的包装类。其中void类型及其包装类java.lang.Void,我们无法直接操作。其余八种基本类型,从类型上又可分为:布尔型、字符型和数值型;其中数值型又可分为整...

2010-04-04 18:27:08 67

处女贴:新生的开始

      默默无闻间,加入JavaEye已经1年多了......      好吧,我承认我是闲的DT,才忽然发出这么让人匪夷所思的感慨。一直以来,也许我和大多数的潜水员一样,混在JE的只懂汲取,没有贡献的虚无缥缈层。我是一个去年刚毕业的大学本科生,在校期间,为了自己的伟大理想(确切的说是为了生活),加入了让人开始想入非非的Java软件开发大军中,没毕业就离开了校园,先在Java软件培训公司做...

2010-04-02 11:31:33 110

空空如也

空空如也

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

TA关注的人

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