自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

变是永远不变的......

希望和大家交流

原创 升级mysql-connector-java中timestamp的坑

现象:connector在5.1.23版本后,java.util.Date的数据中小数秒会被拼接到sql中,导致更新、查询中timestamp用在where条件找不到存在的数据。问题复盘:我们项目中之前用到的connector版本是5.1.21,需要升级到5.1.32。昨天升级后发布一台机器发现了...

2017-12-01 10:07:59 1185 0

原创 由index_merge引发的死锁事件

问题:最近出现大量如下报错com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction ...

2017-10-12 17:17:15 708 0

原创 es构成

面向文档Elasticsearch 是 面向文档型数据库,这意味着它存储的是整个对象或者 文档,它不但会存储它们,还会为他们建立索引,这样你就可以搜索他们了。你可以在 Elasticsearch 中索引、搜索、排序和过滤这些文档。不需要成行成列的数据。这将会是完全不同的一种面对数据的思考方式,这也...

2017-08-15 16:49:47 626 0

原创 分布式锁2 Java非常用技术方案探讨之ZooKeeper

前言:由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。之前我已经写了一篇关于分布式锁的文章: 分布式锁1 Java常用技术方案 。上一篇文章中主要...

2017-07-31 17:35:34 335 0

原创 分布式锁1 Java常用技术方案

前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的。 第一步,自身的业...

2017-07-31 17:11:07 323 0

原创 activiti

初识Activiti 1.1. 工作流与工作流引擎 工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实...

2017-06-30 23:24:49 454 0

原创 【自动化学习笔记】环境搭建Selenium2+Eclipse+Java+TestNG_(一)

第一步 安装JDK 第二步 下载Eclipse 第三步 在Eclipse中安装TestNG 第1种方法:直接安装 Help->Install New Software name:MyTestNG location:http://beust.com/eclipse ...

2017-06-05 18:08:30 640 1

原创 8个方法让你成为更优秀的程序员

现在是时候认真考虑提高你的编程技能了!这是给自己设定的一个简单的职业生涯提升目标,但是“成为一个高薪程序员”不是一个简单的目标。一方面,“我要变得更优秀”意味着你知道“更优秀”是什么样的。另一方面,太多立志改善的人却不知道怎么做。 下面我要分享8个可操作的,可提高编程技能的行为准则。1.提醒自己...

2017-05-11 09:47:10 540 3

原创 http工作过程

最近做一个和其他公司通信的项目,用到了httpclient,通信过程用http,下面我们说一说http的工作过程网络四层工作过程地址解析如用客户端浏览器请求这个页面:http://localhost.com:8080/index.htm 从中分解出协议名、主机名、端口、对象路径等部分,对...

2017-02-21 19:37:54 2612 4

原创 ivr项目总结

项目背景最近一周一直在做a公司和b公司的ivr切换工作,那首先可能你要问了“啥是ivr?” 官方:IVR,(Interactive Voice Response)即互动式语音应答,您只须用电话即可进入服务中心,可以根据操作提示收听手机娱乐产品,也可以根据用户输入的内容播放有关的信息。 举例:“...

2017-02-21 18:50:27 2653 3

原创 16有些略仓促

