- 博客(184)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 升级mysql-connector-java中timestamp的坑
现象:connector在5.1.23版本后,java.util.Date的数据中小数秒会被拼接到sql中,导致更新、查询中timestamp用在where条件找不到存在的数据。问题复盘:我们项目中之前用到的connector版本是5.1.21,需要升级到5.1.32。昨天升级后发布一台机器发现了报错。报错的方法是完成生成派单(F单insert),然后更新该派单的rootid(F单update)的功
2017-12-01 10:07:59
1930
原创 由index_merge引发的死锁事件
问题:最近出现大量如下报错com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction at sun.reflect.NativeConstructorAccessorImpl.newIn
2017-10-12 17:17:15
1222
原创 es构成
面向文档Elasticsearch 是 面向文档型数据库,这意味着它存储的是整个对象或者 文档,它不但会存储它们,还会为他们建立索引,这样你就可以搜索他们了。你可以在 Elasticsearch 中索引、搜索、排序和过滤这些文档。不需要成行成列的数据。这将会是完全不同的一种面对数据的思考方式,这也是为什么 Elasticsearch 可以执行复杂的全文搜索的原因。jsonElasticsearch使
2017-08-15 16:49:47
973
原创 分布式锁2 Java非常用技术方案探讨之ZooKeeper
前言:由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。之前我已经写了一篇关于分布式锁的文章: 分布式锁1 Java常用技术方案 。上一篇文章中主要写的是在日常项目中,较为常见的几种实现分布式锁的方法。通过这些方法,基本上可以解决我们日常工作中大部分场
2017-07-31 17:35:34
483
原创 分布式锁1 Java常用技术方案
前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的。第一步,自身的业务场景: 在我日常做的项目中,目前涉及了以下这些业务场景: 场景一: 比如分配任务场景。在这个场景中
2017-07-31 17:11:07
430
原创 activiti
初识Activiti 1.1. 工作流与工作流引擎 工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。(我的理解就是:将部分或者全部的工作流程、逻辑让计算机帮你
2017-06-30 23:24:49
621
原创 【自动化学习笔记】环境搭建Selenium2+Eclipse+Java+TestNG_(一)
第一步 安装JDK第二步 下载Eclipse第三步 在Eclipse中安装TestNG第1种方法:直接安装 Help->Install New Softwarename:MyTestNG location:http://beust.com/eclipse 一路next~~第2种方法:离线安装1.下载附件(eclipse-testng离线包.zip),并
2017-06-05 18:08:30
834
1
原创 8个方法让你成为更优秀的程序员
现在是时候认真考虑提高你的编程技能了!这是给自己设定的一个简单的职业生涯提升目标,但是“成为一个高薪程序员”不是一个简单的目标。一方面,“我要变得更优秀”意味着你知道“更优秀”是什么样的。另一方面,太多立志改善的人却不知道怎么做。 下面我要分享8个可操作的,可提高编程技能的行为准则。1.提醒自己得学习学习的第一步是要认识到,你不懂。因为不懂,所以才需要学习。这听上去很明显,但有经验的程序员肯定记得
2017-05-11 09:47:10
649
3
原创 http工作过程
最近做一个和其他公司通信的项目,用到了httpclient,通信过程用http,下面我们说一说http的工作过程网络四层工作过程地址解析如用客户端浏览器请求这个页面:http://localhost.com:8080/index.htm 从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下: 协议名:http 主机名:localhost
2017-02-21 19:37:54
3032
4
原创 ivr项目总结
项目背景最近一周一直在做a公司和b公司的ivr切换工作,那首先可能你要问了“啥是ivr?” 官方:IVR,(Interactive Voice Response)即互动式语音应答,您只须用电话即可进入服务中心,可以根据操作提示收听手机娱乐产品,也可以根据用户输入的内容播放有关的信息。 举例:“欢迎致电中国移动 业务查询请按1 手机充值请按2 业务办理请按3 语音导航请按6 人工服务请按0 ”,
2017-02-21 18:50:27
4089
3
原创 16有些略仓促
2016年一转眼过去了,这一年给我的回忆和收获是不同往年的,虽然说18岁已成年,但感觉对于社会自己依然是个新生儿,这段时间我是个听客和看客,享受习惯了学生年代的氛围与快乐,到了一个新环境还真有些措手不及,毕竟它认为你是个成年人,所以得工作、交往都应该慢慢成熟起来。  public ApiResult login(@RequestParam(value = "user_name") String
2016-10-24 15:31:31
4415
5
原创 sms+quartz多次重发短信
定时短信总是重发,反反复复半个月试了很多种方案:方案一思路检查逻辑,查看是否是因为一个用户报了同一学校不同分校的topic,获取到重复的userid,从而得到了相同的mobile,需要对手机号去重操作if(!strMobile.contains(userTopicInfoVoList.get(mobiles).getMobile())){mobile.append(userTopicInfoVoL
2016-10-09 11:23:10
1181
5
原创 quartz执行两次
在现在的项目中发现Quartz执行了两次,在网上找到下列解决方案,我是用的第一种,灰常感谢这位哥们,转自:http://my.oschina.net/EugeneQiu/blog/265040?p=1 很多人在使用spring的Quartz配置定时任务时,会发现每次定时时间到达后,指定的定时方法同时执行了两次。解决quartz定时任务被触发两次的问题: 其中告诉tomcat,在启动的时候加载we
2016-10-09 10:38:23
5297
5
原创 mybatis-generator-core工具使用
1、下载mybatis-generator-core包: 相关jar包,请在此下载 2、配置generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configurat
2016-09-06 19:31:59
5249
1
原创 git常用功能总结
一个很小的HTML项目,使用。Git来记录和跟踪这个项目。包括以下内容: 创建版本库。 添加与修改文件。 创建新分支。 打标签并整理版本库。 克隆版本库。创建版本库 Creating a Repository 在Git中,版本库(.git目录)是与工作目录树并排放在同一个目录中的。 本例中,要创建一个HTML页面,给这个项目取名为mysite。 首先创建一个同名目
2016-08-31 19:41:21
533
2
原创 MacBook Pro下开发常用快捷键
最近加入新团队,开发环境焕然一新: 笔记本:MacBook Pro 浏览器:safari IDE:idea 一开始最难上手的就是各种快捷键,不过个人感觉就那几个常用的,其他都不常用随时百度就可以了。MacBook Proqq for Mac的截图是通过”control+command+A“ 中英文切换 :control+空格 在finder中查找文件夹:shift+command+gSa
2016-08-31 19:34:42
3576
1
原创 jvm调优策略
jvm常用调优工具有:Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。 VisualVM:JDK自带,功能强大,与JProfiler类似,推荐。 一般情况下调优都会首先看算法,多线程,集群。也就是常说的我们优
2016-08-27 18:55:43
829
原创 说说最近
从4月26号到8月1号,一直在准备工作的事情,从结队学习到准备工作,每个阶段都是形影不离的4人帮,这几个月非常感谢小琼琼,小星星,one king的陪伴,我们一起努力,懈怠的时候相互鼓励,时时刻刻都有小监工,很开心,很充实,每次的交流都非常开心、气氛也很活跃,我们各自表达自己的想法,学习心得,有东西就马上分享,真的是毫无保留。 这个是我们的复习计划: 希望对大家有一些帮助,从右往左,右侧是j
2016-08-11 11:14:55
594
5
原创 kafka之副本机制
Kafka允许topic的分区拥有若干副本,这个数量是可以配置的,你可以为每个topci配置副本的数量。Kafka会自动在每个个副本上备份数据,所以当一个节点down掉时数据依然是可用的。 Kafka的副本功能不是必须的,你可以配置只有一个副本,这样其实就相当于只有一份数据。 创建副本的单位是topic的分区,每个分区都有一个leader和零或多个followers.所有的读写操作都由leade
2016-06-30 21:38:48
8050
1
原创 kafka集群+zookeeper集群常见问题与命令
常见疑问1、生产者无法产生消息 kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries. 将slf4j-nop-1.7.21.jar上传到kafka的lib包下 参考文章:http://stackoverflow.com/questions/23903843/apache-kafka-ex
2016-06-30 21:35:50
3987
原创 dubbo架构学习总结
dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 同类型的框架,如:Apache Thrift、Hessian、RMI、Webservice、HSF、JSF dubbo可以和以下框架结合使用: 远程调用 : RMI、hassion、 webservice、 thrift 通信交互 : HTTP、mina、netty 序列化 : h
2016-06-30 21:26:51
985
1
原创 zookeeper工作原理总结
zookeeper,很多人称他为动物园管理员,其实挺贴切,也有些笼统。 我们平时看到的zookeeper一般是以集群出现在大家的视线中,很少用single zookeeper。整体架构zookeeper集群中,主要有三个角色:leader、follower、Observer leader:接受所有follower的提案请求并统一发起提案的投票负责与所有的follower进行内部数据
2016-06-30 14:54:04
1159
1
原创 NIO之Buffer channel
java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。 正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示: Channel的实现这些是Java NIO中最重要的通道的实现: • FileChannel • D
2016-05-31 17:17:52
652
2
原创 Reentrantlock源码解析
Reentrantlock及可重入锁,读源码首先要看下它的outline: 其核心就是公平锁fairSync和非公平送NonFairSync 我们可以看到这两个锁有共同的方法:lock();fairSync final void lock() { acquire(1); }NonfairSyncfinal void lock() {
2016-05-31 17:09:15
819
2
原创 线程同步详解
线程同步方式有很多种,其中一种便是synchronized,下面先用一个例子来说一下它的两种应用场景:package thread;public class TestSync implements Runnable{ Timer timer=new Timer(); public static void main(String args[]){ TestSync te
2016-05-31 16:59:13
1164
1
原创 jvm体系结构
jvm体系结构用一张图来表示就是: JVM的内部体系结构分为三部分类装载器(ClassLoader)子系统 作用: 用来装载.class文件,分类java自带加载器:根、扩展、系统类加载器 根类记载器:使用c++编写,程序员无法在java代码中获得该类 扩展加载器:使用java代码实现 系统加载器(应用加载器):使用java代码实现 用户自
2016-05-27 10:18:02
589
2
原创 java基础之集合类
java集合主要由两个接口派生而出:Collection和Map,也就是说Collection和Map是所有集合类的根接口。Iterator也是集合框架的成员,用来遍历Collection集合Collection接口Set无序集合,且元素不可重复,可以说Set就是Collection,只是行为略有不同,即元素不能重复HashSet特点 无序 多线程中,两个货以上线程操作一集合,需要程序
2016-04-30 19:56:42
534
1
原创 任务调度之Quatz解析
Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述。应用场景:任务调度在软件,各大网站经常用到,比如:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁定用户解锁任务。 对于一个典型的MIS系统来说,在每月1号凌晨统计上个月各部门的业务数据生成月报表,每
2016-04-14 17:38:27
1223
10
原创 AOP之基于@Aspect 注解与Schema(xml)区别
基于@Aspect 注解的AOP开发主要需要目标类、切面、配置文件。 调用关系如图: 首先引入jar包: 下载jar 目标类(HelloWorld):package com.demo.spring.aop;public class Helloworld { protected String message;//定义String 类型变量 public String getMes
2016-04-01 10:22:09
3181
3
原创 AOP之术语及增强类型简介
主要术语JoinPoint(连接点):一个要被拦截的方法 Pointcut(切点):在execution表达式里面声明的一个或多个方法被拦截方法的集合 advice (增强):应用在被拦截方法中的代码或者说函数,如,切面类中被@before(….)等注释了的成员函数 advisor:负责声明“建议”在什么时候被执行,比如说,在被拦截方法执行前@before(…) ,@afterReturn
2016-03-31 16:16:54
1391
1
原创 AOP从理论到实践(一)
背景:AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。简单地说,AOP就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护
2016-03-31 15:23:51
1000
6
原创 mysql读写分离
为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低。 为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主数据库的负载。 而且如果主数据库宕机,可快速将业务系统切换到从数据库上,可避免数据丢失。MySQL主从复制(读写分离)和集群的区别:我对MySQL也是刚开始研究,不是很专业。我的理解是:主从复制(读写
2016-03-24 14:03:42
1029
2
原创 linux下安装mysql
前期准备查看mysql安装路径[root@root mysql-5.6.12]# whereis mysqlmysql: /usr/lib64/mysql /usr/local/mysql /usr/share/mysql查看mysql安装包[root@root mysql-5.6.12]# rpm -qa|grep mysqlmysql-libs-5.1.73-5.el6_6.x86_64m
2016-03-22 23:02:53
1345
原创 linux下安装tomcat
安装tomcat前,首先需要安装jdk安装说明安装环境:CentOS-6.5 安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/download-70.cgi安装创建tomcat安装目录[root@localhost ~]# mkdir /usr/local/tomcat解压[root@local
2016-03-15 21:35:24
1076
6
《Head First设计模式》高清完整PDF版
2018-02-24
asf与vag同步
2015-12-27
oracle客户端navicat
2015-04-18
用MD5算法均匀散列将文件均匀分布到不同的目录下怎么做?
2016-11-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人