自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jekins发布时报time stamp xxx is xxx s in the future的问题解决办法

前几天遇到一个诡异的问题,按照正确的spring和mybatis配置,使用jekins把项目发到测试环境,结果在调用查询服务的时候,报mapper方法找不到的错误(org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)),改了半天的项目配置,还是没用(mapper部分是新加的功能,之前没有)。

2017-07-27 09:19:33 1417 1

原创 idea常用插件

这里记录几款idea常用插件:1. Eclipse Code Formatter2. PlantUML integration3. Grep Console4. CodeGlance5. Background Image Plus

2017-07-13 00:41:45 538

原创 Java Web项目中编写定时任务

之前在的公司有专门的任务调度框架,需要使用的时候引个jar包加个配置和注解就可以使用了,还有专门的平台来维护运行的机器及监控执行状态等等。现在突然没了这个工具,而又要写定时任务,该怎么办呢?对于非Web应用来说,我们可以使用Quartz,使用简单,功能强大。对于Java Web应用来说,当然也可以使用Quartz(有一篇博客介绍了方法:http://blog.csdn.

2017-01-23 17:26:27 5325 8

转载 Spring单例与线程安全小结

文章来源:http://www.cnblogs.com/doit8791/p/4093808.html一、Spring单例模式与线程安全Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。 单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

2017-01-23 15:09:44 600 1

转载 Spring读取properties文件出现乱码的解决方法

来源:http://blog.csdn.net/yang1982_0907/article/details/44646577在spring的applicationContext.xml文件中设置和读取properties资源文件时,如果properties文件是UTF-8编码的,并且需要读取的内容包含中文,那么采取默认的property-placeholder标签配置,则读取属性时

2017-01-23 15:05:04 1261

原创 Java获取集合泛型的类型上的注解

标题看起来比较绕,稍微解释一下:有许多不同的类,这些类上面都有一个自定义的注解, 标注了某些信息;现在有一组这些类中某各类的对象,放在集合中。有个需求,在进行反射处理的时候,需要知道集合的类型,并从中拿取信息。求解过程比较艰苦,这里就不再赘述,直接放解决办法。假设我们已经得到了这个属性的Field(Field可以通过Class.getFiled(String name)

2017-01-22 22:05:42 4428

原创 MyBatis支持批量插入获得自增id

MyBatis以前不支持批量插入获取自增id,但是

2017-01-21 10:52:21 9621 1

原创 浅谈对象的序列化

最近需要用到jedis将对象保存到redis缓存中,查了下api,发现只接收String类型的参数,这样就需要将对象进行序列化了。那么到底该如何序列化呢?由于好久没有做过这种事儿,一时间没什么思路,想到了toString可以把对象变成String,但是转不回来(除非自己手动解析字符串)。后来又想到了用ObjectStream,但是直接用这个的时候,反序列时候会报“invalid strea

2017-01-16 00:07:11 599

原创 Java8学习笔记(一)——lambda表达式和方法引用

看《Java 8 in Action》,并将体会记录下来,方便后面查阅。可能比较零散,都后面有时间和精力再分类整理,暂时先分条列出。1. 新特性lambda表达式stream api函数式编程接口可以定义默认实现的方法Optional2. 方法引用方法引用“::”,可作为方法的参数。在java 8之前,如果需要获取隐藏的文件,可能需要这么写:

2017-01-09 00:14:30 846

转载 git的配置

一、安装gitWindows从官网下载安装,安装时,在Adjusting your PATH environment页,勾选Run Git from the Windows Command Prompt。Linux Ubuntu:sudo apt-get install git-core git-gui git-doc gitkMachttp://cod

2017-01-04 16:46:10 464

原创 poi处理excel时需要注意的一些点

Java可以使用apache poi来处理excel。哦,不是这个poi~言归正传,这次说的要注意的点和隐藏sheet有关。众所周时,excel可以有多个sheet(工作簿),而sheet是可以隐藏的。在处理excel的时候,有时候并不想处理隐藏的sheet,但是一些函数默认是会将隐藏sheet考虑在内,导致一些很难察觉的错误。Workbook workbook

2016-12-29 18:35:35 2625

原创 druid升级1.0.26遇到的连接闲置断开的问题

1. 背景之前处理了一个mybatis的bug(详见之前的文章),在给系统升级mybatis的时候,想顺便把所有系统的druid也升级了,从版本(0.2.18~1.0.18不等)升级到统一的最新版本(1.0.26)。但是在beta测试期间,遇到如下异常:ERROR com.alibaba.druid.pool.DruidDataSource:1243 discard connect

2016-11-08 23:40:21 16828 7

原创 Python学习笔记——进程和线程

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319272686365ec7ceaeca33428c914edf8f70cca383000继续学习,接下来是进程和线程。1.

2016-11-06 23:55:00 4039

原创 Python学习笔记——IO编程

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431917590955542f9ac5f5c1479faf787ff2b028ab47000闲置了有点久,继续学习廖雪峰老师的Python课程,下面是关于IO编程的学习笔记。1. 读文件open()

2016-10-08 17:18:21 672

原创 Python学习笔记——面向对象编程

接下来学习面向对象编程,基础的就不记录了,只记录一些Python特有的或者高级的特性。http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318645694388f1f10473d7f416e9291616be8367ab50001. 类的定义定

2016-09-05 23:58:09 2015 1

原创 Python学习笔记——模块

继续学习~这次是模块相关的知识。这里会总结下模块的概念,并且不断将用到的一些第三方模块补充到这里,便于以后查用。http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318447437605e90206e261744c08630a836851f5183000

2016-09-04 00:00:24 500

原创 Python学习笔记——函数式编程

下面学习一下Python的函数式编程。http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317848428125ae6aa24068b4c50a7e71501ab275d520001. 高阶函数变量可以指向函数。函数名也是变量。一个函数可以接收

2016-09-03 17:09:00 460

原创 Python学习笔记——高级特性

继续之前的学习,下面是一些高级特性。1. 切片取指定索引范围的操作,可以通过切片(slice)来实现。如L[0:3]表示从列表索引0开始,到索引3(但不包含)的子集。如果第一个索引是0,可以省略,如L[:3]。Python也支持倒数切片,如L[-2:],L[-2:-1]。切片还有第三个参数,表示每隔xx个取一个,如L[::5]表示每5个取一个。如果都省略,则可以

2016-09-01 01:05:21 541

原创 Python学习笔记——基础知识

最近学习了一下Python,看了廖雪峰的教程,地址:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000以下内容记录了学习过程中觉得比较重要的点,或者需要经常查阅的东西。1. 官网下载地址https://www.python.org/downloads/

2016-08-29 01:03:17 739

原创 MySQL 5.7多源复制功能的应用

MySQL 5.7有一个新特性,即支持多源复制,这个功能在有些场景下还是很有用的。首先什么是多源复制呢?摘录开源中国社区中的一段说明:“MySQL在这个新版本中修复了一个复制限制 , 这限制是一个从站只能有一个主站. 这是一个在我们设计复制环境中的限制因素,也有一些极客使它正常工作了。但是现在有一个官方的解决办法了。所以。简单的说, Multi-Source 意味着一个从站能有一个以上主站

2016-08-25 10:08:44 1194

原创 MyBatis 3.2.x版本在并发情况下可能出现的bug及解决办法

我们基于Spring的Web项目使用的MyBatis版本是3.2.3,有一天忽然发现出现了很神奇的异常,如下:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'searchP

2016-08-11 20:28:46 14235 2

原创 Apache Flume学习笔记之一:基本概念和流程

参考:http://flume.apache.org/FlumeUserGuide.html一、概述Apache Flume是一个分布式的、可靠的、可用的系统,用于从许多不同的数据源高效的收集大容量的日志数据,聚合并传输到一个集中的数据存储。Apache Flume并不局限于日志数据的聚合。由于数据源是可定制的,Flume可用于传输多种事件数据,包括但不限于网络

2016-08-09 00:51:42 2511

原创 jquery对话框去掉右上角叉子

jquery的对话框有多种使用场景,比如提示信息、让用户选择等等。在有些场景下,用户操作对话框后需要执行事件:比如弹出的对话框播放音乐,关闭对话框是音乐要停止,这时候就需要使用事件。一种方法是实现close事件,在close函数中操作,这种是比较通用的处理,在“只要对话框关闭,就执行xxx”这种模式下推荐使用。还有一种方式是隐藏右上角的叉子,这样只能通过对话框上的按钮来执行对应的逻辑。

2016-07-26 00:31:45 4278 1

原创 获得指定时间的下一天的N种方法

有时候在进行日期计算的时候需要对日期进行加减,比如给定一个时间T,我们需要查找T到T+1的数据,最简单的方法就是转换成毫秒后加上一天对应的毫秒数,再转换回来,但是这样显得不够优雅,那么Java中有哪些方法可以实现这个功能呢?下面进行了总结:方法一:基本方法Date now = new Date();Date date = new Date(now.getTime() + (1000 *

2016-07-26 00:08:42 9320

原创 带滚动条的表格

有时候需要使用表格来展示一些数据,通常有两种方式:分页和全量。全量展示时,如果数据量大,表格就会非常的长,视觉和使用效果都很差。如果表格可以固定长度,内容可以上下滚动,且标题不动,这样看起来就好多了。那么该如何实现呢?这里想到了一种方法,即表格内部再嵌入一个表格,内部固定高度,以达到滚动的效果。示例代码如下: table {

2016-07-22 00:40:23 5619

原创 jquery实现复选框的全选操作

最近做了个需求,需要实现列表复选框的全选/取消全选操作,由于之前对这块不是很了解,所以从网上查了一些资料,虽然有各种实现方法,但没找到直接可以套用的。自己琢磨了下,把功能实现,整理如下。实现细节如有可改进的地方,不吝赐教。首先是html部分的代码,这里有一个表格,表格里面有一些选项: 选项1 选项2 选项3 全选

2016-07-20 00:30:13 8552

原创 Java的代理—JDK Proxy

最近空闲时间在研究dubbo,里面用到了代理,正好这块以前不怎么了解,现在学习并记录下来。参考:Java核心技术 卷I 基础知识(原书第9版) 6.5 代理JDK代理是Java 1.3新增的特性,主要用于以下一些场景:路由对远程服务器的方法调用。在程序运行期间,将用户接口事件与动作关联起来。为调试,跟踪方法调用。JDK代理的实现原理是通过反射机制实例化被代理类及调用被代

2016-05-07 22:21:25 1133

原创 浅谈dubbo的ExceptionFilter异常处理

背景我们的项目使用了dubbo进行不同系统之间的调用。每个项目都有一个全局的异常处理,对于业务异常,我们会抛出自定义的业务异常(继承RuntimeException)。全局的异常处理会根据不同的异常类型进行不同的处理。最近我们发现,某个系统调用dubbo请求,provider端(服务提供方)抛出了自定义的业务异常,但consumer端(服务消费方)拿到的并不是自定义的业务异常。

2016-04-23 22:47:36 54488 4

原创 java中list或set转map的方法

在开发中我们有时需要将list或set转换为map(比如对象属性中的唯一键作为map的key,对象作为map的value),一般的想法就是new一个map,然后把list或set中的值一个个push到map中。类似下面的代码:List stringList = Lists.newArrayList("t1", "t2", "t3");Map map = Maps.newHashMapWi

2016-02-21 12:06:13 9642 2

原创 java中获取一个集合(Set)的子集的方法

想获取一个链表(List)的子集,可以直接使用subList方法,但是集合(Set)并没有类似的subSet的方法。有些应用场景需要获取一个集合的子集,这时候该怎么做呢?最容易想到的方式,就是构造一个新的集合,将集合的元素拷贝过去:public Set subSet(Set objSet, int size) { if (CollectionUtils.isEmpty(objS

2016-02-05 20:44:28 31117 2

原创 使用Microsoft Translator进行翻译

众所周知,Google Translate API在几年前就停止服务了,并提供了收费的版本GOOGLE TRANSLATE API。之前尝试用http请求来翻译(如此链接),再解析返回的字符串([[["xxx",....),xxx即为所需的内容。这种方式对于非频繁的请求还是ok的,但是实时翻译就经常会遇到返回403的情况,即使添加User-Agent、设置延时也无济于事。最近更是变本加

2015-12-20 15:24:12 15730 9

原创 nginx的重试机制

现在对外服务的网站,很少只使用一个服务节点,而是部署多台服务器,上层通过一定机制保证容错和负载均衡。nginx就是常用的一种HTTP和反向代理服务器,支持容错和负载均衡。nginx的重试机制就是容错的一种。在nginx的配置文件中,proxy_next_upstream项定义了什么情况下进行重试,官网文档中给出的说明如下:Syntax: proxy_next_upstream

2015-11-15 09:43:44 26059 1

原创 shell常用命令

1. 根据时间戳获取实际时间 - date有时候,java程序输出的是毫秒数(如使用System.currentTimeMillis()),这样写程序方便,但是可读性差。shell中有一条命令可以方便的进行转换:date -d 'utc 1970-01-01 xxxx seconds'其中xxx为秒数(需要将毫秒数后三位舍去),如程序输出是123456789,则这里的xxx是12345

2015-10-07 21:17:01 711

转载 10 个迅速提升你 Git 水平的提示

转载自开源中国社区http://www.oschina.net/translate/10-tips-git-next-level1. Git自动补全假使你使用命令行工具运行Git命令,那么每次手动输入各种命令是一件很令人厌烦的事情。为了解决这个问题,你可以启用Git的自动补全功能,完成这项工作仅需要几分钟。为了得到这个脚本,在Unix系统下运行以下命令:cd ~cur

2015-10-06 22:35:57 1273

原创 给dubbo接口添加白名单——dubbo Filter的使用

在开发中,有时候需要限制访问的权限,白名单就是一种方法。对于Java Web应用,Spring的拦截器可以拦截Web接口的调用;而对于dubbo接口,Spring的拦截器就不管用了。dubbo提供了Filter扩展,可以通过自定义Filter来实现这个功能。本文通过一个事例来演示如何实现dubbo接口的IP白名单。扩展Filter实现com.alibaba.dubbo.rpc.

2015-08-09 20:45:45 65160 7

空空如也

空空如也

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

TA关注的人

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