摘要: 一转眼发现博客里积累了不少文章,特别是这两年开始发现写博客也是一种提升自己技术能力的方法。这就和写代码一样,因为会让大脑思考,时间长了就会留下记忆。所以很多的高手都是通过这样的不断的重复训练来的。 也就是为什么一些快速成长的公司更容易产生大牛,因为如果初始的员工本身不够牛,业务很难大发展。底子在那里 阅读全文
posted @ 2017-03-06 11:15 5207 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 我对敏捷开发是源于10多年前看了一本关于迭代开发的书,从而对迭代开发有了一些兴趣。从那时开始有了迭代开发的概念。随着项目经验的增加迭代的重要性也越发觉得明显。随后进入了提倡敏捷开发的公司,被迫式的接触了许多“敏捷开发”,随着项目经历越来越多,慢慢的就开始有了更新的认识和想法。 但是在接触敏捷开发这个 阅读全文
posted @ 2016-12-14 13:50 5207 阅读(17762) 评论(50) 推荐(79) 编辑
摘要: 花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍。那看书有什么用呢?主要还是扩展视野,毕竟书是别人总结出来的东西,看一遍可以发现自己的理解偏差,而且还可以看到一些平时不太关注的内容,当然看也可以是 阅读全文
posted @ 2016-11-15 17:14 5207 阅读(4254) 评论(0) 推荐(4) 编辑
摘要: 背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的。我在项目中也开始接触一些缓存的需求。 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务器来说很好。 为了系统的可用性,需要做灾备,那么就要多准备一套系统环境,这时就会有一些共享资源的问题 阅读全文
posted @ 2016-09-26 11:41 5207 阅读(1477) 评论(0) 推荐(0) 编辑
摘要: Comet技术原理 来自维基百科:Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询和iframe流。 简单的说是一种基于现有Http协议基础上的长轮询技术,之所有会产生这种技术的主要原因是Http协议是无状态的所以客户端和 阅读全文
posted @ 2015-01-27 15:06 5207 阅读(5565) 评论(34) 推荐(25) 编辑
摘要: openfire群聊与QQ群对比 应该是去年的时候开始接触openfire,当时在分析后发现基于xmpp协议的openfire已经具备了群聊的功能。也就没太当回事,觉得加点功能就可以做成类似于QQ群的那种模式。后来仔细了解后才发现并不是这么简单: muc其实聊天室的形式,房间创建后可以加入聊天,用户 阅读全文
posted @ 2019-03-27 11:20 5207 阅读(2393) 评论(0) 推荐(1) 编辑
摘要: 原本系统是通过一个SLB转发到后端ECS上的nginx,由我们自己的Nginx再反向代理了各类服务器,毕竟使用了SLB了就打算去掉nginx。分拆后发现文件服务器的SLB映射好后报了上面的502错误。 "负责阿里云申请的同学给了一个排查的链接" 看了看我们的系统没有超时、内容过大等问题。而且之前也是 阅读全文
posted @ 2019-02-21 09:52 5207 阅读(9058) 评论(0) 推荐(0) 编辑
摘要: Java中使用String作同步锁 在Java中String是一种特殊的类型存在,在jdk中String在创建后是共享常量池的,即使在jdk1.8之后实现有所不同,但是功能还是差不多的。 借助这个特点我们可以使用String来作同步的锁,比如更新用户信息的时候,可以使用用户的名称作为同步锁,这样不同 阅读全文
posted @ 2018-09-05 15:46 5207 阅读(8910) 评论(2) 推荐(1) 编辑
摘要: 苦恼中寻找方法 在开始做即时通信时就知道了消息回执这个概念,目的是解决通讯消息因为各种原因未送达对方而提供的一种保障机制。产生这个问题的原因主要是网络不稳定、服务器或者客户端一些异常导致没有接收到消息。 因为产品中使用的是openfire和spark的组合,所以一直就想在这个范围内找一个现成的方案, 阅读全文
posted @ 2017-05-31 10:40 5207 阅读(1972) 评论(0) 推荐(1) 编辑
摘要: Spin Wheel 实现鼠标在网页上转圈时记录转动圈数的小程序,每转一圈记录一次,同时要是顺时针方向的。 问题分析与实现 这个小程序的难点在于如何知道鼠标完成了一个转圈的动作,而且人工使用鼠标划圈时也不会是一个标准的圆,通常都是很不规律的。这点上我网上找了找发现浏览器的鼠标手势实现了。 而且我找了 阅读全文
posted @ 2017-03-09 11:43 5207 阅读(1194) 评论(2) 推荐(0) 编辑
摘要: 遇到1000万数据表 最近遇到一个问题,就是单表数据过1000万的存储及查询问题。举个例子:1000万的数据存在一个表中,字段4 5个样子,日常 开发中难免要做过滤、排序、分页。如果把这几个放在一起即要过滤又要排序,还要分页那么数据量大一些就会发现特别慢。 10多年前刚入行时就听许多的人讨论分页,说 阅读全文
posted @ 2017-02-09 16:48 5207 阅读(1254) 评论(4) 推荐(2) 编辑
摘要: 1、获取并安装 具体的安装包可以到官方网站下载:http://www.mongodb.org/downloads 我看着教程就下载了linux版本吧,也不是很复杂。包的体积有点大。 安装过程比较简单,将文件丢到服务器里,然后解压运行./mongod即可。可以参考:http://www.runoob. 阅读全文
posted @ 2017-02-08 15:55 5207 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 遇到的问题 1、最初阶段 系统中做了一个监控功能,用于记录所有的请求数据,数据插入频繁,量非常大,比如一天1000万条。考虑到数据插入的效率,就使用内存KV缓存来保存。写入过程是在接收到请求后放入到线程池中,然后线程池异步处理后写入。到这问题基本上没什么事情。 2、新的需求 后面数据保存了,就需要在 阅读全文
posted @ 2017-01-18 15:54 5207 阅读(1919) 评论(0) 推荐(0) 编辑
摘要: 问题定位及排查 上周无意中调试程序在Linux上ps ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事。而且我内心总觉得这可能是tomcat像nginx一样启动多个进程。 后来测试在一次升级后反馈说怎么现在tomcat进程无法shutdown?这让我有点意 阅读全文
posted @ 2016-11-28 13:54 5207 阅读(4979) 评论(0) 推荐(0) 编辑
摘要: 集群发现机制 在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单。而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试一下吧。 在Apache Ignite中有三种自有的发现机制:组播、静态IP、组播+静态IP。下面就这几种来试一试吧。 测试方 阅读全文
posted @ 2016-11-23 17:05 5207 阅读(6150) 评论(0) 推荐(1) 编辑
摘要: 测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像。测试方法很简单主要是下面几点: 不作参数优化 ,默认配置进行测试 在一台linux服务器上部署Ignite服务端,然后自己的笔记本作客户端 按1,10 阅读全文
posted @ 2016-11-22 14:39 5207 阅读(24389) 评论(6) 推荐(4) 编辑
摘要: 上一篇 "《学习AOP之认识一下SpringAOP》" 中大体的了解了代理、动态代理及SpringAop的知识。因为写的篇幅长了点所以还是再写一篇吧。接下来开始深入一点Spring aop的一些实现机制。 上篇中最后有那段代码使用了一个ProxyFactory类来完成代理的工作,从而实现了Aop的A 阅读全文
posted @ 2016-11-11 17:52 5207 阅读(1366) 评论(1) 推荐(4) 编辑
摘要: 心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口。 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是java基础不行。可见这还是挺重要的一个概念。 在看工作中也遇到了相关的问题,在RPC的一种实现机制 阅读全文
posted @ 2016-11-10 18:15 5207 阅读(1334) 评论(1) 推荐(2) 编辑
摘要: Apache Ignite初步认识 今年4月开始倒腾openfire,过程中经历了许多,更学到了许多。特别是在集群方面有了很多的认识,真正开始认识到集群的概念及应用方法。 在openfire中使用的集群解决方案是代理+分布式内存。所谓代理便是通过一个入口转发请求到多个服务实例。而分布式内存就是解决服 阅读全文
posted @ 2016-11-04 14:18 5207 阅读(6591) 评论(2) 推荐(5) 编辑
摘要: 测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is java.lang.OutOfMemoryError: unable to create new n 阅读全文
posted @ 2016-10-24 14:32 5207 阅读(813) 评论(0) 推荐(0) 编辑
摘要: 配置好权限文件 执行命令启动 查看1099端口是否启动: 还有一种方式 使用xshell直接通过jvisualvm来启动 阅读全文
posted @ 2016-10-20 17:37 5207 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 房价高吗? 打开手机新闻客户端就能发现大量的关于房价的讨论,有唱多的,也是唱空的。或许大多数人都会有这个疑问,房价高吗? 最有趣的事情是加了一个同事群,大家每天聊的话题基本离不开房子。突然感觉和去年刚来杭州时同事都在聊股票情景如此相似呢?印象比较深的一个事情是群里有位同事几个月前还说着要将手上的一套 阅读全文
posted @ 2016-10-14 11:31 5207 阅读(271) 评论(0) 推荐(0) 编辑