Memcache和Redis的选型分析

Memcache和Redis都能很好的满足解决数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求的问题,它们性能都很高,总的来说,可以把Redis理解为是对Memcache的拓展,是更加重量级的实现,提供了更多更强大的功能。具体来说: 1.性能上: 性能上都很出色,具体到细节,由于Redis只使用单核,而Memcache可以使用多核,所以平均每一个核上Redis在存储小数据时比,Memcache性能更高。 而在100k以上的数据中,Memcache性能要高于

[轉載]互联网系统架构的演进

多终端接入、开放平台给互联网带来了前所未有的用户量级和访问规模,SNS网站产生了海量的UGC(用户产生内容),而且这些内容依托关 系链扩散速度之快、传播范围之广是传统网站难以想象的,海量数据的计算存储也一直是近年互联网领域的热点。本文将从发展演进的层面探讨互联网的系统架构。 天下武功唯快不破 网站初期的架构一般采用“短平快”的架构思路,架构以简单清晰、容易开发为第一衡量指标。 互联网架构选型首先包括开发语言的选择,目前PHP、Java是主力语言。开发语言的选择一般从团队人员的

ScriptEngine解析js脚本 or 表达式

不得不说,ScriptEngine是个很强大的引擎,可以解析JS脚本,或者以JS的规则解析表达式。 javax.script,始于JDK1.6,不过现在只有sun实现的javascript的解析器,一般的用途主要是能解析通用的表达式,比如X >= 1(X作为参数传入)这样的表达式,也能利用js的函数语法,创造一个就像java的函数一样存在于内存中随时可以被调用的函数,更可以将js中的对象直接转换成java对象。 有时候出于各种原因我们需要用java模拟用户登陆一个网站,

Log4j2 的配置简单学习

一、Log4j2 Maven配置 Log4j2的性能高于log4j与logback,在项目中建议使用Log4j2,其依赖如下<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.2</version> </de

Spring IOC和DI 的生动解析

IOC:(Inversion of Control)控制反转 IOC(Inversion of Control)控制反转 这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。 这是什么意思呢,举个简单的例子: 我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认识她们,投其所好送其所要,然后嘿嘿……这个过

dom4j 实现对xml文件的解析和修改

对xml文件的读取和解析,本文以对系统pom.xml文件的读取和解析为例。 private static Map<String,String> getAllProperties() throws DocumentException { String filePath = D:\\work_intel\\new_common\\basic-pom\\pom.xml; SAXReader reader = new SAXReader(

Maven依赖的scope定义

依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中。让我们详细看一下每一种范围: compile (编译范围) compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。 provided (已提供范围) provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如, 如果你开发了一个web 应用,你可能在编译 classpath 中需要可用的

一次JVM_OLD区占用过高、频繁Full GC的解决过程

最近,公司网站频繁报警,JVM_OLD占用过高,线上访问超时严重,针对这个问题着实头疼了一把,不过最终还是解决了,下面说下解决的过程。 1,首先 登到线上机器上去,top命令,查看当前机器的负载,查看当前哪个进程在消耗资源。top找到CPU或者内存占用过高的那个进程。发现有一个进程,CPU居高不下,保留进程id 2,top命令,继续跟踪该进程里的所有线程,找到占用CPU过高的线程。top -Hp [进程ID] 3,找到线程ID,正在消耗CPU,把线程ID转换为16进制,执行

浅谈Web性能优化

Web性能优化包括哪些?? 负载均衡??分布式??CDN??缓存?? web性能包含很多方面,不仅仅是以上几种。我们先看一张图: 从上图看可以总结出,页面的加载时间包括dom结构加载和页面的渲染。 用户响应时间分布: 10%~20%——从服务器端获取HTML文档上(后端数据) 80%~90%——下载页面中的所有组件上(页面渲染) 在web项目有一个性能测试原则:“二八原则”,也就是说:前端为八,后端为二。 所以性能优化,不仅仅在后端,前端的优化往往能起到立竿见影的效果。

Spring MVC工作流程分析

Spring工作流程描述: 1.用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获; 2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回; 3. DispatcherSe