自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

走着走着 花就开了

好记性不如烂笔头

  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java8 Stream API介绍

Stream API是Java8中处理集合的关键组件,提供了各种丰富的函数式操作。Stream的创建任何集合都可以转换为Stream: //数组 String[] strArr = new String[]{"aa","bb","cc"}; Stream<String> streamArr = Stream.of(strArr); Stream<String> st

2016-09-01 00:34:22 14803

原创 Redis数据结构(二)字典

Redis字典其实就是Hash表,其实现和JAVA语言中的hashmap结构大同小异,按Key-Value方式存储键值对,但是又存在一定的差异。 java中的hashmap结构即包含hash表,又实现了rehash自我扩充; 而redis字典则通过dictht结构实现hash表,通过字典(dict)实现rehash(字典中包含一个dictht数组dictht ht[2])。Redis字典的实现

2015-05-16 13:36:36 796

原创 java tcp socket实现

tcpServer:public class MyTcpServer implements Runnable { private ServerSocket serverSocket; private ExecutorService pool = Executors.newCachedThreadPool(); public MyTcpServer(int port) throw

2015-05-12 00:36:11 871

原创 Redis消息队列

订阅操作命令为:subscribe [channel] [channel] ..,如【代码1】所示,即成功订阅频道[redis.blog]。发布操作命令为publish [channel] [message],如【代码2】所示,【图1】为订阅的客户端展示效果。 【代码1】:subscribe "redis. blog"【代码2】publish "redis.blog" "hello redis"【

2015-05-08 19:10:40 893

原创 设计模式(九)之责任链模式

今天来讲一个悲伤的故事,关于小明找小红的故事。加班狗小明某日不用加班,开开心心把家还,结果妻子小红不在家,发生了下面的一幕:上代码。首先定义好小红public interface Lover {}小红:public class WifeHong implements Lover { public WifeHong(Affairs affairs) { System.out.

2015-05-08 10:40:04 747

原创 Redis数据结构(一)简单动态字符串

Redis的字符串采用的是自定义的struct,名字叫做简单动态字符串(simple dynamic string,SDS)。结构如下:struct sdshdr{int len;int free;char buf[];};采用如此结构的好处是:【1】获取length的时候复杂度为O(1),不需要O(n);【2】动态分配空间,避免缓冲区溢出,避免每次修改或者append都重新分配;【

2015-05-07 17:37:35 959

原创 一个简单的生产者消费者

使用ReentrantLock以及Condition实现的生产者消费者,也是java 1.5之后推荐写法,不再使用object类的notify()以及wait()方法。直接上代码:public class Stroge { private final int MAX_SIZE = 100; private LinkedList<Object> list = new LinkedList<

2015-05-07 14:41:55 483

原创 将博客搬至CSDN

将博客搬至CSDN,谢谢!

2015-05-07 10:23:32 348

原创 Hadoop学习笔记(四):HBase

HBase是在一个HDFS上开发的面向列的分布式数据库。HBase不是关系型数据库,不支持SQL。HTable一些基本概念Row key行主键, HBase不支持条件查询和Order by等查询,读取记录只能按Row key(及其range)或全表扫描,因此Row key需要根据业务来设计以利用其存储排序特性(Table按Row key字典序排序如1,10,100,11,2)提

2015-05-07 10:23:29 598

原创 Hadoop学习笔记(三):Hive简介

定义      Hive是一个构建在Hadoop上的数据仓库框架。可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。(来自百度百科~~)metastore      m

2015-05-07 10:23:26 1000

原创 转帖-hadoop的JobId TaskId生成规则

在hadoop的任务job中,jobid是标志一个任务的唯一标志,可以用于定位到该job,查询该job相关信息,kill掉该job 。    jobId是如何生成的呢  ?    在一般的服务集群上我们通过JobTracker来管理job,该id既是通过JobTracke的getNewJobId()方法得到,具体代码如下: public synchronized JobID g

2015-05-07 10:23:24 1725

原创 Hadoop学习笔记(二):MapReduce的特性-计数器、排序

计数器      计数器是一种收集作业统计信息的有效手段,用于质量控制或应用级统计。说白了就是统计整个mr作业所有数据行中符合某个if条件的数量,(除某些内置计数器之外)。仅当一个作业执行成功之后,计数器的值才是完整可靠的。如果一个任务在作业执行期间失败,则相关计数器值会减小,计数器是全局的。      计数器分为以下几种:          1)内置计数器,内置的作业计数器实际上由j

2015-05-07 10:23:21 613

原创 Hadoop学习笔记(一):MapReduce的输入格式

Hadoop学习有一段时间了,但是缺乏练手的项目,老是学了又忘。想想该整理一个学习笔记啥的,这年头打字比写字方便。果断开博客,咩哈哈~~    开场白结束(木有文艺细胞)    默认的MapReduce作业import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;

2015-05-07 10:23:18 822

转载 HashCode相关

转帖,还是转帖哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。也有相同的情况,看程序员如何写哈希码的算法。  下面给出几个常用的哈希码的算法。  1:Object类的hashCode.返回对象的内存地址经过处理后的结构,由于每个对象的内存地址都不一样,所以哈希码也不一样。  2:String类的h

2015-05-07 10:23:16 433

转载 Java中的==和equals区别

中软国际电子政务部Jeff Chi总结,转载请说明出处。概述:       A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。       B.对于String a = “a”; Integer b = 1;这种类型的特有对象创建方式,==的时候值是相同的。       C.基本类型没有equals方法,equals只

2015-05-07 10:23:13 490

原创 设计模式(八)之单例模式

线程安全写法:public class Singleton { private Singleton() { } static class SigletonHandler { static Singleton instance = new Singleton(); } public static Singleton getInstance() {

2015-05-06 19:04:24 392

原创 设计模式(七)之观察者模式

被观察者接口:public interface IMonitorSubject { public void addListener(IMonitorListener listener); public void notifyListener(JobCtrl implJobCtrl);}观察者接口:public interface IMonitorListener { publi

2015-05-06 18:56:52 376

原创 设计模式(六)之抽象工厂模式

产品接口:public interface Car {}产品一:public class BMWSUV implements Car { public BMWSUV() { System.out.println("create BMW SUV."); }}产品二:public class BMWSportsCar implements Car { publ

2015-05-06 18:48:04 430

原创 设计模式(五)之工厂方法模式

产品类型接口:public interface Car {}产品工厂接口:public interface ICarFactory { public Car createCar();}产品一:public class BMW implements Car { public BMW(){ System.out.println("create BMW."); }

2015-05-06 18:41:59 366

原创 设计模式(四)之命令模式

命令接口:public interface Command { public void executor();}执行命令的真正实体:public class Diablo { private int currentLevel = 0; public void skillOne() { System.out.println("百裂拳!"); } pu

2015-05-06 18:35:47 385

原创 设计模式(三)之访问者模式

被访问者接口:public interface ITarget { public void doSomeThing(); public void accept(IVisitor visitor);}访问者接口:public interface IVisitor { public void visit(ITarget target);}被访问者:public class Tar

2015-05-06 18:13:46 372

原创 设计模式(二)之装饰器模式

定义一个代表被装饰事物的接口:public interface Coffee { public String getCoffer(); public double getPrice();}最初的具体事物:public class Starbucks implements Coffee { @Override public String getCoffer() {

2015-05-06 18:06:01 504

原创 设计模式(一)之适配器模式

**设计模式(一)之适配器模式**被适配的类:public class Adaptee { public void specificMethod(){ System.out.println("三脚插头"); }}适配接口public interface AppleInterface { public void phoneInterface();}适配器

2015-05-06 17:59:23 386

Java编程思想第四版完整中文高清版(免费)

thing in java 第四版 著名的java经典入门书籍,需要的人都懂的!

2013-09-26

空空如也

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

TA关注的人

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