- 博客(29)
- 收藏
- 关注
原创 Tomcat设置PermGen Space和Heap Size
Tomcat设置PermGen Space和Heap SizePermGen SpacePermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Gar...
2016-06-08 09:43:38 753
原创 使用JMX透过防火墙远程监控tomcat服务
使用JMX透过防火墙远程监控tomcat服务JDK的bin目录下有jvisualvm或jconsole可以监控本地和远程jvm实例的运行动态(包括cpu,内存等), 对于性能分析或内存泄露分析等极其方便。下面介绍如何通过这两个工具远程监控有防火墙的linux上的tomcat服务。 废话少说,直接上正题:我的测试环境是:centos 6.2(IP为192.168.1.118)上通过jsvc...
2016-06-08 09:41:53 655
原创 Linux下安装memcached
原文链接 http://blog.lixiphp.com/centos-linux-memcache-nginx-php-install/一、源码包准备 也可以到附件下载服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-v1.4.4 。 下载:http://memcached.googlecode.com/files/memcached-1.4....
2012-05-22 13:04:00 116
原创 Linux下安装JDK和Tomcat
安装准备:下载 jdk-6u23-linux-i586.binjdk下载路径http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.htmlapache-tomcat-7.0.12.tar.gz 文件 请根据自己的系统版本为32、64位,下载相...
2012-05-21 23:22:16 122
原创 Linux远程修改ssh端口和远程root无法登陆解决
Linux修改ssh端口22 vi /etc/ssh/ssh_config vi /etc/ssh/sshd_config 然后修改为port 8888 以root身份service sshd restart (redhat as3) 使用putty,端口8888 Linux下SSH默认的端口是22,为了安全考虑,现修改SSH的端口...
2012-05-17 17:51:21 544
原创 面向NoSQL数据存储的Hibernate对象映射
引用 http://www.infoq.com/cn/news/2011/07/hibernateogm 近日,Hibernate Validator、Hibernate Search等项目的开发者Emmanuel Bernard宣布了Hibernate OGM。这个新框架的目标旨在通过JPA为NoSQL数据存储提供一个公共的接口。OGM是Object Grid Mapping的缩写...
2012-05-16 14:49:42 104
原创 类装载器工作机制
类装载器工作机制 类装载器就是寻找类的节码文件并构造出类在JVM 内部表示对象的组件。在Java 中, 类装载器把一个类装入JVM中,要经过以下步骤:1. 装载:查找和导入Class 文件; 2. 链接:执行校验、准备和解析步骤,其中解析步骤是可以选择的: a)校验:检查载入Class 文件数据的正确性; ...
2012-05-15 15:39:20 90
原创 java 反射(reflect)总结。
/** * 获取一个Class类有三种方法: * @author Morgan */public class GetClass { public static void main(String[] args) { //第一种获取方法,直接了当 Class<String> class1 = String.class; System.o...
2012-05-11 11:18:34 163
原创 Java 中 Vector、ArrayList、List使用深入剖析
本文来自 smallboy_5的专栏 http://blog.csdn.net/smallboy_5/article/details/2119123 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。...
2012-05-10 10:20:29 117
原创 观察者模式Observer
观察者模式Observer又叫发布订阅(Publish/Subscribe)模式 观察者模式定义了一种一对多的依赖关系,让多个观察者对相同时间是某一个主题的对象。这个主体对象在状态发生变化时,会通知所有观察找对象,使它们能够自动更新。 Subject类,可翻译为主题或抽象统治者,一般用一个抽象类或者一个接口实现。他把所有观察者对象的引用保存在一个聚集里,每个主题都可以有任何数...
2012-05-09 16:31:27 119
原创 建造者模式
建造者模式 如果你需要将一个复杂对象的构建与他的表示分离,是的同样的构建过程可以创建不同的表示的意图时,我们需要应用于一个设计模式,建造者(Builder)模式,又叫生成器模式。建造者模式可以将一个产品的生成过程分割开来,从而可以是一个建造过程生成具有不同的内部对象。如果我们用了建造者模式,那么哟过户就只需要制定需要建造的类型就可以得到他们,而具体建造的过程和细节就不需要知道了。...
2012-05-08 18:03:28 99
原创 外观模式
外观模式Facade,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个几口使得这一子系统更加容易使用 何时使用外观模式 首先,再设计初期阶段,应该要有意识的将不同的两个层分离,比如经典的三层架构,就需要考虑在数据访问层和业务逻辑层、业务逻辑层和表示层的曾与层之间建立外观Facade,这样可以为复杂的子系统提供一个简单的接口,是的耦合大大降低。...
2012-05-02 17:36:42 107
原创 模板方法模式
当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法是的子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式是通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。模板方法模...
2012-05-02 16:52:18 88
原创 原型模式
原型模式 Prototype,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 相关代码 public abstract class Prototype implements Cloneable { private String id; public Prototype(String id){ this.id = id;...
2012-05-02 16:29:31 105
原创 工厂方法模式
简单工厂 VS 工厂方法 简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。例如计算器,让客户端不用管该用哪个类的实例,只需要把“+”给工厂,工厂自动就给出了相应的实例,客户端只要去做运算就可以了,不同的实力会实现不同的运算。但问题也就在这里,如果要加一个“求M的N次方”的功能,我们是第一需要给运...
2012-04-28 12:12:45 106
原创 代理模式
代理模式 为其他对象提供一种代理以控制这个对象的访问。 Subject类,定义了RealSubject和Proxy的公用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。public abstract class Subject { public abstract void request();} RealSubject类,定义...
2012-04-28 10:53:49 78
原创 装饰模式
装饰模式 Decorator,动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 Component是定义个对象的接口,可以给这些对象动态地添加职责,ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Componen...
2012-04-27 16:59:58 81
原创 分离领域——将各层关联起来
将各层关联起来 到目前为止,我们的讨论主要一种在层次划分以及如何分层才能改进程序各个方面的设计上,特别是集中在领域层上。但是显然,各层之间也需要互相连接。在连接各层的同时不影响分离带来的好处,这是很多模式的目的所在。 各层之间是松散连接的,曾与层的依赖关系只能是单向的。山层可以直接使用或操作下层元素,方法是通过调用下层元素的公共接口,保持对下层元素的引用(至少是暂时的)以及采用常规...
2012-04-26 16:52:14 176
原创 分离领域
在软件中,专门用于解决领域问题的那部分通常只占整个软件系统的很小一部分,这与其重要性远远不成比例。要想实现最佳的设计构思,旧的去研究模型中的元素并且将他满是为一个系统。绝对不能像在夜空中辨认星座一样,勉强把领域对象从许多对象中挑选出来。我们需要将领域对象与系统中的其他功能分离。这样就能够避免将领域概念和其他至于软件技术相关的概念想混淆。也不会把领域与整个软件系统混为一谈。 分离领域的复杂技术...
2012-04-23 16:55:47 176
原创 模型驱动设计的构造块
为了保证软件实现的简洁并且与模型保持一致,不管实际情况如何复杂,必须运用建模和设计的最佳实践。 某些设计决策能够使模型和程序紧密结合在一起,互相提高对方的效率。这种结合要求我们注意每个元素的细节。对细节问题的精雕细刻能够打造出一个稳定的平台。 当项目遇到或大或小的困难时,开发人员可能会法向这些原则都无法适用与项目当前的状况。为了使领域驱动设计过程更灵活,开发人员需要理解上面这...
2012-03-30 15:49:49 149
原创 绑定模型和实现2
Hands-On Modeler 人们总是把软件开发比喻成制造业。通过这个比喻可以推断出一个结论:经验丰富的工程师做设计工作,而技能水平较低的劳动力负责组装产品。这种做法使许多项目陷入困境,原因很简单——在软件开发中设计是无处不在的。开发团队中的每个成员都有自己的职责,但是将分析、建模、设计和编程工作完全分离会对Model-Driven Design 产生不良影响。 作者经在...
2012-03-30 15:20:13 114
原创 绑定模型和实现
模型种类繁多,目的各有不同,即使是那些金用于软件开发项目的模型也是如此。领域驱动设计要求模型不仅能够指导早期的分析工作,还应该成为设计的基础。这总设计方法对于代码的编写有着重要的暗示作用。比太明显的一点就是:领域驱动设计要求一种不同的建模方法...... 模式:MDD(Model-Driven Design) 那些压根没有领域模型的项目,仅仅通过编写代码来实现一个有一个功能,...
2012-03-23 12:00:18 461
原创 解释性模型
模型在帮助领域学习方面也具有很大价值。对设计起到推动作用的模型是领域的一个视图,但为了学习领域,还可以引入其他视图,这些视图只用作传递一般领域知识的教学工具。出于此摸底,人们可以使用如软件设计无关的其他种类模型的那些图片或文字。 使用其他模型的一个特殊原因是范围。驱动软件开发过程的技术模型必须经过严格的精简,以便使用最小化的模型来实现其功能。而解释性模型则可以包含提供上下文的哪些领域方面,用...
2012-03-20 13:03:52 1441
原创 语言的交流和使用
领域模型是软件项目的公共语言的核心。模型是人们头脑中形成的与项目有关的概念集合,他用术语和关系反映了领域的深层含义。这些术语和相互关系提供了模型语言的语义,模型语义是专门为领域量身剪裁的,而且十分精确,以便支持技术开发。它是一条至关重要的纽带,将模型与开发活动结和在一起,并使模型与代码紧密绑定。 在一个没有公共语言的项目上,开发人员不得不为领域专家做翻译。而这些领域专家还需要充当开发人...
2012-03-18 17:07:06 168
原创 让领域模型发挥作用
模型是一种简化。他是对现实世界的一种解释,并把与解决问题密切相关的方面抽象出来,而忽略无关的细节。 每个软件程序的目的都是为了执行某项活动,或是满足用户的某种需求。用户会把软件程序应用于某个主题区域,这个区域就是软件的领域。模型是用于解决信息超载问题的工具。模型是一种只是形式,他对知识进行有选择的简化和有目的的结构化。 领域模型并非一种特殊的图,特使图要表达的思想。他是经过严格组织...
2012-03-18 14:24:33 714
原创 Struts2标签
<%@ taglib prefix="s" uri="/struts-tags" %>就能使用。 下面介绍各个标签的用法(若有错请指正): A:<s:a href=""></s:a>-----超链接,类似于html里的<a></a> <s:action name="&quo
2011-01-20 11:04:36 67
原创 Hibernate主键生成策略
1) assigned主键由外部程序负责生成,无需Hibernate参与。 让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素没有指定时的默认生成策略。2) hilo通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。 使用一个高/低位算法高效的生成long, short 或者 int类型...
2011-01-20 10:40:25 123
原创 访问虚拟机(Linux)的网络服务--如何配置
我在虚拟机中安装了rhel 5 虚拟机使用NAT的方式 在rhel中安装了NEXUS 并且使用 http://localhost可以正常访问 通过ifconfig查到IP地址是 192.168.127.131 我能在WINDOWS中PING通192.168.127.131并且使用SecureCRT也能在连上虚拟机中的rhel 但是我在主机上不能通过 http://192...
2011-01-06 10:10:28 157
原创 Linux开机流程
[list]1. 加载 BIOS 的硬件信息; 2. 读取 MBR 的 Kernel Loader (亦即是 lilo, grub, spfdisk 等等)开机信息; 3. 加载 Kernel 的操作系统核心信息; 4. Kernel 执行 init 程式并取得 run-level 信息; 5. init 执行 /etc/rc.d/rc.sysinit 档案; 6. 激活核...
2010-12-22 15:08:56 95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人