自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (2)
  • 收藏
  • 关注

原创 秒杀Eclipse查看Jar包源码乱码问题

原文转自:http://www.xiaoyaochong.net/wordpress/?p=563遇到的问题在同一个工作区下,依赖的Jar包如果既有GBK编码,又有UTF-8编码,就会出现的问题。场景一:如果设置工作区为UTF-8编码来查看GBK编码的Jar包,可以显示正确的中文文字,但是查看GBK编码的Jar包,就会显示乱码。场景二:反过来,如果设置工作区为GBK编码来查看...

2013-05-06 21:54:49 240

原创 Netty对象传输

转自:http://www.xiaoyaochong.net/wordpress/?p=363我们知道,Netty使用二进制协议传输对象,那怎么通过Netty进行POJO对象传输呢?我们需要提供一种至支持对象传输的协议,这种协议依然是使用ChannelBuffer作为载体。我们要使用ChannelHandler作为编码和反编码的切入。 假设我们现在只需要读取32位整数,虽然这并不是...

2013-03-06 15:45:06 431

原创 Java ArrayBlockingQueue源码解析

转自:http://www.xiaoyaochong.net/wordpress/?p=354ArrayBlockingQueue是Java并发框架中阻塞队列的最基本的实现,分析这个类就可以知道并发框架中是如何实现阻塞的。 笔者工作了一两年之后,还不知道阻塞是如何实现的,当然有一个原因是前期学习的东西比较杂,前后端的东西的懂一点,但是了解的不够深刻,我觉得这是编程学习的禁忌,不管是...

2013-03-01 17:43:20 360

原创 Eclipse常用快捷键

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对...

2013-03-01 15:10:55 111

原创 Java7 TransferQueue入门实例

转自:http://www.xiaoyaochong.net/wordpress/?p=354TransferQueue是Java7新加入的一种线程安全的队列,实现了BockingQueue,也就时说这是一个特殊的阻塞队列。TransferQueue目前只有一个实现----LinkedTransferQueue,这是列表结构,意味着它是无边界的Queue。 一般的队列在未满的情况下...

2013-03-01 10:10:25 195

原创 Java7 使用WatchService监听文件变化

Watch service 用来观察被注册了的对象的变化和事件。例如,在文件系统监控某一个文件目录下文件资源的创建,修改,删除,这个是WatchService的一种实现方式,用来监听文件状态变化的。是WatchService和Watchable两个接口的配合使用,WatchService类似于在观察者模式中的观察者,Watchable类似域观察者模式中的被观察者。 实例如下:@Te...

2013-02-26 13:56:18 327

原创 Java7 AutoCloseable入门实例

本文转自:http://www.xiaoyaochong.net/wordpress/?p=330AutoCloseable接口,表示一种不再使用时需要关闭的资源。这个接口下只有一个方法,close()。这个方法在try-with-resource语法下会被自动调用,支持抛出Exception,当然它也鼓励抛出更详细的异常。close()建议不要抛出线程中断的InterruptedExce...

2013-02-26 10:03:05 158

原创 Servlet中的Session与Cookie详解

摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。 一、术语session 在我的经验里,session这个词被滥用的程度大概仅次于transaction...

2013-02-20 09:28:24 257

原创 Java7 ForkJoin入门实例

本文转自:http://www.xiaoyaochong.net/wordpress/?p=314Java7引入了Fork Join的概念,来更好的支持并行运算。顾名思义,Fork Join类似与流程语言的分支,合并的概念。也就是说Java7 SE原生支持了在一个主线程中开辟多个分支线程,并且根据分支线程的逻辑来等待(或者不等待)汇集,当然你也可以fork的某一个分支线程中再开辟Fork ...

2013-02-19 10:37:22 108

原创 禁止Flash播放器上传

一、对于32位系统,配置文件mms.cfg 文件存储在以下位置:C:\WINDOWS\system32\Macromed\Flash二、对于64位系统,配置文件mms.cfg 文件存储在以下位置:C:\windows\SysWOW64\Macromed\flash 默认内容如下: AutoUpdateDisable=0SilentAutoUpdateEnable=1...

2013-01-26 15:55:57 213

原创 EclipseLink 2.4新特性

