- 浏览: 672206 次
- 性别:
- 来自: 上海
最新评论
-
DawnBells:
感谢感谢
深入Java集合学习系列:HashMap的实现原理 -
阳光正好1:
java项目教学资料,项目配源码教学视频,免费资料可全套领取: ...
NIO学习系列:核心概念及基本读写 -
hankunlun_j2ee:
hualang 写道 对于任意给定的对象,只要它的 hashC ...
深入Java集合学习系列:HashMap的实现原理 -
hankunlun_j2ee:
melburg 写道lantian_123 写道引用HashM ...
深入Java集合学习系列:HashMap的实现原理 -
hankunlun_j2ee:
lantian_123 写道引用根据hash值得到这个元素在数 ...
深入Java集合学习系列:HashMap的实现原理
文章列表
在实际项目中,我们经常会遇到处理各种各样的图片问题。
比如:图片的旋转、缩放、图片格式转换、获取图片类型、验证图片大小、写入图片
等。
这里我们使用java.awt.Graphics2D来实现常用图像处理的功能,形成我们的图像处理工具类。
package com.zhangsx.util.image;
import java.util.Iterator;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io ...
package com.zhangsx.util.web;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Web相关的工具方法。
* 提供获取用户的实际IP地址、获取请求中指定名称的Cookie、失效掉指定名称的Cookie。
*
* @version 1.00 2010-1-15
* @since 1.5
* @author Zhang ...
众所周知,JDK提供了java.util.Arrays工具类,能通过sort方法对基本类型的数据或者Java对象进行排序。
本文通过学习及使用三种简单排序算法(冒泡排序、选择排序、插入排序),实现对存储Java对象的数组进行排序。
以便使大家在学习简单排序算法的同时,又能对Arrays的排序实现有个更加感性的认知。
package com.zhangsx.sort;
import java.util.Comparator;
/**
* 简单排序算法的实现。
* 包括冒泡排序、选择排序和插入排序;可对对象数组按照指定的排序规则进行排序。
*
* 数组中的对象必须 ...
容器
是Spring框架的核心,是组件存活的地方。Spring容器使用DI管理所有组成应用系统的组件,协作组件之间建立联。而且,
这些对象简洁易懂,降低耦合性,支持重用,容易被测试。
Spring提供了多种容器实现,可分为两类:Bean工厂
和应用上下文
。
1.
BeanFactory
:由org.springframework.beans.factory.BeanFactory接口定义,是最简单的容器,提供了基础的依赖注入支持。
BeanFactory采用了工厂设计模式,负责创建和分发各种类型的Bean,创建协作对象间的关联关系,管理Be ...
目标:
简化企业级应用开发。
定义:
Spring是一个轻量级的DI和AOP容器框架。
定义描述:
1. 轻量级
:从大小和处理应用开支上来说,Spring都算是轻量级的;而且Spring是非侵入式的,基于Spring开发的应用中 的对象一般不依赖于Spring的类。
2. DI(依赖注入)
:Spring提供一种松耦合的技术,称为依赖注入(DI)。使用DI,对象不是从容器中主动去查找它的依赖类,而是容器在实例化对象的时候主动将它的依赖类注入给它。
3. AOP(面向切面)
:Spring对面向切面编程提供了强大支持,同各国将业务逻辑从应用服务 ...
在实际项目开发中,我们常常需要实时监测一个方法的执行情况,如:方法执行开始、注入方法的参数列表、方法执行时间、方法结束等信息。将这些信息以日志形式进行记录,可以方便开发人员分析方法的执行情况,比如,可以自定义一个时间标准,将执行时间超过此标准时间的方法标记为慢速,以便能及时监测到执行时间过慢的方法,给检查和调试带来方便。
下面为一个记录方法执行情况的日志记录器,使用Spring AOP的方式实现,并可定义方法执行过慢的时间标准,以便监测方法的执行情况。
package com.zhangsx.util.log;
import org.apache.commons.log ...
在Web应用开发中,我们常常需要对http请求做相应的编码处理,这时,可通过过滤器的方式来实现:
package com.zhangsx.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax ...
package com.zhangsx.util.id;
import java.util.UUID;
/**
* UUID生成器,以UUID的策略生成一个长度为32的随即字符串。
*
* @author ZhangShixi
*/
public class IdGenerate {
/**
* 以UUID的策略生成一个长度为32的字符串,在同一时空中具有唯一性。
* @return UUID128位长度字符串
*/
public static String getUUIDString() {
...
数组是一组具有某种共同特性的原元素集合,它是应用非常广泛的数据存储结构,具有如下特点:
1. 数组在定义时,不能分配存储空间,在定义完后,才给数组分配存储空间。
2. 数组根据下标存取元素。
3. 数组使用时,会进行边界检查。
4. 数组既可以保存基本类型(基本类型数组),也可以保存对象引用(对象数组)。
下面为针对一维数组进行的插入、删除、查找的基本实现,为了方便说明,只在数组中存放了基本类型数据,如果想改为对象数组,原理相同。其中:
1. 代码清单一:为固定长度的无序一维数组的Java实现。
2. 代码清单二:为固定长度的有序一维 ...
数据类型是计算机语言里针对内存的一种抽象表达方式,也是语言的抽象原子概念,即语言中最基本的定义单元。在Java语言中,数据类型分为基本类型和对象类型。
1. 基本类型:
Java中的基本类型有九种,并且都有其对应的包装类。其中void类型及其包装类java.lang.Void,我们无法直接操作。其余八种基本类型,从类型上又可分为:布尔型、字符型和数值型;其中数值型又可分为整数和实数。如下表:
默默无闻间,加入JavaEye已经1年多了......
好吧,我承认我是闲的DT,才忽然发出这么让人匪夷所思的感慨。一直以来,也许我和大多数的潜水员一样,混在JE的只懂汲取,没有贡献的虚无缥缈层。我是一个去年刚毕业的大学本科生,在校期间,为了自己的伟大理想(确切的说是为了生活),加入了让人开始想入非非的Java软件开发大军中,没毕业就离开了校园,先在Java软件培训公司做过老师,后来进入一家港企做Java软件开发,也就是目前的工作。我还算是一个幸运的孩子,一切也都比较顺利。毕业后和我恋爱了七年的女友结婚了,目前和老婆一起在上海打拼,是一个无房无车无存款的三无阶层,幸运的 ...