git commit之后,撤销commit操作


提交代码一般流程所使用的的命令: git add . git commit -m "功能备注" git push 代码就提交到远程代码仓库了。 执行完commit后,想撤回commit, 执行如下命令: git reset --soft HEAD^ 不删除工作空间改动代码,撤销commit,不撤

RabbitMQ利用死信队列实现延时队列


RabbitMQ本身没有直接支持延迟队列的功能,但是可以通过配置死信队列和设置消息或队列的过期时间来模拟出延迟队列的功能。 RabbitMQ安装见博文:RabbitMQ安装及简单使用 1、rabbitmq控制台配置 在rabbitmq 控制台,新建exchange:delay.topic Type:

RabbitMQ安装及简单使用


1、RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件。RabbitMQ服务器是用Erlang语言编写的,Erlang是一种通用的面向并发的编程语言,可想RabbitMQ的并发能力。 RabbitMQ 整体上是一个生产者,消费者模型,主要负责接收,存储和转发

Java程序员常用软件


工欲善其事必先利其器,作为有多年开发经验的Java程序员,应该都会有一些常用的软件来辅助自己的工作,下面分享从业几年来一直在用的一些软件。 1、IDE Eclipse Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环

FreeSWITCH开启录音功能


FreeSwitch录音功能默认是关闭的,需要修改配置开启录音功能。 首先备份freeswitch/conf/dialplan/default.xml 。 然后编辑default.xml ,在 <extension name="Local_Extension"> <condition fi

Windows下FreeSWITCH的安装及使用


1、FreeSWITCH 简介 FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。 FreeSWITCH 支持多种通讯技术标准,包括 SIP, H.323, IAX2

HTTP状态码对照表


1、2xx 成功 200 正常;请求已完成。 201 正常;紧接 POST 命令。 202 正常;已接受用于处理,但处理尚未完成。 203 正常;部分信息 — 返回的信息只是一部分。 204 正常;无响应 — 已接收请求,但不存在要回送的信息。 2、3xx 重定向 301 已移动 — 请求的数据具有

QuartZ Cron表达式

其他 

1、CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。 CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分

MySQL数据库数据的备份和恢复

MySQL 

1、备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。 mysqldump -–a

20个常用正则表达式


正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。 正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码: var reg =

批量删除Redis缓存(模糊匹配key)

Redis 

单引号是直接把单引号内的内容当做字符串, redis-cli DEL 'redis-cli KEYS "user:*"' 就是删除redis中名叫 redis-cli KEYS “user:*” 的key,而反向引号是先执行反向引号中的内容取结果,就是说: redis-cli DEL `redis-

Linux下MySQL的root密码忘记的解决方法

MySQL 

1.修改MySQL的登录设置 vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tabl

Java常用设计模式之策略模式


1、什么是策略模式? 策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户端。 2、策略模式的结构

分布式系统之CAP理论和BASE理论

其他 

1、CAP理论 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。 CAP理论为:一个分布式系统最多只能同

分布式系统唯一ID生成方案汇总

其他 

系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。 一、数据库自增长序列或字段 最常见的方式。利用数据库,全数据库唯一。 优点: 简单

使用Navicat连接阿里云ECS服务器上的MySQL数据库

MySQL 

今天用navicat连接阿里云服务器(Linux)的数据库时,老是连接不上,并且报10060错误,要通过以下步骤解决: 1.先进入linux连接数据库并输入密码 mysql -uroot -p 2.输入以下命令进行授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

Q&A 

最近线下调试银联支付时报错: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.