RESTFul持久化使用SJON和XML媒介,通过REST可以暴露Java持久化单元。这使得应用可以更简单的暴露他们的持久化特性给包括HTML5和移动客户端的轻量服务框架( Thin Server Architecture)解决方案。租户隔离同一个应用程序将数据存储在数据表中,不同的租户可以通过每个租户的name或者schema唯一标识来管理各自租户的实体,开发者可以通过这样的特性...

2013-01-17 16:55:46 228

原创 影响MySQL性能的主要因素

业务需求对MySQL性能的影响应用系统中的每一个功能在设计初衷肯定都是出于为用户提供某种服务,或者满足用户的某种需求,但是,并不是每一个功能在最后都能很成功,甚至有些功能的推出可能在整个系统中是画蛇添足。不仅没有为用户提高任何体验度,也没有为用户改进多少功能易用性,反而在整个系统中成为一个累赘,带来资源的浪费。 这里我们就拿一个看上去很简单的功能来分析一下。需求:一个论坛帖子总...

2013-01-17 14:09:24 150

原创 MySQL架构

麻雀虽小,五脏俱全。MySQL虽然以简单著称,但其内部结构并不简单。本章从MySQL逻辑组成,物理组成,以及相关工具这几个角度来介绍MySQL的整体架构组成,希望能够让读者对MySQL有一个更全面深入的了解。逻辑模块组成总的来说,MySQL可以看成是二层架构,第一层我们通常叫做SQL层(SQL Layer),在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成,包括权限判断...

2013-01-16 10:18:59 118

原创 Memcached分布式结构和Consistent Hashing算法

本文转自:http://www.xiaoyaochong.net/wordpress/?p=210Memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个Memchached不会互相通信以共享信息。那么,怎么样进行分布式呢?完全取决于客户端的实现。下面假设Memcached服务器有node1~node3三台,应用程序要保存键名为“tokyo”、“kanagawa...

2013-01-10 09:38:28 113

原创 Java原子变量与ABA问题(转发)

原文地址:http://www.xiaoyaochong.net/wordpress/?p=201 | 逍遥冲 ABA问题是一种异常现象:如果在算法中的节点可以被循环使用,那么在使用“比较并交换”指令时就可能出现这个问题(如果在没有垃圾回收机制的环境中)。在CAS操作中将判断“V的值是否仍然为A?”,并且如果是的话就继续执行更新操作。在大多数情况下,这种判断是足够的。然而,有时候还需要...

2013-01-07 23:12:50 261

原创 U盘安装Ubuntu 12.04 Server版(转发)

原文地址: http://www.xiaoyaochong.net/wordpress/?p=137 | 逍遥冲在网上找了很多教程,都不起效,提示:“从光盘上读取数据出错”。总结出了几个关键点。首先,版本,Ubuntu 12.04 Server,一般的U盘安装都会报:“从光盘上读取数据出错”。如果是桌面版(Desktop),则可以正常安装。其次,ISO转化成U盘的安装工具,选...

2013-01-07 23:11:17 337

原创 U盘容量变小

用win32diskimager制作安装光盘之后,将U盘格式化之后,发现U盘从16G减到了654M。格式化也解决不了,在网上找了很多Step by step的教程,都是坑爹的。后来想到,是不是因为U盘的分区表变化了照常的。邮件我的电脑->管理->磁盘管理,查了一下果然如此:  在网上下载了一个U盘分区软件----U盘分区精灵。绿色版的,使用简单。下载地址如下:h...

2013-01-07 23:03:48 129

原创 Java简单迭代器例子

