应对Memcached缓存失效,导致高并发查询DB的几种思路
最近看到nginx的合并回源,这个和下面的思路有点像。不过nginx的思路还是在控制缓存失效时的并发请求,而不是当缓存快要失效时,及时地更新缓存。nginx合并回源,参考:http://blog.csdn.net/brainkick/article/details/8570698update:...
View ArticleFiddler的灵活使用
0x00 前言Fiddler是一款强大的web调试工具,其基本用法网上已经有很详细的教程,这里我就不再多说了。下面只是经验之谈,利用Fiddler各种功能达到自动检测漏洞的目的。0x01...
View ArticleApache Flink:特性、概念、组件栈、架构及原理分析
Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink...
View ArticleServlet – 会话跟踪
会话跟踪HTTP本身是 “无状态”协议,它不保存连接交互信息,一次响应完成之后即连接断开,下一次请求需要重新建立连接,服务器不记录上次连接的内容.因此如果判断两次连接是否是同一用户, 就需要使用 会话跟踪技术来解决.常见的会话跟踪技术有如下几种:URL重写: 在URL结尾附加 会话ID标识,服务器通过会话ID识别不同用户.隐藏表单域: 将会话ID埋入...
View Articlejava在CPU中的一些个破事
其实写Java的人貌似和CPU没啥关系,最多最多和我们在前面提及到的如何将CPU跑满、如何设置线程数有点关系,但是那个算法只是一个参考,很多场景不同需要采取实际的手段来解决才可以;而且将CPU跑满后我们还会考虑如何让CPU不是那么满,呵呵,人类,就是这么XX,呵呵,好了,本文要说的是其他的一些东西,也许你在java的写代码时几乎不用关注CPU,因为满足业务才是第一重要的事情,如果你要做到框架级别,为...
View Article浅谈移动应用的跨平台开发工具(Xamarin和React Native)
谈移动应用的跨平台开发不能不提HTML5,PhoneGap和Sencha等平台一直致力于使用HTML5技术来开发跨平台的移动应用,现在看来这个方向基本算是失败的,基于HTML5的移动应用在用户体验上与原生应用仍然存在着明显的差距。与上述HTML5平台不同,Xamarin和React Native通过各自的方式来实现跨平台。Xamarin基于Mono框架将C#代码编译为原生平台代码,React...
View ArticleAndroid Java层的anti-hooking技巧
原文:http://d3adend.org/blog/?p=5890x00 前言一个最近关于检测native hook框架的方法让我开始思考一个Android应用如何在Java层检测Cydia...
View ArticleRedis 缓存失效机制
Redis缓存失效的故事要从EXPIRE这个命令说起,EXPIRE允许用户为某个key指定超时时间,当超过这个时间之后key对应的值会被清除,这篇文章主要在分析Redis源码的基础上站在Redis设计者的角度去思考Redis缓存失效的相关问题。Redis缓存失效机制Redis缓存失效机制是为应对缓存应用的一种很常见的场景而设计的,讲个场景:我们为了减轻后端数据库的压力,很开心的借助Redis服务把变...
View Article值得使用的Spring Boot
2013年12月12日,Spring发布了4.0版本。这个本来只是作为Java平台上的控制反转容器的库,经过将近10年的发展已经成为了一个巨无霸产品。不过其依靠良好的分层设计,每个功能模块都能保持较好的独立性,是Java平台不可多得的好用的开源应用程序框架。...
View Article哪个线程执行 CompletableFuture’s tasks 和 callbacks?
CompletableFuture尽管在2014年的三月随着Java8被提出来,但它现在仍然是一种相对较新潮的概念。但也许这个类不为人所熟知是好事,因为它很容易被滥用,特别是涉及到使用线程和线程池的时候。而这篇文章的目的就是要描述线程是怎样使用 CompletableFuture的。Running...
View ArticleHTTP 的长连接和短连接
本文总结分享网络编程中涉及的长连接、短连接概念。一、什么是长连接HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。HTTP首部的Connection:...
View Article关于高可用的系统
在《 这多年来我一直在钻研的技术》这篇文章中,我讲述了一下,我这么多年来一直在关注的技术领域,其中我多次提到了工业级的软件,我还以为有很多人会问我怎么定义工业级?以及一个高可用性的软件系统应该要怎么干出来?这样我也可以顺理成章的写下这篇文章,但是没有人问,那么,我只好厚颜无耻的自己写下这篇文章了。哈哈。另外,我在一些讨论高可用系统的地方看到大家只讨论各个公司的技术方案,...
View ArticleJava代码优化
前言2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化。在修改之前,我的说法是这样的:就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了。...
View Article如何升级成HTTPS
上一篇文章我介绍了 HTTP/2 协议,它只有在 HTTPS 环境才会生效。为了升级到 HTTP/2 协议,必须先启用 HTTPS。如果你不了解 HTTPS 协议(学名 TLS 协议),可以参考我以前的文章。《HTTPS 协议概述》《图解 HTTPS 协议》《HTTPS 协议的七个误解》《HTTPS 协议的延迟有多大?》本文介绍如何将一个 HTTP 网站升级到 HTTPS 。一、获取证书升级到...
View Article11大Java开源中文分词器的使用方法和分词效果对比
本文的目标有两个:1、学会使用11大Java开源中文分词器2、对比分析11大Java开源中文分词器的分词效果本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口:/** * 获取文本的所有分词结果, 对比不同分词器结果 *...
View Article如何在半小时搭建一个简单的日志分析平台?
人们常常说数据如金,可是,能被利用起的数据,才是“金”。而互联网的数据,常常以日志的媒介的形式存在,并需要从中提取其中的”数据”。从这些数据中,我们可以做用户画像(每个用户都点了什么广告,对哪些开源技术感兴趣),安全审计,安全防护(如果1小时内登录请求数到达一定值就报警),业务数据统计(如开源中国每天的博客数是多少,可视化编辑格式和markdown格式各占比例是多少)等等。之所以能做这些,是因为用户...
View Article浅谈移动应用的技术选型
在这个巨变的时代,技术选型是个很难做决定的事情,而移动应用技术领域在几个巨头(Google,Facebook,Apple etc.)的带动下更是日新月异。所以说要选择一个适合业务需求并且匹配开发人员能力的技术方案并不是一件简单的事情。我也只是在移动开发上做过一点微小的工作,此处仅能抛个砖,希望各位有玉的大神尽管砸过来。做移动应用开发,说起来技术方案不外乎HTML5(没错,做Mobile...
View Article天猫总架构师何崚:好的技术团队不是“需求翻译机”或“架构优化机”
一个好的技术团队应该具备哪些特质?一个好的技术团队的leader应该怎样实施管理?技术和业务如何做到完美结合?这是来自天猫技术团队的经验,仅供参考。前言2012年,无线化大规模到来的前夕,淘宝成立了天猫团队,四年来天猫的不断发展离不开其背后技术团队强有力的支持。这样的一个技术团队,是怎样实施管理的?是怎样平衡完成需求和提升技术能力这两者之间的关系的?其核心竞争力是什么,怎样长期保持核心竞争力?而作为...
View Article