自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 公告

本博客已经不在更新,现已转战“博客园”,欢迎大家前来拍砖:http://www.cnblogs.com/--gbz--/

2015-08-14 13:54:28 249

原创 85977328---nio(二)

Java NIO(七)FileChannelJava NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。 打开FileChannel 在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、OutputStre...

2014-06-23 14:42:19 193

原创 85977328---nio(一)

Java NIO(一)概述Java nio的3个特性 Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。 Channels and Buffers(通道和缓冲区) 标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据...

2014-06-19 23:04:05 212

原创 85977328--并发--同步

java并发(八)Java同步块synchronized笔者在刚开始使用synchronized的时候,对并发的疑惑很多.因此在这里总结一下,与大家分享.关键是"等",而不是"舍弃"线程。而且“同步”这个术语除了synchronized意外,还包括volatile、显示锁、原子变量。 Java中的每一个对象都可以作为锁。 对于同步实例方法,锁是当前实例对象。 对于同步静态方法,锁是当前对象...

2014-06-19 22:27:00 143

原创 redis

1:安装        官网:http://redis.io/download/        jar:https://github.com/xetorthio/jedis/   (下载源码,使用mvn编译)         学习:http://redis.readthedocs.org/en/latest/index.htmlmaven包<dependency&gt...

2014-06-19 18:52:40 113

原创 Spring MVC测试框架详解