2016年一转眼过去了,这一年给我的回忆和收获是不同往年的,虽然说18岁已成年,但感觉对于社会自己依然是个新生儿,这段时间我是个听客和看客,享受习惯了学生年代的氛围与快乐,到了一个新环境还真有些措手不及,毕竟它认为你是个成年人,所以得工作、交往都应该慢慢成熟起来。 ![这里写图片描述](h...

2017-02-04 10:53:15 415 7

原创 java完美处理表情符

遇到这个问题是在测试时发现用的是mysql,字符集为utf8,查到各路大神的办法,需要修改表的字符集为utf8mb4,但是试了很多次,无果~ 于是尝试用java来实现,其实主要就是入库时用正则将表情转为字符,然后从库中取出时为string: /** * 将str中的emoji表情转为b...

2016-11-22 19:10:49 6620 5

原创 IDEA jetty - 热部署插件JRebel 安装使用教程

1、下载插件并安装 jrebel-idea6.4.8 本地安装: 2、重启idea 3、激活 http://idea.lanyus.com/ilanyulanyu19950316@gmail.com 点击激活。 查看效果: 4、应用 选择你要热部署的项目: 注意: 使用jet...

2016-11-05 19:45:23 1849 2

原创 git+jenkins自动构建二

紧接上篇文章,我们下面说一下jenkins配置: 6、系统管理 –> 系统设置 –> GitHub –> Add GitHub Sever - 配置源码管理 1. 填写项目的git地址, eg. https://github.com/your_name/your_r...

2016-11-05 19:34:53 1490 2

原创 git+jenkins自动构建一

环境准备:virbox+vagrant+redhat 环境配置:maven、jdk不再赘述 插件安装:gcc-c++,prce-devel,zlib-devel,openssl-devel 1、添加下载源到repos中 wget -O /etc/yum.repos.d/jenkins.re...

2016-11-05 19:34:09 1007 0

原创 mac下安装virtualbox+vagrant

1、下载virtualbox资源VirtualBox_mac_5.0.24.dmg centosMix CentOS-7.1.1503-x86_64-netboot.box2、下载vagrantvagrant_1.8.1.zip 请到云盘下载3、将vagrant box文件条件到虚拟机中vag...

2016-10-29 11:55:04 1408 3

原创 验证码暴破、撞库

解决思路: 1、每次产生的验证码都做及时清除缓存 2、用户密码做MD5处理 3、用户登录次数限制@ResponseBody @RequestMapping(value = "/login", method = RequestMethod.POST) pub...

2016-10-24 15:31:31 3493 6

原创 sms+quartz多次重发短信

定时短信总是重发,反反复复半个月试了很多种方案:方案一思路检查逻辑,查看是否是因为一个用户报了同一学校不同分校的topic,获取到重复的userid,从而得到了相同的mobile,需要对手机号去重操作if(!strMobile.contains(userTopicInfoVoList.get(mo...

2016-10-09 11:23:10 852 6

原创 quartz执行两次

在现在的项目中发现Quartz执行了两次,在网上找到下列解决方案,我是用的第一种,灰常感谢这位哥们,转自:http://my.oschina.net/EugeneQiu/blog/265040?p=1 很多人在使用spring的Quartz配置定时任务时,会发现每次定时时间到达后,指定的定时方法...

2016-10-09 10:38:23 3957 5

原创 mybatis-generator-core工具使用

1、下载mybatis-generator-core包: 相关jar包,请在此下载 2、配置generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ge...

2016-09-06 19:31:59 4501 1

原创 git常用功能总结

一个很小的HTML项目,使用。Git来记录和跟踪这个项目。包括以下内容:   创建版本库。   添加与修改文件。   创建新分支。   打标签并整理版本库。   克隆版本库。创建版本库 Creating a Repository  在Git中,版本库(.git目录)是与工作目录树并排放在...

2016-08-31 19:41:21 397 3

原创 MacBook Pro下开发常用快捷键

最近加入新团队,开发环境焕然一新: 笔记本:MacBook Pro 浏览器:safari IDE:idea 一开始最难上手的就是各种快捷键,不过个人感觉就那几个常用的,其他都不常用随时百度就可以了。MacBook Proqq for Mac的截图是通过”control+command+A“...

2016-08-31 19:34:42 3076 1

原创 jvm调优策略

jvm常用调优工具有:Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。 VisualVM:JDK自带,功能...

2016-08-27 18:55:43 688 1

原创 说说最近

从4月26号到8月1号,一直在准备工作的事情,从结队学习到准备工作,每个阶段都是形影不离的4人帮,这几个月非常感谢小琼琼,小星星,one king的陪伴,我们一起努力,懈怠的时候相互鼓励,时时刻刻都有小监工,很开心,很充实,每次的交流都非常开心、气氛也很活跃,我们各自表达自己的想法,学习心得,有东...

2016-08-11 11:14:55 475 7

原创 kafka之副本机制

Kafka允许topic的分区拥有若干副本,这个数量是可以配置的,你可以为每个topci配置副本的数量。Kafka会自动在每个个副本上备份数据,所以当一个节点down掉时数据依然是可用的。 Kafka的副本功能不是必须的,你可以配置只有一个副本,这样其实就相当于只有一份数据。 创建副本的单位是...

2016-06-30 21:38:48 7393 3

原创 kafka集群+zookeeper集群常见问题与命令

常见疑问1、生产者无法产生消息 kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries. 将slf4j-nop-1.7.21.jar上传到kafka的lib包下 参考文章:http://...

2016-06-30 21:35:50 3549 0

原创 dubbo架构学习总结

dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 同类型的框架,如:Apache Thrift、Hessian、RMI、Webservice、HSF、JSF dubbo可以和以下框架结合使用: 远程调用 : RMI、hassion、 ...

2016-06-30 21:26:51 760 1

原创 zookeeper工作原理总结

zookeeper,很多人称他为动物园管理员,其实挺贴切,也有些笼统。 我们平时看到的zookeeper一般是以集群出现在大家的视线中,很少用single zookeeper。 整体架构 zookeeper集群中,主要有三个角色:leader、follower、Observer lea...

2016-06-30 14:54:04 823 2

原创 NIO之Buffer channel

java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示: ...

2016-05-31 17:17:52 417 2

原创 Reentrantlock源码解析

Reentrantlock及可重入锁,读源码首先要看下它的outline: 其核心就是公平锁fairSync和非公平送NonFairSync 我们可以看到这两个锁有共同的方法:lock(); fairSync final void lock() { acquire...

2016-05-31 17:09:15 671 2

原创 线程同步详解

线程同步方式有很多种,其中一种便是synchronized,下面先用一个例子来说一下它的两种应用场景:package thread;public class TestSync implements Runnable{ Timer timer=new Timer(); public ...

2016-05-31 16:59:13 1021 1

原创 jvm体系结构

jvm体系结构用一张图来表示就是: JVM的内部体系结构分为三部分类装载器(ClassLoader)子系统 作用: 用来装载.class文件, 分类java自带加载器:根、扩展、系统类加载器 根类记载器:使用c++编写,程序员无法在java代码中获得该类 扩展...

2016-05-27 10:18:02 471 2

原创 java基础之集合类

java集合主要由两个接口派生而出:Collection和Map,也就是说Collection和Map是所有集合类的根接口。Iterator也是集合框架的成员,用来遍历Collection集合Collection接口Set无序集合,且元素不可重复,可以说Set就是Collection,只是行为略有...

2016-04-30 19:56:42 420 1

原创 任务调度之Quatz解析

Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述。应用场景:任务调度在软件,各大网站经常用到,比如:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁...

2016-04-14 17:38:27 866 10

原创 AOP之基于@Aspect 注解与Schema(xml)区别

基于@Aspect 注解的AOP开发主要需要目标类、切面、配置文件。 调用关系如图: 首先引入jar包: 下载jar 目标类(HelloWorld):package com.demo.spring.aop;public class Helloworld { protected St...

2016-04-01 10:22:09 2657 3

原创 AOP之术语及增强类型简介

主要术语JoinPoint(连接点):一个要被拦截的方法 Pointcut(切点):在execution表达式里面声明的一个或多个方法被拦截方法的集合 advice (增强):应用在被拦截方法中的代码或者说函数,如,切面类中被@before(….)等注释了的成员函数 advisor:负责...

2016-03-31 16:16:54 909 1

原创 AOP从理论到实践(一)

背景:AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。简单地说,AOP就是将那些与业务无关,却为业务模块所...

2016-03-31 15:23:51 798 8

原创 mysql读写分离

为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低。 为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主数据库的负载。 而且如果主数据库宕机,可快速将业务系统切换到从数据库上,可避免数据丢失。MySQ...

2016-03-24 14:03:42 909 4

原创 linux下安装mysql

前期准备查看mysql安装路径[root@root mysql-5.6.12]# whereis mysql mysql: /usr/lib64/mysql /usr/local/mysql /usr/share/mysql查看mysql安装包[root@root mysql-5.6.12]# r...

2016-03-22 23:02:53 1100 1

原创 linux下安装tomcat

安装tomcat前,首先需要安装jdk安装说明安装环境:CentOS-6.5 安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/download-70.cgi安装创建tomcat安装目录[root...

2016-03-15 21:35:24 926 7

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