- 博客(96)
- 资源 (9)
- 收藏
- 关注
转载 ES 5.x bulk update重复的文档ID性能低下分析
目前很多公司将ES作为数据库数据的索引,将多个数据库的数据同步到ES是非常常见的应用场景。所以感觉问题可能会困扰不止一个用户,而官方的文档没有对update底层机制作了详细的说明,特将该问题整理成文章,供使用ES的用户参考。 问题描述 在ES5.x里通过bulk update将数据从数据库同步到ES,如果短时间内的一批数据里存在相同的文档ID,例如一个bulk update大量更新相同的文档ID
2017-09-16 13:53:37 1706
转载 使用lua脚本做高并发限流
lua语言介绍 Lua是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序
2017-09-16 13:25:06 2777
原创 http head 详解
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递message- header,即http header消息 。http header 消息通常被分为4个部分:gene
2016-12-08 17:36:30 1695
转载 Git忽略规则及.gitignore规则不生效的解决办法
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:# 此为注释 – 将被 Git 忽略*.a # 忽略所有 .a 结尾的文件!lib.a # 但 lib.a 除外/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subd
2016-11-21 19:53:08 468
转载 spring @Async的配置和使用
这个注解用于标注某个方法或某个类里面的所有方法都是需要异步处理的。被注解的方法被调用的时候,会在新线程中执行,而调用它的方法会在原来的线程中执行。这样可以避免阻塞、以及保证任务的实时性。适用于处理log、发送邮件、短信……等。注解的应用范围: 类:表示这个类中的所有方法都是异步的 方法:表示这个方法是异步的,如果类也注解了,则以这个方法的注解为准相关配置<task:annotatio
2016-11-10 17:25:29 4815 1
转载 【解惑】深入jar包:从jar包中读取资源文件
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码://源代码1: package edu.hxraid; import java.io.*; public class Resource { public void
2016-11-09 20:48:49 2017
原创 MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999');这样当有重复记录就会忽略,执行后返回数字0 方案二:使用rep
2016-06-02 18:45:16 1101
转载 spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下: 1、写一个
2016-02-19 20:55:05 779
转载 spring InitializingBean init-method postConstruct 执行顺序
Spring 容器中的 Bean 是有生命周期的,Spring 允许在 Bean 在初始化完成后以及 Bean 销毁前执行特定的操作,常用的设定方式有以下三种:通过实现 InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法; 通过 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法; 在指定
2016-02-19 20:38:04 7972
转载 Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题,及处理方法
在Windows下用文本编辑器创建的文本文件,如果选择以UTF-8等Unicode格式保存,会在文件头(第一个字符)加入一个BOM标识。 这个标识在Java读取文件的时候,不会被去掉,而且String.trim()也无法删除。如果用readLine()读取第一行存进String里面,这个String的length会比看到的大1,而且第一个字符就是这个BOM。 这种情况会造成一些麻烦,比如在读取i
2016-01-27 10:19:28 1508
原创 Spring整合log4j日志组件
PHP转Java有一段时间了,最近在学习Spring的一些组件安装、配置及使用。今天学习了log4j作为项目日志操作组件为web开发节省了大量在项目过程中记录日志及日志输送存储的工作。Log4j是Apache的一个开放源代码项目,通过使用Log4j,控制日志信息输送的目的地可以为控制台、文件、数据库、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;可以控制每一条日
2015-12-23 19:16:52 1421
转载 SSH 接著在 Server1 上登入 Server2,设置自动使用本地sshKey
SSH agent forwarding 可以讓本地的 SSH Key 在遠端 Server 上進行轉送,也就是當你需要在選端 Server 上使用 SSH Key 時,就不需要將你的 key pair 手動複製到 server 上,是個暨方便又安全的作法。 舉例來說,首先 SSH 登入進 Server1,接著在 Server1 上登入 Server2 時,就會自動使用你本地的 SSH Key:
2015-12-06 14:23:44 852
原创 java多线程 callable和future学习
执行一个线程,取得线程返回的结果 callable 返回一个结果,future取到返回的结果。尝试使用的一个例子,实际中很多场景可以用到package test;import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import ja
2015-12-06 14:19:26 622
转载 使用spring的@Async异步执行方法
应用场景:1、某些耗时较长的而用户不需要等待该方法的处理结果2、某些耗时较长的方法,后面的程序不需要用到这个方法的处理结果时在spring的配置文件中加入对异步执行的支持<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2015-12-06 14:16:03 663
转载 超级系统工具Sysdig,比 strace、tcpdump、lsof 加起来还强大
可以用sysdig命令做很多很酷的事情网络查看占用网络带宽最多的进程sysdig -c topprocs_net 显示主机192.168.0.1的网络传输数据as binary: sysdig -s2000 -X -c echo_fds fd.cip=192.168.0.1 as ASCII: sysdig -s2000 -A -c echo_fds fd.cip=192.168.0.1
2015-11-04 19:08:14 1529
转载 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
代码下载:http://dl.iteye.com/topics/download/b2593543-238f-3373-88c1-264153735911SpringMVC集成Bean Validation 1.0(JSR-303),目前Bean Validation最新版本是Bean Validation 1.1(JSR-349),新特性可以到官网查看,笔者最喜欢的两个特性是:跨参数验证(比如密码
2015-10-30 00:43:41 800
原创 spring+mybatis多数据源配置
(1)单数据源配置<bean id="dataSource" class="org.logicalcobwebs.proxool.ExtendsProxoolDataSource"> <property name="alias" value="project"></property> <property name="delegateProperties">
2015-10-27 21:48:24 1847
原创 连接池 druid(阿里巴巴的框架)
说的是现在最好的连接池 注: 属性跟 dbcp 连接池的差不多. 加入了 filters 监控(value 值要有 stat) 在web.xml里加入下面的Servlet 就可查看 例: http://localhost:8080/BenbearGame_test/druid 跟spring 一起用时( 只要配置 initialSize maxActive 就可以),
2015-10-25 15:23:36 4017
原创 git 查看远程分支、本地分支、删除本地分支
1 查看远程分支chendaoqiudeMacBook-Pro:global-cacheIndex chendaoqiu$ git branch -a* feature_11019_weixin_share master remotes/origin/develop_new remotes/origin/feature_10079_val_hot_label remotes/ori
2015-10-20 20:06:22 3474
转载 spring整合消息队列rabbitmq
spring大家太熟,就不多说了rabbitmq一个amqp的队列服务实现,具体介绍请参考本文http://lynnkong.iteye.com/blog/1699684本文侧重介绍如何将rabbitmq整合到项目中ps:本文只是简单一个整合介绍,属于抛砖引玉,具体实现还需大家深入研究哈..1.首先是生产者配置<?xml version="1.0" encoding="UTF-8"?><beans
2015-10-14 22:40:25 2599
转载 java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两
2015-10-10 19:25:43 1090
转载 Spring事务处理时自我调用的解决方案及一些实现方式的风险
前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的。因此专门写此篇帖子分析why。预备知识aop概念请参考【http://www.iteye.com/topic/1122401】和【http://jinnianshilongnian.iteye.com/blog/1418596】 spring的事务管理,
2015-09-25 19:46:28 1302 1
转载 淘宝如何跨域获取Cookie分析
最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这篇文章。当我们在 www.taobao.com 中进行登录之后,然后直接切换到 www.tmall.com 域名下,发现www.tmall.com首页的最顶部马上显示成了”您好, andyfaces“,于是便对此处的实现机制进行分析。首先,用户名应该是存储在cookie中的,于是在taobao.com的域名中用 firefox看到用户名
2015-09-16 14:50:57 4048 1
转载 消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
RabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼。下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了。(一)RabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构,意味着消息在发送到客户端之前可以在中央节点上排队。此特性使得RabbitMQ易于使用和部署,适宜于很多场景如路由、负载均衡或
2015-09-14 19:10:12 4568
转载 Dual Master 复制架构(Master-Master)
1. Dual Master 复制架构(Master-Master)说明:1) 相比Master-Slave架构,可以避免因为正常的常规维护操作的停机所带来重新搭建replication的麻烦(因为任何一端都记录了自己当前复制到对方的什么位置了,系统重启之后,自动复制,不需人工干预,节省维护成本)2) 结合keepalived等第三方HA软件,在故障时自动转移,自动切换服务,不影响应用且不需
2015-09-11 21:35:37 2549
转载 postgresql最全整理资料,PostgreSQL 30天 培训视频(SQL基础,备份恢复,HA,服务端编程,大数据,内核,应用案例)
转载自:http://blog.163.com/digoal@126/blog/static/16387704020141229159715/ 希望通过这些视频帮到一些朋友, 同时对视频中的错误点烦请读者指出以更正, 谢谢. 目前在更新的视频是《PostgreSQL 数据库管理 5天》和《PostgreSQL 性能优化 3天》. 在线观看地址 : http://www.tudou.com/
2015-09-11 21:24:23 5823 3
转载 使用spring @Scheduled注解执行定时任务
以前框架使用quartz框架执行定时调度问题、老大说这配置太麻烦、每个调度都需要多加在spring的配置中、能不能减少配置的量从而提高开发效率、最近看了看spring的 scheduled的使用注解的方式进行调度、感觉很方便、起码配置的东西少了很多、所以留下来以备忘了、首先要配置我们的spring.xmlxmlns 多加下面的内容、[html] view plaincopyprint?xm
2015-09-11 19:46:04 1212
原创 ajax(三) ajax提交表单、ajax实现文件上传
式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用jquery的.ajax(..),支持提交普通表单,但不支持含有文件的复杂表单;(.ajax({..}), 支持提交普通表单,但不支持含有文件的复杂表单; (.post 或 .get底层用的都是.get底层用的都是.ajax) 方式三:使用jquery插件aj
2015-08-19 19:18:24 5918
转载 浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,
2015-08-15 15:58:47 1271
原创 mysql timestamp和long存储时间效率比较
show create table 20130107date;CREATE TABLE `20130107date` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `c_date_long` int(20) NOT NULL, `idx_da
2015-08-14 17:14:48 11652
转载 Eclipse安装Freemarker Editor插件
在下面网址里下载freemarker-ide:[html] view plaincopyprint?http://sourceforge.net/projects/freemarker-ide/files/ http://sourceforge.net/projects/freemarker-ide/files/下载完成后后解压,由于该IDE里面的freemarker版本较老,需要将现有(自己用的
2015-08-07 09:56:42 932
转载 浅谈jsp、freemarker、velocity区别
以前做web开发页面层用的基本就是就是,最近公司java项目页面层用的技术是velocity。听说jsp要淘汰,也不知道是真是假,但本人还是比较喜欢jsp的,下面是网上查找的javaweb项目页面3种技术的区别。在java领域,表现层技术主要有三种:jsp、freemarker、velocity。jsp是大家最熟悉的技术 优点: 1、功能强大,可以写java代码 2、支持jsp标签(jsp t
2015-08-06 20:29:27 1369
转载 Spring MVC 整合 Freemarker
前言1.为什么要使用Spring MVC呢?2.为什么要使用Freemarker呢?3.为什么不使用Struts2呢?此示例出现的原因就是发现了struts2的性能太差,所以学习Spring MVC。又由于前一个项目使用的是Struts2+Freemarker写的,所以要替换Struts2就需要让Spring MVC也要支持Freemarker。项目准备1.Spring 包spring
2015-08-06 20:28:10 1254
转载 Linux 文件系统的目录结构
Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多。 1. / 文件系统的入口,最高一级目录; 2. /bin 基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, mkdir等。 这个目录中的文件都是可执行的,一般的用户都可
2015-07-24 11:02:02 1755
原创 实名认证方案
这个可以去产品一些优秀平台的做法,既然这里是我们互联网金融从业人士交流的地方,我就不太担心会有人说是广告了。 作为一个从业者,我亲身经历一个实名认证的实施过程,其中和开发碰了很多次,大家都提很多建议,有两种做法我都列举出来,但我们最终采用了第一种。 对接身份查询数据中心实名认证方式: 通过对接公安部的全国公民身份证查询中心数据库,可以通过身份证号和姓名,直接校验两者直接是否一致,对方会返回3种
2015-07-24 09:30:34 5872
原创 linux安装ftp
(1)先安装,vsftpd和ftpyum install vsftpdyum isntall ftp2、设置开机启动vsftpd ftp服务chkconfig vsftpd on(3)配置防火墙打开/etc/sysconfig/iptables文件vi /etc/sysconfig/iptables在REJECT行之前添加如下代码-A RH-Firewall-1-INPUT -m state –st
2015-07-20 09:08:20 1300
转载 HashMap与ConcurrentHashMap的区别
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。从ConcurrentHashMa
2015-07-14 11:14:26 1791
转载 深入JVM系列(三)之类加载、类加载器、双亲委派机制与常见问题
一.概述定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。类加载和连接的过程都是在运行期间完成的。二. 类的加载方式1):本地编译好的class中直接加载2):网络加载:java.net.URLClassLoader可以加载url指定的类3):从jar、zip等等压缩文件加载类,自动解析jar文件找到cla
2015-07-14 10:39:15 1865
postgresql整理,包含窗口函数
2015-05-11
spring源码分析
2015-05-11
jstl所有tld文件
2014-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人