Load和CPU利用率

首先,top命令是没有计算load的平均值的,top命令只不过是在不停的从/proc/loadavg文件来读取load的平均值.(strace显示top命令会打开/proc/loadavg并且会定期从中读取load的平均值信息).当使用man proc的时候,会有如下说明: /proc/loadavg 该文件的前三个属性,分别表示在1分钟,5分钟和15分钟内,任务队列中进程的平均个数....
阅读(91) 评论(0)

Top命令基础

本文主要描述了Linux中top命令的一些用法以及意义...
阅读(223) 评论(0)

Pipes-and-Filters模式

Pipe和Filter模式将执行复杂处理的任务分解为可重复使用的一系列离散元素。这种模式可以提高性能,可扩展性和可重用性,允许执行部署和缩放独立处理的任务元素。问题一个应用程序可能根据其处理的不同的信息需要执行各种复杂的任务。一个简单的,但不灵活的方法就是可以将应用的处理作为一个单独的模块。但是,如果部分相同的处理需要在应用程序的其他地方,这种方法可能会减少代码重构,重用,优化的机会。下图1说明了单...
阅读(475) 评论(0)

Java内存管理(三)——卡片表

在垃圾回收的过程中,会碰到一个问题,就是老年代中的对象可能引用年轻代中的对象。在这种情况下,每次遍历老年代的对象来查找所有存活对象的时候就会消耗相当的时间。而且,在应用中,通常来说,这种引用是非常少的(某些研究表明,这种情况的引用占总引用量的1%都不到)。但是这些引用需要遍历整个老年代对象是一个相当大的Overhead。Card-tableJVM中会维护一个卡片表的数据结构,主要用于查看老年代中指向...
阅读(1627) 评论(0)

Spring ORM数据访问——JPA

JPASpring JPA在org.springframework.orm.jpa包中已经可用,Spring JPA用了Hibernate集成相似的方法来提供更易于理解的JPA支持,与此同时,了解了JPA底层实现,可以理解更多的Spring JPA特性。Spring中JPA配置的三个选项Spring JPA支持提供了三种配置JPAEntityManagerFactory的方法,之后通过EntityM...
阅读(2905) 评论(0)

Spring ORM数据访问——Hibernate

Hibernate我们将首先介绍Spring环境中的Hibernate 5,然后介绍使用Hibernate 5来演示Spring集成O-R映射器的方法。本节将详细介绍许多问题,并显示DAO实现和事务划分的不同变体。这些模式中大多数可以直接转换为所有其他支持的ORM工具。本章中的以下部分将通过简单的例子来介绍其他ORM技术。 从Spring 5.0开始,Spring需要Hibernate ORM...
阅读(4750) 评论(0)

Spring ORM数据访问——概述

介绍一下Spring中的ORMSpring框架在实现资源管理、数据访问对象(DAO)层,和事务策略等方面,支持对Java持久化API(JPA)以及原生Hibernate的集成。以Hibernate举例来说,Spring有非常赞的IoC功能,可以解决许多典型的Hibernate配置和集成问题。开发者可以通过依赖注入来配置O-R(对象关系)映射组件所支持的特性。Hibernate的这些特性可以参与Spr...
阅读(3890) 评论(0)

Java内存管理(二)

前文描述了一些关于串行收集器的知识,本文继续针对垃圾收集器进行描述。并行收集器(parallel collector)在硬件发展到今天,很多的机器上面的物理内存会更高,并且拥有更多的CPU资源。并行收集器,也被称作吞吐收集器,就是用来更好的利用多个CPU性能,增加垃圾回收的吞吐量的一种垃圾收集器。并行收集器的年轻代回收年轻代使用的算法在串行收集器和并行收集器上是一致的。只是使用了多个CPU,通过降低...
阅读(1129) 评论(0)

Java内存管理(一)

