1.概述 系统在进行页面交换或使用虚拟内存时,Java应用就会出现明显的性能问题。当应用运行所需的内存超过可用物理内存时,就会发生页面交换。当应用耗尽物理内存时,操作系统将应用的一部分交换到swap区,当应用再次访问这些内存时...
阅读(209) 评论(0)
1.概述 要提高应用的性能,就必须充分利用给配给它的CPU周期。 系统态CPU使用率高意味着共享资源有竞争或者IO设备之间有大量的交互。 对于java应用,典型的上下文切换发生在进行文件IO操作、网络IO操作、锁等待或者线程s...
阅读(233) 评论(0)
1. 类生产环境 让性能测试环境尽可能的接近生产环境,这样才能保证测试的准确性。如机器的配置、操作系统、应用软件版本、软件的部署方式,数据量等都要尽可能的接近生产环境。 2. 基准测试 每次性能测试,只改变其中一个参数,...
阅读(298) 评论(0)
性能测试一定要首先标明测试的软硬件环境,本篇简要说明如何获取常用的软硬件环境的linux命令。 1.硬件 1)查看CPU #cat  /proc/cpuinfo model name   ...
阅读(308) 评论(0)
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。 主要内容包括: 一、性能测试指标 吞吐量、TPS、响应时间、负载、可扩展...
阅读(162) 评论(0)
TPS Transaction Per Second的缩写,系统每秒钟能够处理的交易或事务数。 吞吐量 单位时间内系统完成的请求数。对于企业应用来说,通常用TPS来度量。吞吐量和响应时间是衡量系统处理能力的最重要的指标。 响应...
阅读(180) 评论(0)
1.定义 运用共享技术有效的支持大量细粒度的对象。 2.适用场景 1)应用使用了大量的对象,并且造成了大量的存储开销。例如编辑一个文档,会有大量重复的字符,如果每个都创建一个新的对象,会造成很大的内存开销。 3.类图...
阅读(169) 评论(0)
1.定义 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2.适用场景 1)HttpServlet的service()方法。HttpSerlvet...
阅读(182) 评论(0)
1.定义 将抽象部分和它的实现部分分离,使他们都可以独立的变化。 2.适用场景 1)某个类具有两个或者两个以上的维度变化,可以使用桥接模式进行分离这两种维度的变化,例如您是一个服装制造商,既生产棉服,也生产T恤衫,每种衣服既有...
阅读(180) 评论(0)
1.定义 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。 2.适用场景 1)改造遗留系统或者使用第三方系统,原系统的接口跟新系统不符,无法一起工作。适配...
阅读(163) 评论(0)
1.定义 为其它对象提供一种代理以控制对这个对象的访问。 2.应用场景 1)Spring AOP。Spring AOP底层就是使用动态代理来实现的,Spring将切面织入到代理对象中。 Spring AOP :[url] ht...
阅读(163) 评论(0)
1.概述 观察者模式也称为"依赖"(Dependents)或者"发布-订阅"(Publish-Subscribe),观察者模式的官方定义是:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通...
阅读(162) 评论(0)
1 什么是HQL HQL是Hibernate提供的其中一种检索方式,也是Hibernate使用最为广泛的检索方式。 HQL同SQL语言相似,熟悉了SQL语言以后,学习HQL是非常容易的。 Hibernate提供了Query接口...
阅读(160) 评论(0)
1 概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行加载、解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 2 类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存...
阅读(179) 评论(0)
1 Future模式简介 当某一程序提交了一个请求,期望得到一个答复,但是这个请求需要处理的时间可能很长,传统模式下这个请求是同步的,客户端必须等待请求响应之后才能执行其他操作。而在Future模式下客户端立刻拿到一个伪造的数...
阅读(310) 评论(0)
1状态转换图。 2 三种状态 2.1 临时状态(transient) 刚刚new创建的对象,还未与session关联。 2.2 持久化状态(persistent) 已经被持久化,加到了session的缓存中。 以下...
阅读(174) 评论(0)
当Session的save()方法持久化一个对象时,这个对象就被加入到Session的缓存中。当Session的查询方法试图从缓存中加载这个对象时,Session先判断缓存中是否存在这个对象,如果存在,就不再去数据库中检索。...
阅读(157) 评论(0)
1 N+1问题 Hibernate的Session缓存中存放的是相互关联的对象图,默认情况下,当从数据库中加载一个对象的时候,会同时加载它所关联的其他对象。例如:Clazz(班级)跟Student(学生)是1:N关联关系。Cl...
阅读(164) 评论(0)
生产者-消费者模式为多线程之间协作提供了良好的解决方案,一般有2类线程,生产者类线程提交用户请求,消费者类线程则负责处理生产者线程提交的请求。 生产者-消费者模式架构图: 由图可见,生产者线程和消费者线程并不直接通信...
阅读(163) 评论(0)
Master-Worker模式的核心思想是,系统由两类进程协作工作:Master进程和Worker进程。Master进程负责接收和分配任务,Worker进程负责处理子任务。当Worker进程将各个子任务处理完成后,将结果返回给...
阅读(406) 评论(0)
1 2 下一页共2页  到第