- 博客(41)
- 资源 (20)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 docker之路--docker服务非正常结束的解决
自从采用分布式架构之后,公司所有开发的服务全部部署到docker容器中,问题开始出始了。每台服务器上部署了60+ docker,都运行着tomcat,每天晚上11点钟到凌晨1点钟之间,服务器上的docker守护进程就是挂掉,随之所有的容器也会停掉,所有的应用都无法访问,每天一至公司第一件事就是重启docker服务。可这种事情一而再,再而三的出现了,开发人员不断地抱怨,我也很郁闷,总不能像当
2016-04-24 22:39:58
2931
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 CentOS6.5 Docker操作记录
Docker最核心的三大组件为:镜像,容器和仓库。在说镜像之前,我们不得不提linux操作系统的两个概念:linux内核和发行版本。系统内核指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件,主要包括内存管理,进程管理,磁盘管理等子系统,从严格意义上来说并不是一个完整的操作系统。而发行版本除了内核之外还包括外围实用程序软件,提供一些系统安装界面和系统配置,管理工具,这里将
2016-02-11 11:21:22
528
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 CentOS 6.5 Docker安装
安装dockerLinux开启安装epel yum 源根据docker_pritise的强烈推荐,使用epel的方式安装dockersudo yum installhttp://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm查看epel安装情况 [qq@localhost etc]$ yum repolis
2016-02-11 10:18:17
1295
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 CentOS配置Nginx SSL
在实际应用中,通常是向知名的的CA提交证书申请来申请证书,但某些情况下出于成本的考虑,也可以自己制作证书。这里,我们先创建一个私有的CA根证书,模拟官方的CA,对用户提交的SSL证书进行签名,因此,生成证书的过程分为两部:1)创建CA根证书,2)创建nginx 的SSL证书关于CA证书(来自百度百科): CA 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而
2016-01-30 08:20:56
2115
1
原创 java io小结
java io,相信大家都用得不少,文件上传,配置文件读取,socket通信等等,几乎所有的应用程序中都能见到它的身影;你真的了解它吗,翻了翻java io的源码,决定稍微梳理一下。对io的分类,有不同的方法,字节流&字符流, 输入流&输出流。下面从代码的角度整理了一下:stream、reader&writer.FilterInputStream内部引用了一个I
2017-05-16 09:27:11
336
原创 java 远程方法调用示例
RMI在java中是一个古老的程序协作方式,允许一个JVM中运行的程序去调用另外一个JVM中运行的程序,通常是跨机器的方法调用。实现这种技术需要使用到代理,确切的说是远程代理,在旧版的java中,在远程服务方需要生成skeleton对象,在调用方需要生成stub对象,调用的过程是调用方请求stub对象,stub对象与远程的skeleton通信,skeleton对象请求服务,将结果通过网络传
2017-05-12 09:21:21
1102
原创 JAVA 集合小结
提到集合,相信大家都不默生,几乎所有的应用程序都会用到,自己也尝试阅读过其源码,觉得很有必要进行一些汇总总结。以下内容(基于jdk1.8.0)算是自己对这一块的总结,也希望能给大家带来一些帮助。由于个人水平有限,难免会有理解不到位的地方,还是大家及时指出。基本集合关系图List集合重点学习的是ArrayList和LinkedList,ArrayList底层是数组,Linke
2017-05-09 09:39:34
348
原创 格式化json
我们知道,在js中JSON.parse(xxx)可以将符合json规则的字符串xxx转换成js对象,反过来,可以通过JSON.stringify(xxx)将json对象转换成js字符串。可能有这样的需求,将json对象在web界面上以友好的方式展现出来,说得直白一点,就是带缩进的格式展示,而这个需求是JSON.parse()无法实现的,我们需要自己实现这个功能。思路很简单:遍历json
2017-05-04 18:45:49
1060
原创 Unison(rpm方式)安装及应用--nginx高可用
简介在项目中,使用nginx代理后端的多台tomcat服务器,为了保证nginx的高可用,必须有一台备用nginx服务器(也可以是双活),其配置和主nginx服务器保持一致。而实际运用过程中,nginx的配置文件可能会动态地发生变化,为了保证两台服务器的配置文件一样,可以有多种方式。1. 使用NFS,两台服务器都挂载NFS,指向同一个实际的存储位置,所有的配置文件都写入到NFS中,这样
2016-06-26 17:28:34
674
原创 定制tomcat访问日志
简介熟悉tomcat的同学应该都很清楚,tomcat日志分为运行日志和访问日志。运行日志,默认生成在tomcat安装目录下的logs目录下的catalina.out文件。访问日志,是根据tomcat安装目录下conf目录中的server.xml中的节点配置的。配置说明对访问日志,tomcat官方给出了详细的配置说明。下面以tomcat7为例说明。官方的在线文档: h
2016-06-11 16:06:19
941
原创 Dockerfile实例,构建openresty+lua+filebeat镜像
Dockerfile入门Dockerfile由一条条命令语句构建,以#开头的语句行为注释,其基本结构可分为四个部分。1. 基础镜像:由FROM语句组成,eg: `FROM centos`2. 维护者信息:由MAINTAINER语句组成, eg: `MAINTAINER peter_xizi 591838169@qq.com`3. 镜像操作指令:由一系列指令组成,下面列出最基本的指令
2016-06-11 12:31:47
2781
原创 JS原型及闭包应用--通用的删除操作需要密码确认
前言 在学习和使用JS的过程中,或多或少的接触过或者听到过JS的原型和闭包,JS的各种框架和库中强大的功能都是借助这两大神器来实现的。 打开jquery,到处可以看到prototype关键字(原型) 以及闭包的应用JS原型 在面向对象中,类封装了属性和方法,JS中是使用function来实现类/对象的功能。 使用function,我们可以实现
2016-05-02 10:47:09
669
原创 Java 利用iText生成pdf并导出
前言 项目中需要导出pdf文档,以前没有做过这块儿的功能,于是上网搜索了一下,目前有好几个构件支持该项功能,结合项目要求,很快就确定使用iText来实现。 那么接下来怎么着手呢,我第一反应是上官网查看官方提供的api和demo,通常官方的例子都很简炼并且不会有复杂的上下文,很容易上手。 官网http://developers.itextpdf.com/examples 上有很多实
2016-05-01 20:33:34
2813
1
原创 CentOS6.5 安装 Openresty
学习开源软件的第一步就是上官网,看安装guide和demo(examples)。对于openresty来说一样,官网给出了详细的安装说明:http://openresty.org/en/installation.html那就来动手TIY一下。1. 安装依赖 openresty依赖于perl 5.6.1+,libreadline,libpcre,libsslCento
2016-04-09 14:23:23
3391
原创 自动化测试,javasript遍历JSON对象及XML对象
在web开发进行自动化测试时,通常需要定义测试的预期结果,在js执行ajax请求后需要对比返回结果和预期结果来判读测试是否通过。测试的结果通常是json格式或xml格式,因此需要对json和xml进行解析。解析JSON--JSON遍历 //对比JSON格式的数据是否匹配 function compareJSONResult(expectResult, returnResult
2016-03-20 20:30:38
630
1
原创 自动化测试,HttpClient调用Rest服务
前言在项目中需要开发一个新功能:对Rest服务进行自动化测试。由于服务的接口定义和测试用例(包括参数名词和值以及返回值)是可以获取的,在测试时可以根据接口定义和测试用例信息构建ajax请求,发送到web服务器(可以是代理服务器)来完成服务的测试。Rest服务接口参数可以是query(跟在浏览器url地址?后面的),path(跟在浏览器地址/后面的),cookie,header,form
2016-03-20 19:27:05
758
原创 CentOS6.5 Nginx安装
前提: 由于资源有限,本文中提到的CentOS是安装在vmware中。1. 将当前用户paas添加到/etc/sudoers文件中(这是为了后续操作中如果需要root权限时可能直接在命令前加sudo)a) 使用su切换到root用户b) cd /etc/ --> chmod +w sudoers -->注释Defaults requiretty -->在root ALL=(
2016-01-29 21:58:58
596
原创 Java memcache Client 数据操作源码剖析
在学习使用Java_Memcache操作memcache后,饶有兴趣的研究了一下Java_Memcache的源码。Java_Memcache在类AscIIClient中封装了数据操作方法set/add/delete/append/get等。存储数据set由Memcache命令详解,我们知道memcache原始的set命令格式为set \r\n \r\n而
2015-06-03 21:37:07
946
转载 Memcache命令详解
序 Memcached的客户端和服务器之间通过TCP连接进行通信。(UDP方式也是可以的,详细信息见本文最后的"UDP protocol"解析)。运行中的memcached服务器监听在一些(可配置的)端口上;客户端通过连接到该端口,可以向服务器发送命令,读取应答,最后在关闭连接。 Memcached服务器不必发送任何命令来结束会话,这个工作仅仅由客户端来执行,当它不再需
2015-05-23 17:26:00
1872
原创 Java Socket编程实现聊天小案例
一.用户需求: 1.实现使用用户名登陆(不能重复) 2.登陆后能获取所有在线用户 3.可以给所用用户群发信息 4.也可以给某个用户单独发送信息 5.用户退出时,一起登陆用户能立刻感知 二.初步分析: 1.需要在服务器端记录当前登陆的用户,便于用户登陆时用户名查重及消息群发 2.用户登陆成功后需要获取所有在线用户
2015-05-17 22:30:15
894
原创 Memcache Hash算法揭秘
序 在大型互联网应用架构中,通常由多台Memcache缓存服务器来构建Memcache集群,也叫做分布式Memcache。数据在写入缓存和从缓存中读取时,都会采用某中Hash算法,将数据Hash到某台具体的Memcache上,为了使应用在线的动态增加和移除Memcache服务器而不影响或很少影响其他已部署的Memcache服务器(也就是其他Memcache服务器中缓存的数据还能正
2015-05-17 21:24:40
1037
原创 Memcache分布式实现原理---Java_Memcache 源码分析
Memcache本身只是一个内存缓存服务器,用来缓存数据以缓解数据库压力,但是我们经常会听到分布工Memcache,那么它是如何实现的呢?在使用Java操作Memcache时,我们通常会借助Java_Memcache来帮助我们完成各项操作, get/set/delete等。下面我们阅读一下Java_Memcache的源码来窥探一二。(注:网上很难找到Java_Memcache最新的
2015-05-12 21:54:03
1261
原创 随机地生成n个不超过n且不重复的正整数
许久以前,参加校园招聘,在面试时被问到“如何随机地生成n个不超过n且不重复的正整数”。你会怎么做呢?n的值具体是多少并不重要,我们关心的重点是如何在n确定时设计一种法案来解决随机产生不重复的数的问题。下面就以n =100为例来说明几种实现方式,将产生的随机数存放于数组中。方案1. 话说当时见识少,功夫不到家,认为每次随机生成数字,再判断该数字是否已经重复,如果不重复则保留
2015-05-10 15:36:22
1702
原创 Java Memory Leak Test
1.我们知道对象创建时,给对象开辟的内存在Heap上,如果对象足够多,或者对象足够大,导致Heap的内存不够分配时就会导致堆溢出。2.我们知道值类型的变量存储在栈空间,如果值类型变量足够多也会导致栈溢出,同时我们还知道函数的递归调用也会进行压栈操作。3.下面我们写个小程序来测试一下如果使用堆和栈溢出。import java.util.ArrayList;import java
2015-05-10 15:02:56
617
原创 设置网站默认页面
在网站开发过程中,我们通常会有这样的需求:网站访客输入域名后,在浏览器中显示默认的页面,无需在后面输入默认页面的名称,虽然输入默认页面的名称也能正确访问,但是不符合人们的习惯。(你通过htt://www.hao123.com能访问hao123的导航主页面,同样你也可以通过htt://www.hao123.com/index.html来访问hao123的导航主页面,2013-08-15测试通
2015-05-09 10:08:21
2083
原创 Struts2入门篇-- 用户登录
众所周知,Struts2是一款优秀的Java MVC框架,由控制器决定展现那个视图给用户。从开发者角度来认识一个框架,第一步是能快速搭建一个基于该框架的应用或demo,在会使用的基础上进一步了解其实现原理更有助于运用。关于Struts2实现原理,以后会详细阐述,我们先来做一个小小实验,也就是在Web 应用中最常见的用户登录。1. 配置Web.xml在Web.xml中加上如下内容
2015-05-09 09:26:26
824
2
原创 观察者模式
设计模式是对软件编程领域内方法和技巧的总结,能有效的提高代码的可阅读性,复用性,可扩展性和可维护性,是软件工程的基石。设计模式也是计算机专业应届生求职过程中最常见一个类题,单例,观察者模式又是最常见的题目。因此熟练掌握和使用设计模式是每一个软件开发人员必备的技能。引入:题目:请用面向对象的编程方式实现以下功能:猫叫了,老鼠被吓跑了,主人被吵醒。(PS:当年我面试时遇到该题不下3次)
2015-05-08 21:47:21
592
原创 单例模式
在面向对象程序设计中,对所有事物、事件的描述都是通过类, 或者更确切的说是由类的实例—对象来体现的。一个基于面向对象的程序,小到helloword控制台应用程序,大到复杂的金融信息管理系统,都离不开对象的创建和对象之间的交互。对象的创建也是一件值得深入思考的问题。在经典的设计模式中,与对象创建相关的就有工厂方法,抽象工厂,单例和原型模式,每一个模式都有自己特别的应用场景,熟练掌握和应用
2015-05-08 21:12:56
532
原创 利用Filter禁止直接访问JSP
一.应用StrutsStruts作为一种Web MVC框架,将视图展示和处理逻辑分离,降低耦合性,允许更改界面视图而不用重新编译逻辑部分,同样由于业务需求的改变需要调整逻辑结构而不用修改视图部分。由于灵活的配置,简单可操作性,在业界得到广泛的应用。用户通过配置Struts.xml文件,轻易建立视图和模型的映射关系。Exmaple: /Student
2015-05-07 21:58:52
1155
原创 Struts2容器详解---IoC源码分析
Struts2作为一个Web MVC框架,自身提供了一个IoC容器,实现对对象的生命周期管理,核心功能就是将对象注入到容器以及从容器中获取对象。通过对struts2容器的分析,学习和探讨一下IoC的思想。Container接口定义package com.opensymphony.xwork2.inject;public interface Container extends
2015-05-07 20:53:13
745
原创 Struts2.3.14路由分析
1. StrutsPrepareAndExecuteFilter DoFilter//任何请求都会先执行Filter.doFilter方法protected PrepareOperations prepare;protected ExecuteOperations execute;protected List excludedPatterns = null;public void
2015-05-06 22:24:32
1371
原创 Struts2.3.14分析-初始化2--Struts.xml解析
承接上一篇,在Filter初始化时,在DefautlConfiguration类中调用containerProvider的方法,完成对各个ContainerProvider的解析,我们着重分析对Struts.xml文件的读取和解析。 DefaultConfiguration类public synchronized List reloadContainer(List providers)
2015-05-06 21:14:23
450
原创 博客申明
本博客内容为个人学习笔记和总结,同时也会保留他人的优秀文章,供大家共同学习进步。 凡是标记为原创的文章都是本人一点一滴的积累,如果对您有所帮助,请友情支持,如果言辞或观点欠妥、有误,请帮忙指正,如果转载,请标明出处,表示对作者的尊重。 如果文章涉及侵犯到您的权利
2015-05-04 21:33:18
360
原创 Struts2.3.14分析-初始化1
Web.xml在任何基于Struts人Web程序中,第一项需要配置的就是Web.xml,将所有的请求交给StrutsPrepareAndExecuteFilter过滤器进行过滤。 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts
2015-05-04 21:10:20
415
原创 Ant入门案例-打包Web程序并发布
Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。默认情况下,它的buildfile(XML文件)名为build.xml。--来自百科 一、准备环境首先确保机器上已经正确安装和配置Ant,一句话概括为解压Ant安装包,将ant的lib目录完整路径添加到环境变量classpath,将a
2015-05-04 20:57:31
773
原创 12306随想--防止恶意重复提交数据
前几天在博客园看到一篇文章,讲述了某位程序猿收到银行卡诈骗短信,要求登录所谓的银行网站查询银行卡状态。很显然,骗子是想非法记录用户的银行卡卡号和密码来从事诈骗活动。或许大多数人只是一笑而过,当作垃圾短信给删除了。程序猿大部分都是闲得无聊,没事瞎折腾,这位园友自己写了个小程序,循环向该网站提交数据,结果大家都懂的,把别人网站搞崩了。 其实鄙人也曾有过这样的想法,但没有实施,在此思过,
2015-05-03 22:04:26
711
原创 Mysql无法启动,错误1067
交待一下故事背景:某天闲来无事准备写个小程序打发一下时间,由于需要连接数据库,刚好本机装了MySQL,就想打开MySQL建立对应的数据库和表,结果通过开始à程序 à MySQL àMySQL 5.5 Command Line Client启动MySQL 黑屏客户端,在输入了密码后,黑屏窗口一闪而过,再次运行输入密码,窗口还是一闪就消失了,隐约在黑屏上看见”ERROR …”字样。第一
2015-05-03 09:21:13
471
原创 Eclipse项目移植配置
Eclipse server配置Eclipse ---Window ---Preferences --- Server --- Runtime Environment --- Add或Edit设置Server 的Tomcat为本机安装的Tomcat目录,设置JRE为安装好的JDK(已经配置在classpath和path中的JDK)Eclipse设置J
2015-05-03 08:58:26
644
原创 Eclipse设置Java反编译
序言在学习和编程中,我们经常使用到第三方框架或工具集(以下都简称为框架),需要引入其JAR包,大部分情况下能熟练使用就足够了。但是,对于一些经典的框架,我们必须深入了解一下其运行机制及其实现过程。学习其思想和实现机制的最好方式就是阅读源码。大部分的开源项目,其在提供用户JAR包时,与此同时也会发布对应的码源和使用文档,对于这类项目,学习源码不是事。对于只提供JAR包的框架,我们
2015-05-02 22:55:15
1590
1
原创 Window环境下Memcache 实战
Memcache理论关于Memcache的理论知识,网上的资料铺天盖地,这里就不重复罗列,作为一名CodeMonkey,学习任何新知识的最好方式就是DIY.参考资源:http://kb.cnblogs.com/page/42731/http://kb.cnblogs.com/page/42732/http://kb.cnblogs.com/page/42733/ht
2015-05-02 13:27:21
582
SpringCloudHystrixTurbin
2017-05-04
java rmi示例
2017-04-25
Spring Cloud Consul服务提供方集成Jersy和Mybatis完成示例
2017-04-16
Spring Cloud Consul客户端(Feign&Hystrix)
2017-03-29
Spring Cloud Consul Client
2017-03-24
C++Builder flash加密,内存共享实现读写控制,拖放文件实现打开
2010-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人