自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

点滴成长

在程序开发中寻找一份属于自己的快乐

  • 博客(35)
  • 资源 (7)
  • 收藏
  • 关注

原创 用redis实现分布式锁

一、简介通常我们的程序会部署在多个容器上运行(负载均衡),但是我们程序中有时需要加锁(比如多台机器同时运行定时任务,但是我们其实只希望运行一次)。Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。我们可以根据Redis单线程特性可以用来实现分布式锁。比较常见的错误示例就是使用jedis.setnx()和jedis.expire()组合实现加锁,该锁通过两步完成不具...

2018-07-25 22:43:48 397

原创 利用ThreadLocal保存登录Session信息

ThreadLocal(线程本地变量)通常理解为“采用了空间换时间的设计思想,主要用来实现在多线程环境下的线程安全和保存线程上下文中的变量”。在实际的项目开发中(比如2C APP程序的服务器端程序),通常在APP调用服务端API接口的时候,需要token(登录)验证并且在具体的方法中可能会使用到当前登录账户的更多信息(比如当前登录账户的用户ID)。以前的做法,我们喜欢把(通过token获取)用户登...

2018-07-21 16:02:04 9329 2

原创 Redis集群批量删除key

一、说明通常为了减轻数据库的压力提高性能,我们会使用数据缓存(我使用的redis)。但是有时出于各种目的(比如有个配置需要立即刷新)我们需要将redis中某种类型(通常是有固定的前缀)的数据批量删除。下面就是介绍一个批量删除命令。实现这个命令后回想,发现该命令非常简单,但是实现的过程中也遇到了2个不大不小的坑,故记下此文,望也有此需求的朋友少走一些弯路。二、实现redis_

2017-09-13 20:58:15 8146 1

原创 NATAPP-一个提供可供外网环境访问内网环境URL的通道工具

一、介绍NATAPP基于ngrok的反向代理软件,通过在公网和本地运行的Web服务器之间建立一个安全的通道。NATAPP可捕获和分析所有通道上的流量,便于后期分析和重放。简单点说就是提供给你一个外网可访问的地址,比如在本机环境调试第三方回调信息等。十分地方便实用。二、安装过程1、首先登录NATAPP官网(参考文献1),实名认证后购买隧道(当然我只是用的免费版)。如图:

2017-09-12 15:01:53 2868

原创 抓包工具Fiddler使用(主要用于监听APP对外访问请求)

一、介绍本人最近在做android开发,有时会遇到线上APP版本显示的数据“不符合预期”,查找问题时,特别需要查看一下请求参数是否有问题,但是直接通过线上日志又不是很方便,如果此时能有个抓包工具查看一下就好了。下面就介绍一款比较好用的抓包工具Fiddler。二、安装设置步骤1、下载软件Fiddler下载链接地址为:https://www.telerik.com/downlo

2017-06-08 19:03:04 6210

原创 Spring集成RabbitMQ并实现延迟队列

一、说明在实际业务场景中可能会用到延时消息发送,例如异步回调失败时的重发机制。 RabbitMQ本身不具有延时消息队列的功能,但是可以通过rabbitmq-delayed-message-exchange来实现(也可以通过TTL(Time To Live)、DLX(Dead Letter Exchanges)特性实现,我们主要讲解通过延迟插件来实现的方法)。利用RabbitMQ的这种特性,

2017-01-12 16:41:53 7447 6

原创 GitLab集成LDAP登录并解决OpenLDAP的memberOf问题

LDAP是Light weight Directory Access Protocol(轻量级目录访问协议)的缩写,其前身是更为古老的DAP协议。该文章的亮点(也是写这篇文章的主要目的)是解决了OpenLDAP(我使用的版本号为2.4.*)加载memberof模块,并通过groupOfNames和memberOf实现分组认证的功能。

2016-09-14 17:22:47 24201 1

原创 RabbitMQ安装与使用

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

2016-06-12 17:15:09 3557 4

转载 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 16334 2

原创 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 1076

原创 安装Maven并搭建Maven私有仓库