一直好奇Foreach的语法,想ArrayList和HashMap,为什么foreach就可以遍历呢,今天自己做了一个简单的实现。 public class SimpleForeach<T> implements Iterable<T>, Iterator<T>{ private T[] t; /** ...

2013-01-04 14:18:47 232

原创 Java NIO实例

一个可运行的简单NIO实例,首先是一个抽象的服务端类AbstractNIOServer public abstract class AbstractNIOServer implements Runnable { // 要监听的端口号 protected int port; // 生成一个信号监视器 protected Selector s;...

2012-12-28 09:48:51 91

原创 Java NIO选择器Selector

Selector消息选择器一般作为SelectableChannel对象的多路复用器。 可以通过SelectableChannel类的open方法创建选择器,这个方法将使用系统默认选择器提供者(SelectorProvider)创建新的选择器。页可通过调用自定义选择器提供者的openSelector方法来创建选择器。通过选择器的close方法关闭选择器之前,它一直保持打开状态。 通...

2012-12-27 13:07:16 120

原创 MySQL存储引擎

MySQL插件式存储引擎体系结构: 存储引擎比较:MyISAM:默认的MySQL插件式存储引擎,它在Web,数据仓库和其他应用缓环境下最常使用的储存引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。该存储引擎的特点:不支持事务,表级锁,高效索引,高效压缩。InnoDB:用于事务处理应用程序,具有众多特性,包含ACID事...

2012-12-25 12:14:28 75

原创 Java Channel解析与实例

文件IOFileChannel是处理文件IO中的核心Channel实现。FileChannel不能直接构建,只能通过FileInputStream,FileOutputStream,RandomAccessFile通过getChannel()获得FileChannel实例对象,获得的FileChannel对象的权限也由相关的File对象所限制,也就说说FileInputStream所获得的Ch...

2012-12-24 16:09:52 225

原创 MySQL资料汇总

官方参考手册:http://dev.mysql.com/doc/MySQL数据库与运维自动化分享:http://www.mysqlops.com/

2012-12-21 09:47:59 80

原创 Java Comparable接口分析与实践

此接口对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较方法。 实现此接口的对象列表(和数组)可以通过Collections.sort或者Arrays.sort进行自动排序,这个两个排序实现使用的时快速排序。实现此接口的对象可以用作有序映射(SortedMap<T,V>)中的键或者(SortedSet<T>)...

2012-12-20 14:22:15 116

原创 PHP远程调用Java服务

一种比较常见的语言搭配:PHP + Java。整体架构时这样子,HTML+JS做前端,PHP用作控制层,Java实现服务层,MYSQL用作数据持久。这也是常用的互联网架构。问题来了,PHP和Java这两门语言怎么互操作呢?方式一,Web Service。太笨重。 方式二,选用一个REST框架,将Java服务适配成REST服务,PHP通过HTTP访问的方式实现对Java服务的远程...

2012-12-18 14:16:38 292

原创 Java AIO 入门实例

原文出处:http://tigerlchen.iteye.com/blog/1747221 Java7 AIO入门实例,首先是服务端实现:服务端代码SimpleServer: public class SimpleServer { public SimpleServer(int port) throws IOException { final...

2012-12-13 16:15:02 241

原创 Java BIO NIO 机制原理资料整理

转自:http://www.xiaoyaochong.net/wordpress/?p=43BIO情况下,能支持的连接数有限,一般都采取accept获取Socket以后采用一个thread来处理,one connection one thread。无论连接是否有真正数据请求,都需要独占一个thread。Server端通常由一个thread来监听connect事件,另外多个thread来监...

2012-12-12 14:33:08 122

原创 Ubuntu常用命令

常用的命令 解压tar.gz: tar zxvf *.tgz重命名abc为123:  mv abc 123查看硬件信息并保存到文件:sudo lshw -xml > ccp-lshw.xml               sudo lshw -xml -businfo > ccp-lshw-businfo.xml 创建删除文件、文件夹:mkdir 目录名 ...

2012-12-07 23:38:36 101

原创 Amazon EC2开放端口

首先注册安装亚马逊虚拟主机:http://www.cnblogs.com/dragonwlb/archive/2012/07/21/2602126.html EC2安装了Ubuntu Instance之后,安装玩LAMP,用外网IP范围被拒绝,一直访问失败。最后发现访问端口是在Amzaonkong console中配置的。 选择security group菜单,出现如图所示的输入框...

2012-12-07 23:14:50 2852

原创 Facebook的基本架构

原文出自:http://tigerlchen.iteye.com/blog/1742851翻译出自:http://www.quora.com/Facebook-Engineering/What-is-Facebooks-architecture 1、Web 前端是由 PHP 写的。Facebook 的 HipHop会把PHP转成 C++ 并用 g++编译,这样就可以为模板和Web逻贺业...

2012-12-06 13:47:51 961

原创 JavaSE Buffer与Netty Buffer比较

Buffer数据结构: 3个重要的标记位:limit,position,capacity。limit:读写位置的上线;capacity:容器数组长度;position:当前的读写游标。 ChannelBuffer的数据结构:  3个重要的标记位:readIndex,writeIndex,capacity。readIndex:当前只读的游标位置...

2012-12-04 16:15:19 196

原创 Ubuntu建立svftpd服务器指南

1.使用命令安装svftpd服务器 $ sudo apt-get install vsftpd 创建下载安装的版本是vsftpd-2.3.4,安装完成时候系统会立即启用该服务器。 2.设置vsftpd登陆用户 $ sudo vim /etc/vsftpd.conf 在这个配置中你可以配置登陆用户,默认的登陆用户只有anonymous,而且只有读权限。反注释loc...

2012-11-26 23:33:05 165

原创 SWT/JFace的工具类

自己写的一个SWT/JFace的工具类,有了它,构建Label,Button,Composite,Group等等的基础组件,就变得很容易了。 /** * 布局均为GridLayout,GridData * * @author TigerChen * */public class UIFactory { /** * 防止Text被撑大,而...

2012-11-26 14:35:55 119

原创 Java 读取Zip文件中的某个子文件

    在test.zip文件中读取test.xml文件内容。    代码如下所示。 File processFile = new File(RESOURCES_BASE_FILE, PROCESS);File file = new File(processFile, "test.zip");ZipFile zipFile = new ZipFile(file);Input...

2012-11-26 14:26:22 1144

原创 Java容器

Set    一个不包含重复元素的 collection。更正式地说,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。数学概念集合:一定范围的,确定的,可以区别的事物,当作一个整体来看待,就叫做集合,简称集,其中各事物叫做集合的元素或简称元。 HashSet ...

2012-10-28 21:13:05 64

原创 Java Socket

比较经典的用法,使用ServerSocket构建服务端,用accpet的方法,阻塞式的等待Socket请求。通常使用多线程对Socket进行消费。 NIO进行Socket编程,可以注册Selector,并且注册到channel中,用观察者模式,做到单线程的方式消费Socket。         SSLSocket String trustStore = config.getT...

2012-08-17 09:28:26 78

原创 Java并发框架Executor

JavaSE5.0之后Executor内置在API中,极大的方便了并发编程。主要大部分:线程池,调度,Callable(延迟计算),线程安全数据结构(BlockingQueue,ConcurentMap...)。Effective Java的作者在介绍并发编程的时,建议读者使用Executor框架中的封装,二不是自己实现线程池,调度,wait(),notify(),应为在这个框架中都有成熟的封装...

2012-08-15 09:39:17 85

原创 Mybatis Cache缓存机制

剖析两个经典的缓存策略:最近最少被使用(LRU)和软引用缓存 LRU,Mybatis巧妙的使用了LinkedHashMap.removeEldestEntry,此方法是一个受保护的方法,继承并重写这个方法,在方法中eldestKey持有被回收的对象,在做相关操作的使用轮训eldestKey,发现对象存在的时候,回收缓存容器中的对象。 public class LruCache imp...

2012-08-06 17:38:39 125

原创 Activiti缓存机制解析

Activiti的持久化和缓存最终都是有DbSqlSession处理的,在此主要也是讲这个对象。类图如下。 public class DbSqlSession implements PersistenOperation, Session { protected SqlSession sqlSession; protected List<PersistentObjec...

2012-07-13 11:09:11 2958

原创 Mybatis混合对象单表存储

      先吐槽几句,Mybatis的官方文档就只有那一篇User Guide,加上源码覆盖的例子和单元测试,里面覆盖的知识点最多只有7成,剩下的3成功能如果需要用到,那就悲剧了,需选择了看源码,多花一点时间,记得得到巩固,何乐而不为呢。       我的实体对象如下所示。      public class ProcessDefinition { private String...

2012-07-12 14:19:39 185

jbpm开发指南jbpm开发指南

jbpm开发指南jbpm开发指南jbpm开发指南

2009-01-08

BetterBuildsWithMaven

BetterBuildsWithMaven

2009-01-08

空空如也

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

TA关注的人

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