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