一、说明Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。我们在进行Java代码开发的时候,Eclipse+Maven+Jetty是一个十分经典的组合,通过它们能够十分方便的进行项目组织和运行调试。二、Maven安装1、访问Maven的官方网站http://www-eu.apache.org/dist/maven/

2016-04-19 18:50:35 12198 1

原创 创建虚拟机并搭建GitLab代码管理环境

一、说明本文章的主要目的是搭建一个GitLab代码管理环境参考文档:

2016-04-13 10:53:10 4873

转载 Dubbo+Zookeeper简介

Dubbo是一个分布式服务框架。Zookeeper也是一个分布式的服务框架,它被作为作为Dubbo服务的注册中心。Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。一、使用背景大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务

2016-01-06 16:49:28 2389

原创 Redis的订阅发布机制

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排

2015-12-13 20:22:04 2838

原创 使用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 5431 5

原创 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 1528

原创 SpringMVC整合Swagger框架

Swagger可视化API,不仅能查看API,还能测试。第一步:项目中引入相关jar包: .... com.mangofactory swagger-springmvc 1.0.2 com.fasterxml.jackson.c

2015-12-07 12:03:28 6196

原创 Https请求忽略证书验证最新实现

最近工作中需要和一个第三方公司进行https交互请求,但是对方的证书有一些问题,所以在发送请求的时候需要忽略证书验证。百度之后,发现已经有很多这方面的介绍,不过在使用其代码的时候总会有一些类不推荐使用了。下面是参考网上的常见方面并结合最新的官方API实现的一个最新方法(使用的主要jar包括httpclient-4.5.1.jar和httpcore-4.4.3.jar)。 public stat

2015-10-08 11:16:50 10028 1

转载 tomcat优化方案探析

tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验。1. 服务器资源    服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。    (1) 对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度。    (2) 内存在大量数据处理的情况下

2015-09-16 09:13:20 630

原创 腾讯应用宝(道具直购模式)支付经验总结

腾讯应用宝

2015-09-11 16:49:18 5805 2

原创 微信公众号对接JSAPI模式的微信支付简介与总结

步骤一:初始化微信支付框架(一)、官方文档说明:(二)、注意事项:1.附录1红框中所说的access_token不是通过code获取的用户access_token,具体获取方式请点击对应链接;2.jsapi_ticket必须缓存,不然客户端没访问一次就刷新一次的话,后一次返回之后,前一次使用的jsapi_ticket就失效了;3.初始化方法中使用到的timest

2015-07-14 15:02:26 3986

原创 支付宝无线快捷支付对接注意事项

下面默认的是采用RSA加密注意一:

2014-05-09 18:19:24 2142

原创 对中文进行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 9634

原创 appstore苹果商店支付对接总结

公司最近把对接的appstore的任务(包括游戏登陆需要对接新浪微博登录和腾讯登录)分配给我。由于这三种对接(新浪微博登录、腾讯登录和appstore的支付),都是只有对应的API文档,没有对方的技术人员支持(大家懂的哈),造成在开发的过程的过程中遇到了各种先前想象不到的问题。幸运的是,功夫不负有心人,最终自己在自己的努力和同事的帮助下,终于完成了任务。现在把本人开发过程中的遇到的挫折写下来,作为

2013-09-12 20:42:46 16726

原创 cocos2d-x插件开发常见异常汇总

