
工作积累
文章平均质量分 57
长河爱
这个作者很懒,什么都没留下…
展开
-
对中文进行MD5加密的注意事项(Java版)
一、关于java语言涉及中文的MD5加密问题3月6日和一个合作商进行http通信的时候用到的MD5加密,在加密过程中,其中有几个参数是中文。由于http协议在传输过程中使用的都是iso_8859_1编码,所以在刚开始的时候我仅仅将接受到的中文参数从iso_8859_1转码成utf-8就可以顺利通过验签(比较加密字符串)。但是昨天对方告知“平台通知参数都用URLEncoder.encode("x原创 2014-03-07 09:53:58 · 9699 阅读 · 0 评论 -
用redis实现分布式锁
一、简介通常我们的程序会部署在多个容器上运行(负载均衡),但是我们程序中有时需要加锁(比如多台机器同时运行定时任务,但是我们其实只希望运行一次)。Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。我们可以根据Redis单线程特性可以用来实现分布式锁。比较常见的错误示例就是使用jedis.setnx()和jedis.expire()组合实现加锁,该锁通过两步完成不具...原创 2018-07-25 22:43:48 · 419 阅读 · 0 评论 -
linux常用命令备忘
1、解压/压缩##解压、压缩.tar.gz文件tar -zxvf ${fileName}.tar.gz -C 解压到的目录 #解压tar -zcvf ${newFileName}.tar.gz directory_to_compress #压缩##解压.gz文件gunzip ${fileName}.gzfile ${fileName}tar xvf ${file...原创 2013-03-20 09:15:31 · 1004 阅读 · 0 评论 -
Netty+Zookeeper实现一个类似Dubbo的RPC框架
一、说明1、RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。2、Nett转载 2016-05-15 19:22:46 · 16367 阅读 · 2 评论 -
Redis集群批量删除key
一、说明通常为了减轻数据库的压力提高性能,我们会使用数据缓存(我使用的redis)。但是有时出于各种目的(比如有个配置需要立即刷新)我们需要将redis中某种类型(通常是有固定的前缀)的数据批量删除。下面就是介绍一个批量删除命令。实现这个命令后回想,发现该命令非常简单,但是实现的过程中也遇到了2个不大不小的坑,故记下此文,望也有此需求的朋友少走一些弯路。二、实现redis_原创 2017-09-13 20:58:15 · 8190 阅读 · 1 评论 -
Spring集成RabbitMQ并实现延迟队列
一、说明在实际业务场景中可能会用到延时消息发送,例如异步回调失败时的重发机制。 RabbitMQ本身不具有延时消息队列的功能,但是可以通过rabbitmq-delayed-message-exchange来实现(也可以通过TTL(Time To Live)、DLX(Dead Letter Exchanges)特性实现,我们主要讲解通过延迟插件来实现的方法)。利用RabbitMQ的这种特性,原创 2017-01-12 16:41:53 · 7503 阅读 · 6 评论 -
解决ubuntu下中文乱码问题
1.按快捷键Ctrl+Alt+T进入命令行终端;2.执行命令: gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB2312','GBK','BIG5','CURRENT','UTF-16']"即可解决。原创 2013-03-02 20:08:19 · 473 阅读 · 0 评论 -
JavaWeb项目优化之MySQL数据库优化
#开启慢查询日志set global log_slow_queries=on; #打开日志set global log_output='Table,File';set global long_query_time=3.000 #超过3秒视为ma原创 2016-04-20 21:34:06 · 1109 阅读 · 0 评论 -
Redis的订阅发布机制
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排原创 2015-12-13 20:22:04 · 2864 阅读 · 0 评论 -
SpringMVC整合Swagger框架
Swagger可视化API,不仅能查看API,还能测试。第一步:项目中引入相关jar包: .... com.mangofactory swagger-springmvc 1.0.2 com.fasterxml.jackson.c原创 2015-12-07 12:03:28 · 6224 阅读 · 0 评论 -
Spring整合Ehcache缓存
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvide。第一步:添加项目相关jar包(下面配置只写明了ehcache其它spring相关的jar请参考其它网上资料添加) net.sf.ehcache ehcache-core 2.6.11 第二步:添加ehcache.xml配置原创 2015-12-07 17:45:13 · 1552 阅读 · 0 评论 -
Dubbo+Zookeeper简介
Dubbo是一个分布式服务框架。Zookeeper也是一个分布式的服务框架,它被作为作为Dubbo服务的注册中心。Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。一、使用背景大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务转载 2016-01-06 16:49:28 · 2418 阅读 · 0 评论 -
使用yuicompressor-maven-plugin插件压缩JS和CSS静态资源
本文介绍通过使用yuicompressor-maven-plugin插件实现js及css代码的自动压缩,加快访问速度,同时方便集成到持续集成环境中。一、更改pom.xml配置文件,添加yuicompressor-maven-plugin插件 ...... net.alchim31.maven yuicompressor-mave原创 2015-12-13 15:35:21 · 5476 阅读 · 5 评论 -
Https请求忽略证书验证最新实现
最近工作中需要和一个第三方公司进行https交互请求,但是对方的证书有一些问题,所以在发送请求的时候需要忽略证书验证。百度之后,发现已经有很多这方面的介绍,不过在使用其代码的时候总会有一些类不推荐使用了。下面是参考网上的常见方面并结合最新的官方API实现的一个最新方法(使用的主要jar包括httpclient-4.5.1.jar和httpcore-4.4.3.jar)。 public stat原创 2015-10-08 11:16:50 · 10136 阅读 · 1 评论 -
利用ThreadLocal保存登录Session信息
ThreadLocal(线程本地变量)通常理解为“采用了空间换时间的设计思想,主要用来实现在多线程环境下的线程安全和保存线程上下文中的变量”。在实际的项目开发中(比如2C APP程序的服务器端程序),通常在APP调用服务端API接口的时候,需要token(登录)验证并且在具体的方法中可能会使用到当前登录账户的更多信息(比如当前登录账户的用户ID)。以前的做法,我们喜欢把(通过token获取)用户登...原创 2018-07-21 16:02:04 · 9400 阅读 · 2 评论