- 浏览: 660437 次
- 性别:
- 来自: 杭州
最新评论
-
changerzhuo_319:
谢谢大佬, 查了一天了没解决
Spring-boot构建多模块依赖工程时,maven打包异常:程序包xxx不存在 -
迪伦少校:
spring越来越优秀的同时,也越来越复杂
spring核心技术(1) -
hbxflihua:
ivi13 写道这种方式会有个问题,假如有个商户的交易量特别大 ...
使用spring-retry实现支付系统异步通知 -
ivi13:
这种方式会有个问题,假如有个商户的交易量特别大,通知全部失败, ...
使用spring-retry实现支付系统异步通知 -
ckxlnd:
挺好的 有借鉴意义
重写DispatcherServlet获取springmvc 所有RequestMapping的url
文章列表
我们在做架构设计的时候,会提到几个关键词:高性能、高可用、可扩展、安全性、伸缩性、低成本等等。对于用户量不大、并发量不高的系统,我们没必要去追求高性能,甚至连架构设计都可以免了。
那么什么样的系统需要做性能优化呢?当你发现系统响应越来越慢,慢到已经影响到用户体验的时候;
网站性能优化的手段:
1、 web前端优化;
减少http请求;
使用浏览器缓存;
静态资源压缩;
减少cookie传输;
CDN加速;
反向代理;
2、 应用服务性能优化;
分布式缓存,通过添加缓存来提高应用层的响应效率;
消息异步化:线程、队列等等;
集群服务;
系统优化大致可以分为:业务优化、设计和程序优化、DB和SYSTEM优化、SQL优化四个方面,这四个方面按优先级进行排列,并且越往后越不容易优化,他们之间又相辅相成、互相关联,我们优化的时候可以交替着去实施。下面着重 ...
我们通过spring-amqp操作rabbitmq是极其简单的,消息的生产者和消费者只需要如下配置:
客户端(生产者):connectionFactory、queue、exchange、messageConverter、RabbitTemplate。
服务端(消费者):connectionFactory、queue、exchange、messageConverter、listenerContainer。
如果消息堆积严重,我们可以通过两种方式来处理消息,一种是在服务端开启监听多线程服务(concurrency="10"),另一种是让消息批量出队列。
开 ...
1、top命令查看过高CPU的pid,命令:top
[root@test-v3 bin]# top
top - 16:44:22 up 173 days, 7:05, 2 users, load average: 0.74, 0.71, 0.61
Tasks: 150 total, 1 running, 149 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.8%us, 0.4%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.7%st
Mem: 8061116k t ...
RabbitMQ的安装不在此赘述,想了解的可以参考:Spring Boot中使用RabbitMQ
1、新建一个spring-boot工程,本示例命名为:spring-boot-rabbitmq-demo
2、在pom.xml中引入amqp
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
& ...
1、重写DispatcherServlet
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.springframework.beans.factory.BeanFactoryUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.web.method.HandlerMethod;
import org.springframework ...
单例模式推荐使用静态内部类的方式实现,具体参考:Java内存模型FAQ(十一)新的内存模型是否修复了双重锁检查问题?
1、pom.xml文件中添加freemarker依赖
<!-- Spring Boot Freemarker 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2、applicatio ...
1、pom.xml文件中添加redis依赖
<!-- Spring Boot redis 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、application.yml中配置redis
spring:
redis:
dat ...
本示例工程整合spring-web、spring-jdbc、mybatis、druid、pageHelper等主流框架,附件为整个工程代码,下载后可以直接运行。
1、通过 SPRING INITIALIZR新建一个web工程,可先将Web,Aspects,JDBC,MyBatis,MySQL等依赖引入;
2、将生成的web工程导入IDE,本人用的STS;
3、本示例会将druid、pageHelper集成到项目中,故先添加相关依赖;
<dependency>
<groupId>com.alibaba</ ...
1、新建一个maven project;
2、在pom.xml中引入spring-webmvc
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&g ...
1、新建一个maven 工程;
2、pom.xml文件引入jar包,并配置failOnMissingWebXml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd& ...
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
public class User {
private Long id;
private String username;
// 日期类型输出到页面格式
@JsonFormat(patt ...
1、新建一个maven project;
2、在pom.xml中引入spring-webmvc
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
3、 添加web.xml文件
<web-app xmlns: ...
package com.rd.svn;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNLogEntry;
import org.tmates ...