问题1:执行cocos2d目录下的create-android-project.bat命令生成android项目失败?解决:根据提示,可以知道是你输入的项目目录和项目名称错误。这个错误初学者容易遇到,请按照提示的格式输入你的命名。问题2:publish插件时,报 “Compile failed; see the compiler error output for details”(

2013-08-06 12:20:51 1050

转载 eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法 我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动生成R.java文件了,导入其他工程也一样不行。前几天安装了NDK开发环境,不知道是这个影响到的还是ADT升级了没有升级导致的。 这个问题网上搜索了下确定不是ecl

2013-07-26 20:00:26 1152

转载 ubuntu 安装nginx

nginx是一个http和反向代理服务器,在高并发环境下性能要比apache好,所以我们也在ubuntu下安装。   下载nginx-0.8.54.tar.gz,解压并编译安装 命令说明: tar(z-用 gzip 对存档压缩或解压;x-从存档展开文件;v-详细显示处理的文件;f-指定存档或设备) Java代码  tar –zxvf nginx-0.8.54.tar.gz

2013-07-08 19:58:48 806

转载 cocos2d-x+Plugin-X插件集成指南(安卓版)

Tags:cocos2d-x,plugin-x Posted in cocos2d-x2 条留言最近cocos2d-x官网放出了plugin-x的官方指南,不过官网为了国际化,都是用英文写的,既然cocos2d-x的主要使用群体是中国人,而且是中国人主导的开发项目,为什么不考虑实际情况同步放出中文的指南呢?不得不说他们全英文的做法一下子就让B格提升了。下面开始正文由于我的目

2013-07-02 21:17:33 841

转载 NDK与Cygwin配置

1、Android 开发环境搭建Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。下载 JDK下载 Eclipse下载 Android SDK启动Eclipse , 安装 ADT2、下载安装Android NDK我使用的NDK版本为r5Google 出的最新NDK 为 r6 下载

2013-07-02 21:10:34 468

原创 ubuntu服务器安装短信猫

到http://smslib.org/download/下载安装文件1.将comm.jar和smslib-3.5.1.jar放到web项目的WEB-INF下的lib目录;2、将javax.comm.properties放到JDK安装的jre的lib目录中,例如E:\work\software\javahome\jre\lib;3、将libLinuxSerialParallel_g.so

2013-04-28 22:24:44 1279

原创 android开发环境搭建与SVN使用经验总结

1.更改客户端SVN的账号将C:\Users\Heguanjun\AppData\Roaming\Subversion\auth文件夹中的所有文件删除,就会提示你重新输入账号2.SVNManager授权授权时必须先授根目录的权限,客户端才可以看到这个目录下的列表,然后再授这个目录下某些项目的使用权限。不然客户端会经常报授权失败。

2013-03-20 09:15:51 908

原创 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 982

转载 Nginx配置文件详解(包含获取真实来源IP的方法)

转载自:http://weiliang.156.blog.163.com/blog/static/4447442520123230434901/Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该

2013-03-02 20:18:19 2674

原创 解决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 448

原创 Ubuntu服务器端安装SVN和SVNManager

安装步骤:1.安装Apache2  sudo apt-get install apache2     如果第一次没有安装成功,用 sudo apt-get update 进行更新,会提示你继续安装。     安装好后:在apache2.conf 最后添加上 ServerName  192.168.0.111     启动apache:// Apache

2013-03-02 19:55:33 890

自动重启tomcat批处理命令

该下载为一个自动运维命令。主要包括以下几个功能:1,通过scp命令从远程主机下载war包;2,按照时间备份更新包; 3,tomcat线程重启。

2016-01-21

Java技术(JNI)实践

很小的一个JNI调用实例,并且介绍一些JNI调用的一些常见问题的解决办法。

2015-06-11

Java购物网站添加支付宝&易宝&财付通网页支付功能

为购物网站添加支付宝、易宝网银、财付通网页支付功能。内含3个渠道最新的API文档和本人的对接源代码,你只需要修改基本的账号信息和密钥即可测试,简单易懂,保证看了就会。

2014-12-02

AES加密支持使用192、256位密匙

实现对字符串(String)的AES加密与解密,支持128、192、256位密匙。里面包含详细的操作步骤、java源代码和需要用到的jar包。

2014-11-19

SSH电子商城(学习版)

这是本人基于标准SSH+mySQL模式开发的一个电子商城网站。本系统主要供学习之用(里面一个功能用多种常用方法实现和写了详细的注解)。本系统只有前台部分,后台对数据库表的维护就交个学习者练习巩固知识进行开发。

2012-11-18

图书销售网站

适合初学者掌握Javaweb开发的基本知识,可以学习到css+div布局、jquery标签和jdbc操作数据库。

2012-08-02

jquery实现的购物网站

这是一个用jquery实现的购物网站。本网站很小很简单,适合初学者学习css+div布局、jquery和JSTL标签。

2012-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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