
java
文章平均质量分 57
艾伦蓝
Just do it
展开
-
web.xml 配置详解
首先可以肯定的是,[size=large][color=red]加载顺序与它们在 web.xml 文件中的先后顺序无关[/color][/size]。即不会因为 filter 写在 listener 的前面而会先加载 filter。[size=large][color=blue]加载顺序是:context-param -> listener -> filter -> servlet...原创 2014-05-06 16:54:56 · 164 阅读 · 0 评论 -
web activeMq连接池实现JMS消息发送连接管理
[color=red][b]1.今天来说一下在使用到MQ时如果使用MQ的连接池。[/b][/color]之前我也是没有注意到MQ也是有连接池的,后来因为系统之前实现每次创建和关闭链接消耗资源、宕机频繁,所以领导要求解决我才接触到。我在网上看到的关于JMS的讲解还挺多,但是对于MQ连接池的讲解时大家都是讲如何在spring中配置连接池。首先采用spring配置后原系统加密配置的密码就成明文了,另...原创 2014-05-08 15:11:19 · 245 阅读 · 0 评论 -
java 深入分析ConcurrentHashMap
[size=large][color=red][b]线程不安全的HashMap[/b][/color][/size]因为多线程环境下,[color=blue]使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap[/color],如以下代码[code="java"]final HashMap map = new Has...原创 2014-05-14 09:46:05 · 160 阅读 · 0 评论 -
java io与nio学习
[size=large][color=red]输入/输出:概念性描述[/color][/size]I/O 简介I/O ? 或者输入/输出 ?[color=red] 指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。[/color]它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。在 Java...原创 2014-05-14 15:47:51 · 122 阅读 · 0 评论 -
java 移位运算符详解
[size=large][b][color=red]java移位运算符不外乎就这三种:(带符号右移)和>>>(无符号右移)。 [/color][/b][/size][size=medium][color=blue][b]1、 左移运算符 [/b][/color][/size]左移运算符 它的通用格式如下所示: value >>> num num 指定要移位值value 移动...原创 2014-05-15 13:59:18 · 264 阅读 · 0 评论 -
Java NIO详细介绍解析
具体分析: [size=large][color=red]java NIO和阻塞I/O的区别 [/color][/size][size=small][color=blue]1.阻塞I/O通信模型[/color][/size] 假如现在你对阻塞I/O已有了一定了解,[b]我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时...原创 2014-05-17 11:02:45 · 145 阅读 · 0 评论 -
Netty学习-02(粘包 解包 FrameDecoder)
[size=medium][color=red][b]1、简介[/b][/color][/size]Java1.4提供了NIO使开发者可以使用Java编写高性能的服务端程序,但使用原生的NIO API就像Linux C中网络编程一样,还是需要做IO处理、协议处理等低层次工作。所以,就像C服务端程序大量使用libevent作为网络应用框架一样,Java社区也不断涌现出基于NIO的网络应用框架。在...原创 2014-05-20 10:55:50 · 212 阅读 · 0 评论 -
Spring @Autowired和@Resource区别
[color=red][b]Spring不但支持自己定义的@Autowired注解[/b][/color],还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。 [b][color=red]@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按...原创 2014-05-22 11:42:52 · 130 阅读 · 0 评论 -
java 反射机制学习
[size=large][color=red]如何获得class[/color][/size]有三种方法:[color=blue]类名.Class,对象.getClass(),Class.forName("完整类名(eg:java.lang.String)")[/color][color=darkred]reflect中的类有Field,Method,Constructor使用时很...原创 2014-05-23 17:38:14 · 109 阅读 · 0 评论 -
Java Comparable(lang) Comparator(util)对比
[color=red]java.lang.Comparable是一个对象本身就已经支持自比较所需要实现的接口[/color](如String Integer自己就可以完成比较大小操作)即[color=red]对象必须实现这个接口[/color]。[color=blue]Comparable比较用的方法是Arrays.sort(对象数组)。[/color][b]Comparable而是需要对象实现...原创 2014-05-29 14:24:10 · 115 阅读 · 0 评论 -
java 基于接口代理(JDK)和基于类的代理(CGLIB)
[color=red]JDK基于接口代理[/color][code="java"]import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface BookInterface { void addB...原创 2014-05-29 15:11:26 · 215 阅读 · 0 评论 -
java 基于cglib动态代理
[color=red][b]注意被代理的类不能是final类型的。[/b][/color][code="java"]import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib...原创 2014-05-31 11:08:17 · 130 阅读 · 0 评论 -
java 线程总结
[size=medium][color=darkred][b]一. 线程状态类型[/b][/color][/size]1. 新建状态(New):新创建了一个线程对象。[b]2. 就绪状态(Runnable):[/b]线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3. 运行状态(Running):就绪状态的线...原创 2014-06-05 16:31:27 · 149 阅读 · 0 评论 -
java 正则表达式-01
[] [b][color=red]匹配括号中的任何一个字符。[/color][/b]例如正则表达式“b[aui]g”匹配bug、big和bug,但是不匹配beg。可以在括号中使用连字符“-”来指定字符的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,这样正则表达式“a[]c”就可以匹配“a0c”、“a1c”、“a2c”等字符串;还可以制定多个区间,例如“[A-Za-z]”可以匹配任...原创 2014-06-14 18:13:19 · 194 阅读 · 0 评论 -
java Math类总结
java中的Math类常用值与函数:Math.PI 记录的圆周率 Math.E 记录e的常量 Math中还有一些类似的常量,都是一些工程数学常用量。Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Math.cos 余弦函数 Math.acos 反余弦函数 Math.tan 正切函数 Math.atan 反正切函数 Math.a...原创 2014-06-19 16:18:59 · 169 阅读 · 0 评论 -
java Split用法
[code="java"] //竖线有特殊意义 表示字符分割符 长度是str的长度+1 String[] str = "|12|3".split("|"); System.out.println("length: " + str.length); for(String s : str){ ...原创 2014-06-27 11:25:30 · 160 阅读 · 0 评论 -
java ThreadLocal本地线程总结
首先,[color=red]ThreadLocal 不是用来解决共享对象的多线程访问问题的[/color],一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。[color=red][b]各个线程中访问的是不同的对象。[/b][/color][size=medium][b][color=red]ThreadLoca...原创 2014-06-27 22:05:51 · 118 阅读 · 0 评论 -
java Synchronized使用
[size=medium][color=red][b]synchronized方法[/b][/color][/size]synchronized void f() { }synchronized void g(){ }每个对象都有一个锁(也称监控器monitor),它是对象生来就有的东西(因此你不必为此写任何代码)。[color=red][b]当你调用synchronized方...原创 2014-07-06 11:17:39 · 116 阅读 · 0 评论 -
java 多线程线程池 - Callable和Future
[color=red]Callable接口代表一段可以调用并返回结果的代码;Future接口表示异步任务,是还没有完成的任务给出的未来结果。所以说Callable用于产生结果,Future用于获取结果。[/color] Java 5在concurrency包中引入了java.util.concurrent.Callable 接口,它和Runnable接口很相似,但它可以返回一个对象或...原创 2015-01-03 20:53:34 · 156 阅读 · 0 评论 -
java 增量打包工具
[size=large][color=red]主要代码[/color][/size][code="java"]import java.io.*;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class Main{ private ConfigUtil uti...原创 2015-01-04 21:44:35 · 244 阅读 · 0 评论 -
java Executors各种线程池总结
我们的web项目都是部署在服务器上,浏览器端的每一个request就是一个线程,那么服务器需要并发的处理多个请求,就需要线程池技术,下面来看一下Java并发包下如何创建线程池。 [color=red]1.创建一个可重用固定线程集合的线程池,以共享的无界队列方式来运行这些线程。[/color][code="java"]ExecutorService threadPool = Exec...原创 2014-07-25 19:41:34 · 316 阅读 · 0 评论 -
java Session和Cookie的区别
[color=red][b]分布式Session的几种实现方式[/b][/color]1.基于数据库的Session共享2.基于NFS共享文件系统3.基于memcached 的session,如何保证 memcached 本身的高可用性?[color=red][b]4.基于resin/tomcat web容器本身的session复制机制[/b][/color]5.基于TT/Re...原创 2015-03-04 09:19:41 · 216 阅读 · 0 评论 -
java 锁对象Lock-同步问题更完美的处理方式(ReadWriteLock)
[color=red]Lock是java.util.concurrent.locks[/color]包下的接口,Lock 实现提供了比使用synchronized方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下:[code="java"]public class Lo...原创 2014-08-29 19:44:31 · 144 阅读 · 0 评论 -
java DES加密代码收藏
[size=large][color=red][b]Des对称加密,是一种对称加密算法。[/b][/color][/size][code="java"]import java.security.Key;import java.security.Security;import javax.crypto.BadPaddingException;import javax.cr...原创 2015-03-23 17:56:24 · 123 阅读 · 0 评论 -
java 运行时异常与非运行时异常理解
[size=x-large][b][color=red]所谓的异常就是阻止当前程序或方法继续执行的问题。 [/color][/b][/size]java异常分为两种:[color=blue]运行时异常(RuntimeException)[/color]和[color=blue]非运行时异常(CheckedException)也叫检查式异常。[/color] [color=red]1...原创 2015-03-24 10:32:53 · 189 阅读 · 0 评论 -
Apache CXF实战 构建RESTful Web Service
[color=red][b]1. 首先是实体类,注意其中的@XmlRootElement注解[/b][/color][code="java"]package com.googlecode.garbagecan.cxfstudy.jaxrs;import java.util.Date;import javax.xml.bind.annotation.XmlRootElem...原创 2015-03-26 10:00:23 · 114 阅读 · 0 评论 -
JAVA获取图片大小和尺寸【转】
[code="java"]import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import javax.imageio.Ima...原创 2014-04-16 15:38:57 · 234 阅读 · 0 评论 -
java Object对象中hashCode和equals方法学习
学习了多年的java的人对hashCode和equals方法都不是很清楚。总的来说,[size=medium][color=blue]Java中的集合(Collection)有两类,一类是List,另一类是Set。[/color][/size]前者集合内的元素是有序的,元素可以重复;[color=red]后者元素无序,但元素不可重复[/color]。那么这里就有一个比较严重的问题了:如何判断两...原创 2014-04-16 16:13:30 · 182 阅读 · 0 评论 -
Java call by value 和call by reference 的理解
Java中参数的传递有两种,一种是按值传递(传递的是具体的值,如基础数据类型),另一种是按引用传递(传递的是对象的引用,即对象的存储地址)。[code="java"]main(){ //按值传递 int val = 20 ; print(val) ; //打印的是20 setVal(val); print(val) ; //打印的还是20 ...原创 2014-04-16 16:48:29 · 356 阅读 · 0 评论 -
java JVM内存分析
[color=red]stack(栈):[/color][b]存放基本类型的数据和对象的引用,即存放变量。[/b]如果存放的是基本类型的数据(非静态变量),则直接将变量名和值存入stack中的内存中;如果是引用类型,则将变量名存入栈,然后指向它new出的对象(存放在堆中)。[color=red]heap(堆):[/color][b]存放new产生的数据。[/b][color...原创 2014-04-17 09:46:08 · 146 阅读 · 0 评论 -
java 泛型实现原理与类型擦除
[color=blue]Java中的泛型都是在编译器这个层次来实现的。[/color][size=large][b][color=red]在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。这个过程就称为类型擦除。[/color][/b][/size]如在代码中定义的[b]List和List等类型[/b],[color=re...原创 2014-04-17 10:39:02 · 201 阅读 · 0 评论 -
java Thread线程实例
synchronized使用起来非常简单,有三种使用模式:1. 作为修饰符加在方法声明上,synchronized修饰非静态方法时表示[color=red]锁住了调用该方法的堆对象[/color],修饰静态方法时表示[color=red]锁住了这个类在方法区中的类对象[/color](记住JAVA中everything is object)。2.可以用synchronized直接构...原创 2014-04-22 11:07:02 · 213 阅读 · 0 评论 -
java并发教程
地址:http://www.iteye.com/magazines/131摘录术语: 进程具有一个独立的执行环境。通常情况下,进程拥有一个完整的、私有的基本运行资源集合。特别地,每个进程都有自己的内存空间。[color=red]进程是系统进行资源分配和调度的一个独立单位。[/color] 线程有时也被称为轻量级的进程。进程和线程都提供了一个执行环境,但创建一个新的线程比创建...原创 2014-04-23 10:13:05 · 143 阅读 · 0 评论 -
java ThreadPoolExecutor线程池学习
[size=x-large][color=red][b]线程池作用就是限制系统中执行线程的数量。 [/b][/color][/size]合理利用线程池能够带来[size=medium][b][color=blue]三个好处[/color][/b][/size]: [color=red]第一:降低资源消耗。[/color]通过重复利用已创建的线程降低线程创建和销毁造成的消耗。[co...原创 2014-04-24 09:52:03 · 126 阅读 · 0 评论 -
java 常用的排序算法 (冒泡排序)(选择排序)
[size=medium][color=red][b]1.冒泡排序[/b][/color][/size][code="java"]/** * 冒泡法排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,...原创 2016-04-28 10:24:32 · 113 阅读 · 0 评论 -
java 类的加载、链接和初始化(静态属性的加载顺序)
[size=large][color=red][b]Java类的加载[/b][/color][/size]Java类的加载是由[size=medium][color=blue][b]类加载器[/b][/color][/size]来完成的。一般来说,类加载器分成两类:[color=red][b]启动类加载器(bootstrap)[/b][/color]和[color=blue][b]用户自定...原创 2016-04-29 15:12:03 · 152 阅读 · 0 评论 -
java Servlet 实现解析Excel
[size=large][b]后台[/b][/size][code="java"] @SuppressWarnings("all") public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { r...原创 2014-09-20 09:41:51 · 313 阅读 · 0 评论 -
JDBC连接池学习
如果不采用连接池技术,将导致不断创建和销毁数据库Connection,造成性能上的损耗。而数据库连接池技术将在池中创建一定数量的Connection,当需要Connection时就从池中取出一个,用完之后归还给连接池,而不是将其销毁。自定义数据库连接池的具体步骤分析:a. 定义MyDataSource类,实现DataSource接口,并提供接口中定义的方法。其中,核心方法为Connecti...原创 2014-04-24 14:37:21 · 104 阅读 · 0 评论 -
java 接口回调机制
[size=medium][color=red][b]一、回调的含义和用途[/b][/color][/size][b]1、什么是回调?[/b]一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。异步调用是一种类似消息或事件的机制解...原创 2016-05-18 15:36:04 · 128 阅读 · 0 评论 -
java 使用Jsoup解析URL网页信息
[code="java"]import java.io.IOException;import org.jsoup.Connection;import org.jsoup.Connection.Response;import org.jsoup.Jsoup;public class JsoupTest { public static void getImgName...原创 2016-05-24 09:22:26 · 148 阅读 · 0 评论