- 浏览: 264215 次
- 性别:
- 来自: 杭州
最新评论
-
听风者森林:
朕已阅,哈哈。感谢分享
JAVA设计模式学习4——简单工厂模式 -
heavenSea:
分析的很清晰
JAVA虚拟机之一:垃圾回收(GC)机制 -
zzq19860626:
hangzhoujava 写道超赞啊,可以抽空具体弄一个实例出 ...
JAVA虚拟机之六:虚拟机性能监控和故障处理工具 -
hangzhoujava:
超赞啊,可以抽空具体弄一个实例出来,比如故意写一个性能极差的代 ...
JAVA虚拟机之六:虚拟机性能监控和故障处理工具 -
zzq19860626:
hialaric 写道UseCMSCompactAtFullC ...
JAVA虚拟机之三:CMS垃圾收集器
文章列表
pip3 install -r requirements.txt -i http://pypi.douban.com/simple/
报错 安装失败
单独安装scipy
sudo pip3 install scipy
报错:
numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
找到博客:https://blog.csdn.net/xiongjiezk/article/details/53032927
执行如下命令:
yum install blas-devel
yum inst ...
编者按:本文由「高可用架构后花园」群讨论整理而成,后花园是一个面向架构师的增值服务,如需了解,请关注「高可用架构」后回复 VIP
问题的起源
一、JDK命令行工具简介
所有的java开发人员都知道JDK的bin目录下存放着编译java需要的javac,以及运行java程序需要的java这两个命令工具,但是很多人并没有注意到,其实除了这两个工具,该目录下还有很多工具,这些工具其实为我们提供了很多方便且强大的功能,windows7系统64位jdk1.7/bin目录下部分截图:
下面是命令行监控的主要工具和用途:
名称
作用
jps
JVM Process Status Tool,现实指定系统内所有的HotSpot虚拟机进程
一、常见配置
1、堆设置
-Xms:初始堆大小
-Xmx:最大堆大小
-XX:NewSize=n:设置年轻代大小
-XX:NewRatio=n:设置年轻代和年老代的比值。如:为5,表示年轻代与年老代比值为1:5,年轻代占整个年轻代年老代和的1/6
-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:8,表示Eden:Survivor=8:2,一个Survivor区占整个年轻代的1/10
-XX:MaxPermSize=n:设置持久代大小
2、收集器设置
-XX:+UseSerialGC:设置串行收集器
...
问题表现:用springmvc后事物不起作用解决方法:1、查所有关于事物的配置都没有问题;2、查找日志,发现配置@postConstruct注解的方法在服务启动过程中执行了两次;3、为什么出现两次,百度后知道在springmvc的注解扫描配置中要用<context:exclude-filter>来过滤排除掉@service,如果不排除就会初始化两次servicebean,导致事物失效。如果说spring 容器 初始化的时候service注解配置的事物能正常使用,那么springmvc的扫描service初始化事物也应该成功,为什么失败呢?原因是事物管理器的配置是以xml的配置方式 ...
一、关于G1
G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器. 以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征. 在Oracle JDK 7 update 4 及以上版本中得到完全支持, 专为以 ...
一、CMS垃圾收集器介绍
CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。目前很大一部分的Java应用都集中在互联网站或B/S系统的服务端上,这类应用尤其重视服务的响应速度,希望系统停顿时间最短,以给用户带来较好的体验。CMS收集器就非常符合这类应用的需求。
从名字(包含“Mark Sweep”)上就可以看出CMS收集器是基于“标记-清除”算法实现的,它的运作过程相对于前面几种收集器来说要更复杂一些,整个过程分为4个步骤,包括:
初始标记(CMS initial mark)
并发标记(CMS concurrent mark)
重 ...
Java体系结构包括四个独立但相关的技术:
Java程序设计语言。
Java class文件格式。
Java应用编程接口(API)。
Java虚拟机。
当编写并运行一个Java程序时,就同时体验了这四种技术。用Java编写语言编写源代码,把它编译成Ja ...
引言
java对于其它语言(c/c++)来说,创建一个对象使用后,不用显式的delete/free,且能在一定程度上保证系统内存资源及时回收,这要功归于java的自动垃圾回收机制(Garbage Collection,GC),但也是因为自动回收机制存在,一旦系统内泄漏或存溢出时,排查问题比较困难,因此java程序开发者深入理解java虚拟机GC机制变得重要。
要掌握GC机制,需要搞清楚下面几个问题:
1、运行时有哪些内存区域?
2、运行时怎么给类、对象分配内存?
3、哪些区域的内存需要回收?
4、内存中的哪些对象可以回收?
5、如何回收?
一、运行时有哪些内存区域?
...
JAVA设计模式学习1——统一建模语言UML
JAVA设计模式学习2——面向对象设计原则
JAVA设计模式学习3——设计模式概述
JAVA设计模式学习4——简单工厂模式
JAVA设计模式学习5——工厂方法模式
JAVA设计模式学习6——抽象工厂模式
JAVA设计模式学习7——单例模式
JAVA设计模式学习8——建造模式
JAVA设计模式学习9——原型模式
JAVA设计模式学习10——组合模式
迭代器 (Iterator)模式:迭代器模式提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示。
迭代器模式由以下角色组成:
迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口。
具体迭代器角色(Concrete Iterator):具体迭代器角色要实现迭代器接口,并要记录遍历中的当前位置。
容器角色(Container):容器角色负责提供创建具体迭代器角色的接口。
具体容器角色(Concrete Container):具体容器角色实现创建具体迭代器角色的接口。这个具体迭代器角色与该容器的结构相关。
迭代器设计模式结构如如下:
从结构 ...
最近看mybatis源码,看了一段时间了,还在继续,里面有很多好东西,后面整理出来分享给大家,这里先写两个小的细节,可能有些同学已经是这么写了,那么就当做你没看好了。希望你觉得是新鲜的。
先来看下面这段代码,这个代码本身没什么意义,只是表示一下写法:
package collection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MTest {
private s ...
访问者(Visitor)模式:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。访问者模式的结构图如下:
通过上图可以看到他有如下角色:
抽象访问者(Visitor)角色:定义接口,声明一个或多个访问操作。 具体访问者(ConcreteVisitor)角色:实现抽象访问者所声明的接口,也就是抽象访问者所声明的各个访问操作。 抽象元素(Visitable)角色:声明一个接受操作,接受一个访问者对象作为一个参数。 具体元素结点(ConcreteElement)角色:实现抽象结点所规定的接受操作。 数据结构对象(ObjectStru ...
状态(state)模式:状态模式的意图是,允许一个对象在其内部状改变时改变它的行为。看起来就像是改变了它的类一样。主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。
状态模式的结构如下图:
从图中可以看出状态模式有以下角色:
1、抽象状态(State)角色:定义一个接口,用以封装环境对象的一个特定的状态所对应的行为。
2、具体状态(ConcreteState)角色:每一个具体状态类都实现了环境的一个状态所对的行为。
3、场景(Context)角色:定义客户端所感兴趣的接口,并且保 ...
备忘录(Memento)模式:又叫做快照模式(Snapshot Pattern)或Token模式,属于行为模式。在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
备忘录模式有如下结构图:
备忘录模式涉及角色如下:
发起人(Originator):负责创建一个备忘录Memento,用以记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。Originator可以根据需要决定Memento存储自己的哪些内部状态。
备忘录(Memento):负责存储Originator对象的内部状态,并可以防止Origin ...