Java相比传统语言(C,C++)的一个优势在于其能够自动管理内存,从而将开发者管理内存任务剥离开来。 本文大体描述了J2SE 5.0 release中JVM对于内存是如何管理的。并且为选择和配置对应的收集器,配置收集器的参数提供了一些建议和参考。手动VS自动内存管理内存管理是能够识别哪些释放的对象不再使用,释放掉这些对象所占用空间的一个...
阅读(2434) 评论(0)

Competing-Consumers模式

Competing-Consumers模式支持多个并发消费者来处理消费消息队列上接收到的消息。该模式令系统能够并发的处理消息,并且优化吞吐,增加扩展性和可用性,同时平衡工作负载。问题在云环境中运行的程序可能需要处理大量的请求。相对于同步的处理每个请求,通常更常用的技术是由应用将请求通过消息系统来传给其他的服务(消费者服务),然后由其他的服务来异步处理。该策略能够确保应用中的业务逻辑不会因为请求的处理...
阅读(7569) 评论(0)

Priority-Queue模式

Priority Queue模式优先级队列模式:将请求根据优先级进行分流,令高优先级的请求能够比低优先级的请求更快的接收和处理。优先级队列模式对于针对需要根据不同的客户端来实现不同的服务级别的情况下十分实用。问题应用可能会将某些指定的任务代理到一些其他的服务或应用上面。比如,会存在需要执行一些后台处理,或者与其他应用或者服务集成的情况。在云环境中,通常使用消息队列来代理任务和后台的处理。在很多时候,...
阅读(10155) 评论(0)

Event-Souring模式

Event-Sourcing模式使用仅附加存储来记录或描述域中数据所采取的动作,从而记录完整的一系列系列事件,而不是仅存储实体的当前状态。因为存储包含全部的事件,可以用来具体化域对象。Event-Sourcing模式可以简化复杂的域中的任务,避免了数据模型和业务领域的同步和引发的争用问题;增强性能,扩展性,以及响应;为事物数据提供一致性;保留全部的事件执行历史,可以跟踪和实现回滚之类的补偿操作。问题...
阅读(3987) 评论(0)

Materialized View模式

Materialized-View模式是在要求数据格式不利于查询操作的情况下,根据多个数据仓库的数据生成预生成的视图的一种模式。这种模式可以帮助支持高效的查询和数据提取,提高应用程序的性能。问题在存储数据时,开发人员和数据管理员考虑的第一优先级通常集中在如何存储数据,而不是如何读取数据。所选择的存储格式通常与数据的格式、管理数据大小和数据完整性的要求,以及存储的类型密切相关。例如,使用NoSQL存储...
阅读(4746) 评论(0)

公平锁与非公平锁

在ReentrantLock中很明显可以看到其中同步包括两种,分别是公平的FairSync和非公平的NonfairSync。公平锁的作用就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而非公平锁是允许插队的。默认情况下ReentrantLock是通过非公平锁来进行同步的,包括synchronized关键字都是如此,因为这样性能会更好。因为从线程进入了RUNNABLE状态,可以执行开始,...
阅读(6374) 评论(0)

Java线程和多线程(十五)——线程的活性

当开发者在应用中使用了并发来提升性能的同时,开发者也需要注意线程之间有可能会相互阻塞。当整个应用执行的速度比预期要慢的时候,也就是应用没有按照预期的执行时间执行完毕。在本章中,我们来需要仔细分析可能会影响应用多线程的活性问题。死锁死锁的概念在软件开发者中已经广为熟知了,甚至普通的计算机用户也会经常使用这个概念,尽管不是在正确的状况下使用。严格来说,死锁意味着两个或者更多线程在等待另一个线程释放其锁定...
阅读(3587) 评论(1)
78条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:255099次
    • 积分:3270
    • 等级:
    • 排名:第10755名
    • 原创:43篇
    • 转载:0篇
    • 译文:35篇
    • 评论:47条
    联系方式
    博客专栏