自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Storm---DirectGroup(直接分组)

以单词分割计数为例实现Storm的DirectGroup分组:1、Spout实现Spout是Storm数据源头,使用DirectGroup方式将Spout数据发送指定的Bolt,需注意:1)、Spout消费的Bolt的Task(Task应为Storm的Executor的编号),在如下代码中Spout.open()初始化中拿到消费Task2)、需使用SpoutOutputC...

2016-10-29 20:02:00 179

转载 Lucene Spatial构建地理空间索引

一、Maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche...

2016-08-16 16:11:00 343

转载 Log4j2日志配置

一、Log4j2 Maven配置Log4j2的性能高于log4j与logback,在项目中建议使用Log4j2,其依赖如下(目前最新版本为2.6.2): <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api...

2016-07-30 22:02:00 161

转载 Guava缓存使用

public class GuavaCache { /** * LoadingCache当缓冲中不存在时,可自动加载 * */ private static LoadingCache<Integer,Student> studentCache = CacheBuilder.newBuilder() ...

2016-07-17 13:55:00 137

转载 Maven 多套环境配置

在Java开发中会配置不同环境,可通过Maven的profile指定不同的环境配置,pom.xml配置如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://...

2016-04-25 15:47:00 137

转载 Netty利用ChannelGroup广播消息

在Netty中提供了ChannelGroup接口,该接口继承Set接口,因此可以通过ChannelGroup可管理服务器端所有的连接的Channel,然后对所有的连接Channel广播消息。Server端:public class BroadCastServer { public static void run(int port) { Even...

2015-10-02 18:05:00 1689

转载 Netty Client和Server端实现

本文基于Nett4.0.26.Final版本浅析Client与Server端通讯,先看服务器端:public class Server { public static void run(int port) { /**Netty创建ServerSocketChannel,默认SelectionKey.OP_ACCEPT*/ Even...

2015-10-02 10:11:00 168

转载 Java Nio Socket通讯

Server端:#############服务器端连接请求处理###############public class MultiplexerServer implements Runnable { /**多路复用器,SocketChannel注册到Selector.Selector轮询监听Channel网络事件*/ private Selector selecto...

2015-09-26 18:26:00 77

转载 Mybatis使用Redis二级缓存

在Mybatis中允许开发者自定义自己的缓存,本文将使用Redis作为Mybatis的二级缓存。在Mybatis中定义二级缓存,需要如下配置:1、MyBatis支持二级缓存的总开关:全局配置变量参数“cacheEnabled=true”2、select语句所在的Mapper需配置了<cache> 或<cached-ref>节点3、select语句的参...

2015-09-20 12:32:00 85

转载 Quartz JobStore管理Job

  Quartz提供了RAMJobStore和JDBC JobStore两种方式用来Job,RAMJobStore将Job任务存入内存中,速度快;JobStore采用数据库的方式管理中,本文介绍JobStore方式管理Job。  在使用JDBC JobStore管理Job时,需要使用以下SQL脚本在数据库中建立相应的数据库表(本文使用的是MySQL):DROP TABLE I...

2015-09-12 23:16:00 202

转载 Quartz任务监听器

在Quartz框架提供了JobListener接口,可在任务执行前、任务被拒绝及任务执行完成后实现对任务的拦截,该接口的声明如下:public interface JobListener { /**返回监听器名*/ String getName(); /**任务执行前对任务拦截*/ void jobToBeExecuted(Jo...

2015-09-12 18:53:00 126

转载 Quartz定时框架入门

Quartz框架是Java开源的定时任务调度器,Quartz框架中有如下核心概念:1. Job  任务接口,接口中只声明方法void execute(JobExecutionContext context),接口的声明如下:public interface Job { void execute(JobExecutionContext context) th...

2015-09-10 18:28:00 104

转载 Mybatis拦截器实现SQL性能监控

  Mybatis拦截器只能拦截四类对象,分别为:Executor、ParameterHandler、StatementHandler、ResultSetHandler,而SQL数据库的操作都是从Executor开始,因此要记录Mybatis数据库操作的耗时,需要拦截Executor类,代码实现如下:/** * 数据库操作性能拦截器,记录耗时 * @Intercepts定...

2015-08-23 17:01:00 135

转载 多线程实现数据库的并发操作

  在Java中,程序需要操作数据库,操作数据首要事就是要获得数据库的Connection对象,利用多线程对数据导入数据库中将会加快操作进度,但是多个线程共享Connection对象,是不安全的,因为可以利用Java中的ThreadLocal为每个线程保存一个Connection对象,代码如下:package com.quar.innovation.db;import j...

2015-08-04 13:36:00 881

转载 Java Executor框架

java.util.concurrent 包中包含灵活的线程池实现,但是更重要的是,它包含用于管理实现 Runnable 的任务的执行的整个框架,该框架称为 Executor 框架。该框架基于生产者-消费者模式,提交任务的操作相当于生产者,执行任务的线程则是相当于消费者。其类图结构:ThreadPoolExecutor是可以扩展的,它提供了几个可以在子类中可扩展的方法:be...

2015-07-26 19:03:00 99

转载 Lucene分词器

Lucene分析器的基类为Analyzer,Analyzer包含两个核心组件:Tokenizer和 TokenFilter。自定义分析器必须实现Analyzer类的抽象方法createComponents(String)来定义TokenStreamComponents。在调用方法tokenStream(String, Reader)的时候,TokenStreamComponents会被重...

2015-05-10 21:21:00 105

转载 Java的反射机制

Class反射对象描述类语义结构,可以从Class对象中获取构造函数、成员变量、方法类等类元素的反射对象,并以编程的方式通过反射对象对目标对象进行操作。反射对象类定义在java.lang.reflect包中,主要包括三个主要的反射类:Constructor、Method、Field。Constructor类构造函数反射类,通过Class.getDeclaredConstructo...

2014-12-09 17:06:00 78

转载 大数据文件处理

在处理大数据文件时,利用"生产者-消费者"线程模型进行处理,代码实现如下:/** * 文件处理类 * */public class FileProcessor { /**读取文件的路径*/ private String path = ""; /**指定默认工作队列的大小*/ public static final int MAXWOR...

2014-12-05 23:40:00 128

转载 调整数组顺序使奇数位于偶数前面

题目  输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)思路  采用两个指针low、high,分别指向数组的头部跟尾部。low指针向后滑动,high指针向前滑动,low指针用来找偶数,high指针用来找基数,然后将两者交换,这类似于快速排序代码实现public...

2014-11-02 15:47:00 53

转载 数组中只出现一次的数字

题目  一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)思路  根据【异或】原理,任何一个数与自身异或的结果都为0以及任何数与0异或的结果都是其本身,所以本题可以将数组的所有的元素异或,得到结果即是只出现一次的两个元素异或结果。然后在异或结果中找出第一比特位为“1”的位置...

2014-11-02 15:16:00 79

转载 Java的位运算

左移位操作左移位运算的符号为【<<】,左移位运算符左面的操作元称作被移位数,右面的操作数称作移位量。左移位运算是双目运算符,操作元必须是整型类型的数据,其移动过程是:【a << n】运算的过程是通过将a的所有位都左移n位,每左移一个位,左边的最高位上的0或1被移出丢弃,并用0填充右边的低位注意:如果a是byte、short或int型数据...

2014-10-29 23:09:00 86

转载 Python线程操作

一、全局锁1、在Python中,Python代码的执行由Python虚拟机来控制,而在Python虚拟机中,同一时刻只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但在任意时刻,只有一个程序在CPU中运行。同样的,在Python解释器中可以“运行”多个线程,但在任意时刻,只有一个线程在Python解释器中运行。2、对Python虚拟机的访问由全局...

2014-10-08 11:12:00 130

转载 Java之Jackson框架

在Jackson框架中,提供了三种方式用来处理JSON数据:流式API在该方式下,使用JsonParser读取JSON数据,使用JsonGenerator写JSON数据。这种方式性能最佳(最低开销、最快速度读/写,其他两种方式基于该方式实现)public static void write2JsonByStreamApi() throws Exception { ...

2014-09-02 19:59:00 126

转载 Java线程

Java线程启动方式在Java中有两种方式可以启动线程,一种方式是通过继承Thread类,另一种方式通过继承Runnable接口。public class MyThread extends Thread { @Override public void run() { // TODO Auto-generated method stub...

2014-09-02 15:30:00 48

空空如也

空空如也

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

TA关注的人

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