发布于 2017-06-23   234人围观   0条评论
`top`命令显示多个PID的详细信息,同时可以通过`uptime`来获得同样的第一行数据 top返回: ``` top - 19:58:17 up 63 days, 9:46, 1 user, load average: 0.00, 0.02, 0.05 Tasks: 148 total, 1 running, 147 sleeping, 0 stopped, 0 zom
查看更多
发布于 2017-06-11   15人围观   0条评论
# Pipe和Filter模式 Pipe和Filter模式将执行复杂处理的任务分解为可重复使用的一系列离散元素。这种模式可以提高性能,可扩展性和可重用性,允许执行部署和缩放独立处理的任务元素。 ## 问题 一个应用程序可能根据其处理的不同的信息需要执行各种复杂的任务。一个简单的,但不灵活的方法就是可以将应用的处理作为一个单独的模块。但是,如果部分相同的处理需要在应用程序的其他地方,这种方法
查看更多
gc    发布于 2017-05-24   102人围观   0条评论
在垃圾回收的过程中,会碰到一个问题,就是老年代中的对象可能引用年轻代中的对象。在这种情况下,每次遍历老年代的对象来查找所有存活对象的时候就会消耗相当的时间。而且,在应用中,通常来说,这种引用是非常少的(某些研究表明,这种情况的引用占总引用量的1%都不到)。但是这些引用需要遍历整个老年代对象是一个相当大的Overhead。 ## Write barrier + card-table JVM中会
查看更多
spring    发布于 2017-05-23   21人围观   1条评论
本章将描述一下Spring中针对环境的抽象。 `Environment`是一个集成到容器之中的特殊抽象,它针对应用的环境建立了两个关键的概念:`profile`和`properties`. *profile*是命名好的,其中包含了多个Bean的定义的一个逻辑集合,只有当指定的profile被激活的时候,其中的Bean才会激活。无论是通过XML定义的还是通过注解解析的Bean都可以配置到pro
查看更多
gc    发布于 2017-05-23   19人围观   0条评论
# 简介 Java相比传统语言(C,C++)的一个优势在于其能够自动管理内存,从而将开发者管理内存任务剥离开来。 本文大体描述了J2SE 5.0 release中JVM对于内存是如何管理的。并且为选择和配置对应的收集器,配置收集器的参数提供了一些建议。 # 手动VS自动内存管理 内存管理是能够识别哪些释放的对象不再使用,释放掉这些对象所占用空间的一个过程。在很多编程语言中,内存管理是开发者
查看更多
gc    发布于 2017-05-23   20人围观   0条评论
前文描述了一些关于串行收集器的知识,本文继续针对垃圾收集器进行描述。 ## 并行收集器(parallel collector) 在硬件发展到今天,很多的机器上面的物理内存会更高,并且拥有更多的CPU资源。并行收集器,也被称作吞吐收集器,就是用来更好的利用多个CPU性能,增加垃圾回收的吞吐量的一种垃圾收集器。 ### 年轻代使用并行收集器 年轻代使用的算法在串行收集器和并行收集器上面的算法
查看更多
spring aop    发布于 2017-05-22   14人围观   0条评论
前文的一些内容更多是针对Spring容器内部的一些特性的描述,接下来一个专题将描述Spring AOP的一些信息,配置细节等等。 ## 介绍 面向切面编程(AOP)是一种新的针对程序结构的思路,它补足了面向对象编程(OOP)的一些细节。OOP的关键在与模块化概念,也就是Java中的class,而AOP关心的模块则是切面。切面关心的模块化主要是考虑的是诸如事物管理这类会跨越多个类型和对象的一些
查看更多
algorithm    发布于 2017-05-22   16人围观   0条评论
总的来说,最长回文串算法分为以下几种。 # 暴力法 通过遍历整个字符串来说实现对最长回文串的查找 首先一个字符串所有子串,个数为n2个,然后逐个判断遍历即可,算法复杂度O(n3) # 动态规划 # 中心扩展法 # Manacher算法 这是一个比较牛掰的算法,我搞了好久才大体搞明白,其中有几个难点 * 需要对字符串进行变换 * 针对辅助数组的使用优化计算比较难理解 * 算法复杂度分
查看更多
algorithm    发布于 2017-05-22   16人围观   0条评论
说道KMP算法,一定要先指出问题所在之处了,问题如下: >已知一个字符串a,b 想找到在字符串a中b首次完整出现的位置。 听到这个问题,首先想到的就是朴素算法,挨个来进行匹配,然后找到对应的答案。 #朴素算法 朴素算法很简单,就是挨着遍历,但是会有很多的重复计算,算法复杂度为O(mn) 代码如下: ``` # 朴素算法 def algorithm1(src, target): fo
查看更多
发布于 2017-05-22   12人围观   0条评论
最近写了个基于Java Spring的Cache实现方式,但是在刷新缓存的时候,可能会出现各种问题,尤其是在配合多线程的情况下。 下面就来描述一下关于任务执行的各种问题。 # 任务执行 串行的执行效率我们了解的,尤其是碰到一些大的IO操作,CPU是会大量的空闲的。这也是很不好的,会大大影响资源的利用。当然了,多个任务共同执行,也需要确保线程安全。 ## 串行 串行的执行任务,肯定是不需
查看更多