- 浏览: 50137 次
最新评论
文章列表
Spring自带的定时任务功能,基于注解和xml配置
1、Spring的配置文件
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:task="http://www.springfr ...
分布式消息队列
一、消息队列概述
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。
二、消息队列应用场景
以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。
Spring事务传播机制&隔离级别
- 博客分类:
- Spring
Spring事务传播机制&隔离级别
一、Propagation (事务的传播属性)
Propagation : key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。
以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW--新建事务,如果当 ...
Java高并发下访问
- 博客分类:
- java,高并发
常见的提高高并发下访问的效率的手段
首先要了解高并发的的瓶颈在哪里
1.可能是服务器网络带宽不够
2.可能web线程连接数不够
3.可能数据库连接查询上不去。
根据不同的情况,解决思路也不同。
1.增加网络带宽,DNS域名解析分发多台服务器。
2.负载均衡,前置代理服务器nginx、apache等等
3.数据库查询优化,读写分离,分表等等
在高并发下面需要常常需要处理的内容:
1.尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。
2.用jprofiler等工具找出性能瓶颈,减少额外的开销。
3.优 ...
Redis相关热点知识点
- 博客分类:
- Redis
Redis相关热点知识点
(1)什么是redis?
Redis是一个基于内存的高性能key-value数据库。
(2)Reids的特点
Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 mem ...
Java线程相关知识点
- 博客分类:
- java 线程
Java线程相关的热门知识点
1) 什么是线程?
线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。
2) 线程和进程有什么区别?
线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线程都拥有单独的栈内存用来存储 ...
Java中Comparator和Comparable的区别
1.Comparable
Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。
此接口只有一个方法compare,比较此对象与指定对象的顺序,如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
接口的定义:
package java.lang;
import java.util.*;
public interface Comparab ...
Java中Collection与Collections的区别
Collection是集合类的一个顶级接口,其直接继承接口有List与Set
而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。
Collections提供方法
1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。
列表中的所有元素都必须实现 Comparable 接口。
此列表内的所有元素都必须是使用指定比较器可相互比较的
double array[] = {112, 111, ...
Java 使用 Redis
- 博客分类:
- Redis
Java 使用 Redis
安装
开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:
首先你需要下载驱动包 下载 jedis.jar,确保下载最新驱动包。
在你的classpath中包含该驱动包。
Java 获取导入Excel文件数据
- 博客分类:
- Excel
Java 获取导入Excel文件数据
需要导入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache. ...
使用ajax提交form表单,包括ajax文件上传
通过jQuery来使用FormData对象
var formData = new FormData();
formData.append("uploadFile", $("#uploadFile")[0].files[0]);
$.ajax({
cache : false,
url : "...",
type : 'POST',
data : formData,
processData : false, // 告诉jQ ...
Java排序算法和实现
分类:
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。
内排序 ...
//判断字符串是否为空
org.springframework.util.StringUtils.hasLength(str)
//判断集合框架list等是否为空
org.springframework.util.CollectionUtils.isEmpty(collection)
//把list转化为逗号隔开的字符串
public static final String DEFAULT_LIST_DELIMTER = ...
Java 的枚举(Enums) 可以实现接口(Interfaces)
Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。
枚举类型,看似字符串值,但包含一些附加的信息,包括排序以及附加的方法可以获取枚举值的信息。
下面是一个基本的枚举类型:
public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES };
可增加附加信息,例如私有构造器、私有属性等,如下:
pubilc enum Number {
One(1), Two(2), Th ...