- 博客(281)
- 资源 (5)
- 收藏
- 关注
原创 awk命令用法
这个命令有点牛逼啊!awk -F"\t" '{if (ARGIND == 1) list[$1]=9; else if (!($1 in fl)) print $0;}' filter.file source.file > result.fileawk命令的输入文件中,可以有多个文件,awk命令会逐个文件的处理-F 指定了每行中字段的分隔符,这里是\t制表符ARGIND 表
2016-10-25 15:10:59 878
原创 Java代码发送POST请求
首先写一个方法,用于接收POST请求public static String httpPost(String url, List list) { log.info("the request info for url = {} is: {}", url); // 创建默认的httpClient实例. CloseableHttpClient htt
2016-10-21 17:17:19 2719
原创 Redis的AOF持久化的实现
AOF 持久化功能的实现可以分为命令追加(append)、文件写入、文件同步(sync)三个步骤1. 命令追加当 AOF 持久化功能处于打开状态时, 服务器在执行完一个写命令之后, 会以协议格式将被执行的写命令追加到服务器状态的 aof_buf 缓冲区的末尾:struct redisServer { // ... // AOF 缓冲区 sds
2016-10-21 12:19:54 443
原创 redis相关技能积累
1. 批量删除指定模式的key,这里用到了linux的管道./redis-cli -h host -p 10006 -a password keys "wait_*" | xargs ./redis-cli -h host -p 10006 -a password del2. 启动redis后,有时会发现显示出来的中文是一些其他的编码,如果想看中文,可以在启动的时候加上--raw参数
2016-10-20 15:18:31 643
原创 log4j控制日志输出文件名称的两种方式
1. 第一种方式在类对象中用如下方式定义logger变量private static Logger logger = Logger.getLogger("lemmaXml");这样通过名称的方式获取logger,需要在log4j.properties文件中定义一个名称为lemmaXml的appender,配置如下:log4j.logger.lemmaXml=INFO,lemmaXml
2016-10-20 10:55:13 10339
原创 log4j控制日志输出文件名称的两种方式
1. 第一种方式private static Logger logger = Logger.getLogger("lemmaXml");这种是通过获取log4j中定义的appender的名称来设置输出位置,即需要再log4j.properties文件中定义一个名称为lemmaXml的appender,配置如下:
2016-10-20 10:46:28 282
log4j控制日志的输出文件
Logger.getLogger有两种方式来定义一般情况下,可以通过在log4j中定义一个appender,log4j.logger.com.soso.baike.service=DEBUG,ServiceLoglog4j.appender.ServiceLog=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.
2016-10-20 10:41:34 106
原创 直接访问WEB-INF目录下的JSP页面的方法
WEB-INF目录下的JSP页面不能通过地址栏直接访问,WEB-INF目录下的文件不能直接被访问主要是出于安全考虑,当然如果不用考虑安全性的话,你可以直接把JSP页面放到WEB-INF外的webapp目录下,这样也可以直接访问。下面说下如何直接访问WEB-INF目录下的jsp页面可以通过转发的方式访问,我用的是Controller来进行转发,如下:package com.sogou...
2016-10-19 12:37:28 29136 2
原创 @Scheduled不执行的原因
1. 今天用@Schedule做了一个定时任务,希望凌晨1点执行,代码如下@Servicepublic class ParseJsonService { @Scheduled(cron = "0 0 1 * * ?") public void parseMongodbDataToJson() { }}第二天来公司了,发现根本没有执行。然后开始查找问题2. 首先
2016-10-18 16:17:04 86601 11
转载 MySQL使用全文索引(fulltext index)
1.创建全文索引(FullText index) 旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。 不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息要随时关注官网, 1.1. 创建表的同时创建全文索引 CREATE TABLE a
2016-10-14 17:40:17 68662 6
转载 MySQL全文索引Match Against与Like比较
[原文地址:http://blog.csdn.net/zyz511919766/article/details/12780173]1.概要InnoDB引擎对FULLTEXT索引的支持是MySQL5.6新引入的特性,之前只有MyISAM引擎支持FULLTEXT索引。对于FULLTEXT索引的内容可以使用MATCH()…AGAINST语法进行查询。为了在InnoDB驱动
2016-10-14 17:38:57 1483
原创 Java对MongoDb的CURD操作
最近,因为一个项目要用到MongoDB,所以简单学了下,总的来说,还是很简单的。1. 首先是通过账号验证获取集合的代码public static MongoCollection getCollection() { try { ServerAddress serverAddress = new ServerAddress("10.10.10.10",
2016-10-13 18:07:46 794
转载 tomcat server.xml详细配置
这篇文章写的很详细:http://blog.csdn.net/zcyhappy1314/article/details/10356909
2016-09-29 14:52:23 285
原创 Java对象的serialVersionUID在序列化和反序列化的用途
本博客主要转自如下链接http://blog.csdn.net/javazejian/article/details/52665164这篇文章写的不错,但是有些地方我估计博主没有亲自测试,所以有些地方我亲测后发现其实他说的不对,大家可以先看看他写的,然后再看看我下面说的具体哪里不对了先说说serialVersionUID的用途:其实一个类要实现序列化和反序列化,不声明seria
2016-09-29 12:44:09 4334
转载 Spring用@Autowire向一个类注入一个接口的两个实现类
@Servicepublic class AaaService implements IChangePassword { @Override public void changePassword(String username, String password) { }}@Servicepublic class BbbService implements IC
2016-09-29 10:23:37 29051 1
转载 Java NIO逐行读文件并写文件
package com.sogou.study.nio.file;/** * Created by denglinjie on 2016/9/27. */import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import
2016-09-27 17:47:34 5740
转载 Java NIO操作Socket的用法
我们都知道TCP是面向连接的传输层协议,一个socket必定会有绑定一个连接,在普通的BIO(阻塞式IO)中,需要有三次握手,然后一般的socket编程就是这样的形式。Socket服务器端流程如下:加载套接字->创建监听的套接字->绑定套接字->监听套接字->处理客户端相关请求。Socket客户端同样需要先加载套接字,然后创建套接字,不过之后不用绑定和监听了,而是直接连接服务器,发
2016-09-27 16:40:24 508
原创 获取机器IP的方法
public static String getLocalIP() { String ip = null; InetAddress inetAddress = null; // 判断操作系统类型 if (SystemUtils.IS_OS_WINDOWS) { inetAddress = getWinLoc
2016-09-27 11:11:44 594
转载 httpClient中的三种超时时间设置
http://www.android100.org/html/201407/23/44680.html
2016-09-19 17:13:08 3765
原创 Spring IOC学习心得之BeanPostProcessor,BeanNameAware,BeanClassLoaderAware,BeanFactoryAware接口是如何起作用的
1. 首先说下BeanPostProcessor接口中的两个方法,如下:package org.springframework.beans.factory.config;import org.springframework.beans.BeansException;public interface BeanPostProcessor { //Bean初始化的...
2016-09-11 18:41:43 9688
原创 将本地创建的工程上传到github仓库中
1. 在idea的命令行执行(或者git切换到工程的根目录)# git init2. #git add .3. git commit -m “注释”4. 到github上创建自己的仓库,创建完成后获取到这个仓库的地址,比如我的一个仓库地址:git@github.com:jasonjiehub/jason-study.git注意,仓库有两个地址,一个是ssh方式的,一个是htt
2016-09-10 22:25:13 515
原创 Spring IOC学习心得之IOC容器的初始化过程
注:本文大多数内容都是摘自《Spring技术内幕》这本书简单来说,Ioc容器的初始化过程是在refresh()方法中启动的,包括BeanDefinition的Resource定位,载入和注册三个过程。第一:Resource的定位这个Resource指的是BeanDefinition的资源定位,由ResourceLoader通过统一的Resource接口来完成。文件系统中的Bean定义信
2016-09-10 17:56:05 542
原创 Spring MVC提供http接口供下载文件
废话不多说,直接上源码:@Controllerpublic class DownLoadController { @RequestMapping(value="/zyg/download/lemmainfo") public void downloadResource(@RequestParam(value = "fileName", required = true) Str
2016-09-07 18:49:04 4045
原创 mysql查询时传入中文时的乱码问题
我的sql语句如下:mysql -h10.10.10.10 -P3307 -uusername -ppassword -N -e "select lemmaId,title from bk_recmdLemma.LemmaManager where 1=1 and match(categories) against ('人物|')"上述查询categories字段时走的全文索引,总的Le
2016-09-01 17:22:35 899
转载 对TreeMap按照value进行排序
public class Testing { public static void main(String[] args) { HashMap map = new HashMap(); ValueComparator bvc = new ValueComparator(map); TreeMapLon
2016-08-31 13:56:58 12767
转载 利用Future异步获取多线程的返回结果
Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实现,可以来进行异步计算。有了Future就可以进行三段式的编程了,1.启动多线程任务2.处理其他事3.收集多线程任务结果。从而实现了非阻塞的任务调用。在途中遇到一个问题,那就是虽然能异步获取结果,但是Future的结果需要通过isdone来判断是否
2016-08-29 12:11:05 17468 3
原创 使用spring集成的kafka收发消息
1. 引入maven依赖<dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-kafka</artifactId> <version>${spring-integration...
2016-08-29 11:10:05 22893 8
转载 线程池ThreadPoolExecutor的使用方法
private static ExecutorService exec = new ThreadPoolExecutor(8, 8, 0L,TimeUnit.MILLISECONDS, new LinkedBlockingQueue(100000),new ThreadPoolExecutor.CallerRunsPolicy());一、简介 线程池类为 java.ut
2016-08-22 11:38:34 3200
原创 Java用观察者模式重构复杂的业务代码
1. 定义一个统一的回调接口public interface CallerInter { void call(Param param);}2. 定义观察者接口public interface ObserverInter{ /** * 增加观察者 * * @param callInter */ void addOb
2016-08-19 16:50:44 2816
原创 用Java搭建一套访问redis的API
1. 创建一个RedisClient类package com.jason.study.redis.jedisPool;import org.apache.log4j.Logger;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisP
2016-08-19 15:31:15 2170
原创 连接redis的方法
访问redis,跟访问mysql类似,都可以通过客户端软件。当mysql安装到一台服务器A上后,我可以在其他服务器上通过服务器A的IP,mysql端口号、账号、密码来连接服务器A上的mysql,来访问这个mysql。那么访问redis也其实是一样的原理,redis可以安装在服务器C上,然后其他机器上安装一个redis客户端,然后通过客户端来访问redis,访问方法:1. 进入redis
2016-08-19 12:28:06 2777
原创 idea项目乱码问题
写了一个简单的字符串切分,代码如下;@Testpublic void testSplit() { String line = "刘涛 实验"; System.out.println(line.split(" ")[0]); System.out.println(line.split(" ")[1]);}发现切分的结果竟然是乱码,找了半天终
2016-08-16 18:27:46 1194
原创 Md5思想
1. md5一般是用来做摘要认证,验证文件是否被修改过,所以传输的数据包括两部分,一个是要传输的内容,一个是内容的md5值,当然发起方和接收方必须有一个共同的秘钥2. 将要传输的内容和秘钥拼接起来做md5得到md5只,即:md5值=md5(内容+秘钥)3. 将md5值和内容一起传给接收方4. 接收方因为有秘钥,现在也有了内容,可以通过md5(内容+秘钥)这个相同的方法来计算md5值,再
2016-08-11 19:34:22 575
原创 too many connections的一个实践
1. 数据库中有一个表的数据量在1900万,我发现一个varchar类型的字段设置的有点短,所以我想设置的大点2. 于是我执行了如下的sql:# alter table LemmaManager change title title varchar(255) null;3. 此时我的一个java项目开启了15个线程在往这个表里面插数据4. 我试图执行show processlist
2016-08-09 18:15:47 547
原创 数据库的扩容
1. 假设初始状态下有2个主库,分别为A和B,写数据和读数据都是MOD2来进行的hash,即对于一个要写入或者读取的数据,都是通过一个MOD2算法来进行hash,这样同一个数据,如果写到了A数据库,那么读的时候通过相同的MOD2这个hash算法也会从A数据库读2. 进行数据库扩容,一般不会把2个库扩展成三个库,这样不方便,一般是2 -> 4 -> 8 -> 16的加倍的扩展方式3. 将数据
2016-08-08 14:04:17 1703 1
原创 正则表达式匹配任意字符
最开始以为.* 可以匹配任意字符,后来发现有问题,匹配不了换行符\n查了下资料,用[\s\S]*匹配可以 解释:\s空白符,\S非空白符,所以[\s\S]是任意字符
2016-08-04 14:08:02 191963 8
原创 Spring IOC学习心得之Bean对IOC容器的感知
容器管理的Bean一般不需要了解容器的状态和直接使用Bean,但是在某些情况下,是需要在Bean中直接对IOC容器进行操作的,这时候,就需要在Bean中设定对容器的感知。Spring IOC也提供了该功能,它是通过特定的aware接口来完成的。aware接口有如下这些:BeanNameAware:可以在Bean中得到它在IOC容器中的Bean的实例名称BeanFactoryAware:可以
2016-07-31 19:22:28 1007
原创 mysql获取分组后每组的最大值
1. 测试数据库表如下:create table test( `id` int not null auto_increment, `name` varchar(20) not null default '', `score` int not null default 0, primary key(`id`))engine=InnoDB CHARSET=UTF8;2. 插入如下数
2016-07-21 13:55:53 44579 17
原创 Java查找一个字符串中所有匹配某正则的子串
代码如下:String line = "2016年10月11日我们去哪里玩近期我们近日,次年,同年等等,10月,2019年,3月4日"Pattern datePattern = Pattern.compile("\\d{4}年\\d{1,2}月\\d{1,2}日|\\d{4}年\\d{1,2}月|\\d{1,2}月\\d{1,2}日|\\d{4}年|\\d{1,2}月|同年|次年|近日|近期
2016-07-21 10:30:15 18462
apache+php+mysql的嵌入式移植详细过程
2013-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人