Spring MVC测试框架详解——服务端测试随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的。从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了)。 Spring MVC测试框架提供了对服务器端和客户端(基于RestTe...

2014-06-19 11:17:24 135

原创 Spring mvc + junit + mock

一 :直接测试方法1. 首先开发一个基类,用于载入配置文件。以下所有的测试实现类都要继承这个类import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.Spri...

2014-06-19 09:49:36 231

原创 oracle 异常

1:ORA-08103    背景:有两个程序在操作同一张表,一个会先truncate掉表再往里面增加数据,别一个是读取数据    解决:把两个任务的执行时间错开2:ora-03135    背景:plsql连接oracle 时间久了会断连    解决:vim $ORACLE_HOME/network/admin/samples/sqlnet.ora  ,把#sqlnet....

2014-06-18 09:23:03 105

原创 85977328--并发--入门

java并发(四)如何创建并运行java线程创建Thread的子类 创建Thread子类的一个实例并重写run方法,run方法会在调用start()方法之后被执行。例子如下: Java代码  public class MyThread extends Thread {     public void run(){       System.out.printl...

2014-06-17 23:29:59 96

原创 85977328--并发--开篇

java并发(一)介绍单CPU:时间切片 多核多线程CPU:真正的并行     如果一个线程在读一个内存时,另一个线程正向该内存进行写操作,那进行读操作的那个线程将获得什么结果呢?是写操作之前旧的值?还是写操作成功之后的新值?或是一半新一半旧的值?或者,如果是两个线程同时写同一个内存,在操作完成后将会是什么结果呢?是第一个线程写入的值?还是第二个线程写入的值?还是两个线程写入的一个混合值?因...

2014-06-17 23:27:07 144

原创 java 文件操作

1:得到系统路径分隔符String systemSeparator = File.separator; 2:文件复制,删除,移动1、删除 new File("file path").delete(); 2、移动 new File("source file path").renameTo(new File("destination file path")); 3:复制有流 3:写...

2014-06-17 16:19:22 117

原创 java小强--highcharts 高级应用—动态曲线的实现

第一次写那就来电简介吧,虽然都是废话:      Highcharts是一个制作图表的纯Javascript类库,   主要特性如下:  兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等;  对个人用户完全免费;  纯JS,无BS;  支持大部分的图表类型:直线图,曲线图、区域图、区域曲线图、柱状图、饼装图、散布图;  跨语言:不管是PHP、.net还是...

2014-06-16 22:59:05 197

原创 java小强--使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP

虽然现在JS做报表和图形展示已经非常普遍和漂亮了,但是不能忽略有jfreechart 这样一种东西!这些翻阅资料,在看以前写的示例时发现了关于jfreechart 的简单示例,不管怎样发上来分享一下!  这个示例使用JSP和Servlet做后台和前台展示,下面有源代码可以直接运行!生产线型趋势图: Java代码  package...

2014-06-16 22:57:02 322 1

原创 Spring mvc + pushlet实现向特写用户实时推送信息

环境:pushlet-2.0.4 所遇问题: 1.如何向特定用户推送 参考网上资料:http://tonl.iteye.com/blog/1398995 首先:修改ajax-pushlet-client.js,在PL对象后加入userId: 复制代码1234567891011121314var PL = {...

2014-06-13 10:37:48 152

原创 zy19982004--数据结构与算法学习七:归并排序

一. 排序方法归并排序(Merge Sort)是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。给定数组data[0...n],若data[0...m]和data[m+1...n]两个子数组均已经有序。可以先将两个子数组合并到一个临时数组tmpAr[0...n]里面。然后将tmpAr复制到原data数组里面。合并过程合并过程中,设置i,...

2014-06-12 22:46:33 138

原创 zy19982004--数据结构与算法学习六:堆排序

一. 定义 任何关键字data[0...n]都可以组成一个完全二叉树。堆就是一种特殊的二叉树:树中任一非叶结点的关键字均大于等于(或小于等于)其左右孩子(若存在)结点的关键字。大于等于称为大根堆;小于等于称为小根堆。  二. 排序方法(以大根堆为例)先将初始文件data[1..n]建成一个大根堆,此堆为初始的无序区。将关键字最大的记录data[0](即堆顶...

2014-06-12 22:45:40 121

原创 MongoDB MapReduce 性能提升20倍的优化宝典

自从MongoDB被越来越多的大型关键项目采用后,数据分析也成为了越来越重要的话题。人们似乎已经厌倦了使用不同的软件来进行分析(这都利用到了Hadoop),因为这些方法往往需要大规模的数据传输,而这些成本相当昂贵。 MongoDB提供了2种方式来对数据进行分析:Map Reduce(以下简称MR)和聚合框架(Aggregation Framework)。MR非常灵活且易于使用,它可以很好地与分片...

2014-06-12 22:33:10 116

原创 java小强--pushlet 之 Comet框架Plushlet使用中的问题

Plushlet相关介绍不再扯淡 我在将Plushlet集成到我的Web项目中时出现了 [pushlet] problem retrieving XML data: 这个状态栏提示错误经过对比和调试,发现一些问题总结下来提供参考 第一:我对比了一下Plushlet提供的示例工程和在MyEclipse上创建的工程发现他们的 web.xml 头信息配置有所不同!X...

2014-06-12 00:06:42 194

原创 pushlet 之 无法传送中文解决办法

好多示例只是示例,没有说这个问题,既然发现了,我就就地解决一下! 我的方法很简单,对要传送的内容进行编码!Java后台和JS前台都有包装的编解码方法,可以直接使用看效果!后台编码(解码自己搞):Java代码  package com;  import java.net.URLEncoder;  import java.text.SimpleDate...

2014-06-11 23:26:28 104

原创 java小强--pushlet 之 Pushlet使用手把手实例

Pushlet(一种comet 架构的实现)是基于Servlet 机制,数据从server端的Java 对象直接推送(push)到客户端浏览器的(动态)HTML 页面,而无需任何Java applet 或者插件的帮助。在MyEclipse中创建工程。附件包含了从官方下载的Pushlet包已经本次的源码包,直接导入到开发工具即可。在创建的工程中增加pushlet.jar,log4...

2014-06-11 22:59:29 143

原创 zy19982004--容器学习八:LinkedList源码分析

一.概述LinkedList继承Deque,所以LinkedList的插入删除操作遵循先进性出FIFO。LinkedList继承Deque,所以Linkedist实现了Deque的操作,比喻offer peek pollfirst/last等操作。其实这些操作也就是建立在getFirst getLast addFirst addLast removeFirst removeLast这几...

2014-06-09 22:11:49 71

原创 zy19982004--数据结构与算法学习五:快速排序

一. 排序方法快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。原排序数组data[0...n]。分解:在data[low..high]中任...

2014-06-08 16:36:42 87

原创 zy19982004--数据结构与算法学习四:希尔排序

一.排序方法先取一个小于n的整数increment作为第一个增量,把文件的全部记录分成increment个组。所有距离为increment的倍数的记录放在同一个组中。先在各组内进行直接插人排序。取第二个增量increment(小于1中的increment)重复上述的分组和排序,直至所取的增量increment=1,即所有记录放在同一组中进行直接插入排序为止。 希尔排序实质上是一种分...

2014-06-08 01:04:52 90

原创 zy19982004--数据结构与算法学习三:直接插入排序

一.排序方法     基本思想:被排列的数组data[0...n]。初始时,data[0]自成1个有序区,无序区为data[1..n];从i=1起直至i=n为止,依次将data[i]插入当前的有序区data[0..i-1]中,生成含n个记录的有序区。将待插入元素data[i]从右向左依次与有序区中记录data[j](j=i-1,i-2,…,0)进行比较。若data[j]大于data...

2014-06-07 21:54:41 76

原创 Java中的乱码问题

Java中乱码问题很常见,原因也多种多样,这里做一个总结,不求全面,力求准确,如果错误欢迎指正。 1.文件页面编码导致的乱码。每一个文件(java,js,jsp,html等)都有其本身的编码格式,文件中的代码在一种编码中显示正常,在另外一种编码下就会显示出乱码。在Eclipse中,每一个工程都会有编码格式(Text file encoding), 一般默认为GBK。而一个比较好的编程...

2014-06-06 09:08:35 125

原创 zy19982004--容器学习七:ArrayList源码分析

一.成员变量Java代码  // 在AbstractList里面定义的  protected transient int modCount = 0;    // 内部用数组实现  private transient Object[] elementData;    private int size;   二.构造函数Jav...

2014-06-05 22:01:46 82

原创 zy19982004--容器学习六:HashSet & LinkedHashSet & TreeSet源码分析

一.概述     Set是通过Map来支持的,Set接口里的所有方法,都委托给内部的Map去实现。 二.HashSet源码Java代码  public class HashSet<E>      extends AbstractSet<E>      implements Set<E>, Cloneable, jav...

2014-06-05 21:52:06 82

原创 zy19982004--容器学习五:TreeMap源码分析

一.TreeMap成员变量Java代码  //Comparator比较器接口,接口里面只有两个方法int compare(T o1, T o2);boolean equals(Object obj);  private final Comparator<? super K> comparator;    //根节点  private trans...

2014-06-05 21:49:11 107

原创 zy19982004--容器学习四:TreeMap源码分析-排序二叉树和红黑树

一.排序二叉树排序二叉树是一种特殊结构的二叉树,可以非常方便地对树中所有节点进行排序和检索。排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树:若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值。若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值。 二.排序二叉树添加节点     以根节点当前节点开...

2014-06-04 23:59:07 96

原创 zy19982004--设计模式学习六:抽象工厂模式

一.概念     抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确知道具体类。 二.实例分析      CPUJava代码  package com.zzy.abstractFactory;  /**  * CPU接口  * @author eason  *  */  public interface C...

2014-06-04 22:13:25 87

原创 zy19982004--设计模式学习五:工厂方法模式

一.概念     定义了创建对象的接口,但有子类决定要实例化的类是哪一个。工厂方法把类实例化推迟到了子类(这个是GOF上的定义,总感觉定义的不好)。 二.实例分析       CPUJava代码  package com.zzy.factoryMethod;  /**  * CPU接口  * @author eason  * ...

2014-06-04 22:10:39 99

原创 zy19982004--设计模式学习四:简单工厂模式

一.概念     简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式。 二.实例分析    现需要一个cpu,各大厂家都能生成,我们到底选哪家呢。      CPUJava代码  package com.zzy.simpleFactory;  /**  * CPU接口  * @autho...

2014-06-04 22:07:24 97

原创 zy19982004--容器学习三:LinkedHashMap源码分析

一.LinkedHashMap的存储结构LinkedHashMap是继承HashMap,也就继承了HashMap的结构,也就是图中的结构2,在下文中我用"Entry数组+next链表"来描述。而LinkedHashMap有其自己的变量header,也就是图中的结构1,下文中我用"header链表"来描述。结构1中的Entry和结构2中的Entry本是同一个,结构1中应该就只有一个h...

2014-06-04 00:19:18 94

原创 hash 算法

比较详细的:http://blog.csdn.net/zxycode007/article/details/6999984hash算法 (hashmap 实现原理):http://zha-zi.iteye.com/blog/1124484Hash ,一般翻译做“ 散列” ,也有直接音译为“ 哈希” 的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定...

2014-06-03 21:57:56 122

原创 zy19982004--数据结构与算法学习二:直接选择排序

一.排序方法被排列的数组data[0...n],选定当前位置i=0作为最小值下标position;在data[i+1...n]区间每个元素与data[position]比较,记录新position,最后交换data[i]和data[position]。这样最小的元素就到了当前位置了。当前位置i+1,重复1... 二.动画演示       http://student.zj...

2014-06-03 09:12:57 104

原创 zy19982004--数据结构与算法学习一:冒泡排序

一.排序方法将被排列的数组data[0...n]垂直排列,每个元素data[i]看作是一个气泡,气泡的重量就是data[i]的值。从最下面一个气泡data[n]开始扫描,比较其与上一个气泡data[n-1]的重量,data[n] < data[n-1]则交换;然后比较data[n-1]与data[n-1-1]...一轮下来,最轻的气泡跑到了最上面data[0]的位置。重复2过...

2014-06-03 09:05:13 88

原创 zy19982004--设计模式学习三:装修者模式

一.概念     动态的给一个对象添加额外的职责。想要扩展功能的话,装饰者提供了一种有别于继承的另外一种选择。 二.UMLComponent(概念中提到的对象接口),也就是“被装饰者”。ConcreateComponent(未添加任何职责的,对象接口的子类)。Decorator(装饰者抽象类),扩张了对象接口的功能。ConcreteDrcorator(具体装饰类...

2014-06-02 22:03:06 88

原创 zy19982004--设计模式学习二:观察者模式

一.概念     在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新。     观察者模式也被称之为:主题-观察者模式,发布-订阅模式,前者是一,后者是多。 二.UMLSubject(主题类),最主要的方法:添加/删除观察者,改变状态,通知观察者。Observer(观察者类),当主题状态改变,通知观察者时,触发观察者的up...

2014-06-02 21:53:25 74

原创 zy19982004--设计模式学习一:策略模式

一.概念     策略模式:它定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法的变化不会影响到使用算法的客户。 二.UML Context(应用场景),持有Strategry对象的引用。Context能动态指定Strategry具体的实现。Context要使用Strategry提供的算法。Strategry(抽象策略类),...

2014-06-02 21:19:01 90

原创 zy19982004--容器学习二:Hashtable源码分析

一.前言HashMap和Hashtable大部分算法是相同的,容器学习一:HashMap源码分析 对HashMap源码进行了分析,可以先阅读它。相同的算法部分不再分析,本文主要考虑Hashtable和HashMap的不同之处。 二.Hashtable成员变量Java代码  private transient Entry[] table;    ...

2014-06-02 20:46:24 78

空空如也

空空如也

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

TA关注的人

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