自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cyhe2010的博客

人之所以能,是相信能!

  • 博客(30)
  • 收藏
  • 关注

原创 设计模式-行为模式

设计模式分为:创建模式、结构模式、行为模式行为模式:(1)Chain of Responsibility-责任链模式 定义:使多个对象都有机会处理请求,从而避免了请求发送者和接受者的耦合关系.将这些对象链成一个链,并沿着该链依次向上发送请求,直到有对象处理该请求为止  来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(cha

2016-03-19 20:25:36 376

原创 设计模式-结构模式

设计模式分为:创建模式、结构模式、行为模式结构模式:(1)Proxy-代理模式 定义:为一个对象提供代理,以控制对象的访问.优点:  1. 代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度。   2. 代理对象将被代理对象透明化.   3. 具有较高的扩展性.被代理对象的修改不会影响代理对象及其外部调用.缺点:  1. 由于在客户端和

2016-03-19 20:04:07 330

原创 设计模式-创建模式

设计模式分为:创建模式、结构模式、行为模式创建模式:(1)Factory-工厂模式 定义:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。由产品类的具体类来决定,将要实例化哪一个产品类。优点:  1. 良好的封装性,代码结构清晰。要创建一个产品只需要知道产品类的名字,不需要了解产品类的具体实现。   2. 良好的扩展性。要添加一个新的产品,只需要继承抽象产

2016-03-19 19:31:40 301

原创 JMS-OpenJMS提供商

JMS是一个规范,实现 JSM 客户端发送和接收消息,必须有一个实现了 JMS 的消息系统(即 JMS 提供商),我们在编写 JMS客户端时,使用 **JNDI API** 查找已配置的 JMS 对象(ConnectionFactory、Destination被管理对象),JMS供应商提供专有的工具来创建和管理它们。目前用的最多的JMS主流开源项目是OpenJMS和ActiveMQ。  本文选

2016-03-18 23:07:27 500

原创 Maven-相关命令

1. 使用 maven 安装 jar 包到本地仓库把jms-1.1.jar 安装到仓库 javax文件夹下mvn install:install-file -Dfile=C:\jms-1.1.jar -DgroupId=javax -DartifactId=jms -Dversion=1.1 -Dpackaging=jar// DgroupId和DartifactId构成了该jar包在pom.xm

2016-03-17 16:30:41 494

原创 Java 消息服务(JMS)

一、概述  JMS给Java程序员提供了一种通用的方式来创建、发送、接收和查看企业消息系统消息。JMS的所有用户都称为客户端(Client)   Java消息服务(Java Message Service, JMS)可以在完全不同的平台上实现应用程序和系统请求的服务调用;异步处理请求的能力,缓解系统瓶颈,提高系统的可伸缩性;能够实现组件之间的高度解耦,使系统具有高度的灵活性和敏捷性。二、架构描述基

2016-03-12 19:56:48 740

转载 架构之分布式消息队列

一、消息队列概述  消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件   目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等二、消息队列应用场景  以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解

2016-03-11 10:25:33 398

原创 Java 反射

一、Java 反射可以动态的创建和编译对象,获取正在运行的对象的信息。反射的功能:  1、判断对象所属的类  2、判断对象拥有的成员变量和方法  3、可以调用 private类型的方法反射的缺点对性能有影响,慢于直接执行相同的操作

2016-03-10 10:20:29 265

原创 Spring整合Junit4

1、加入相应依赖包 junit4-4.7.jar 以及spring相关jar包2、在测试代码的源码包中如 src/test/java 新建一个抽象类如下import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.te

2016-03-08 10:37:52 536

原创 Maven基本用法

Maven是什么?  Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。Maven使用标准的目录结构和默认构建生命周期,所有的项目都有如下的结构: MavenProjectRoot(项目根目录)  |—-src  |  |—-main  |  |   |—-java ——存放项目的.java文件  |  |   |—-resources ——存放项目资

2016-03-02 09:12:27 3559

转载 Spring配置c3p0、dbcp数据库连接池

c3p0简介:   C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展c3p0所需jar:c3p0-0.9.2.1.jar、 mchange-commons-java-0.2.3.4.jardbcp简介:   DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是

2016-02-26 16:19:58 588

原创 HTTP协议

HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是一个应用层的面向对象的协议,由请求和响应构成,是一个标准的客户端服务器模型,HTTP是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。   HTTP协议通常承载于TCP协议之上,默认端口号为 80;有时承载于TLS或SSL协议层之上,这时就是HTTPS,默认端口号为443。

2016-02-25 21:02:53 468

原创 Tomcat 调优

Tomcat的优化分两块:Tomcat启动时JVM参数和.Tomcat自身优化  Tomcat默认使用的内存是128M,可以增大Tomcat启动时JVM内存。   Windows修改catalina.bat:   set JAVA_OPTS=-server -Xms256M -Xmx512M  Linux修改catalina.sh文件:

2016-02-25 16:40:08 287

原创 JBPM-工作流

1. JBPM基础  JBPM,全称是Java Business Process Management(业务流程管理),工作流(Workflow)即业务过程的部分或整体在计算机应用环境下的自动化。基于Java的业务流程管理系统,使用Hibernate来管理它的数据库,通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。2. JBPM4.4开发环境2.1 相关资源jb

2016-02-24 22:28:32 357

原创 Struts2-工作原理

本文主要总结一下 Struts2的工作原理,相关源码分析,以及与Struts1的区别。1. Struts2的工作原理Struts2的工作原理可以用下面这张图进行描述: (1)客户端初始化一个指向Servlet容器(例如Tomcat)的请求(HttpServletRequest) (2)这个请求经过一系列的Filter(首先是ActionContextCleanUp,然后是其他过滤器Other

2016-02-24 22:24:55 250

原创 Servlet&Jsp

一、Servlet(1)Servlet基础  Servlet是运行在Web服务器或应用服务器,它担当Web 浏览器或其他Http 客户程序发出的请求,数据库或应用程序之间的中间层。  Servlet 的任务是:首先读取客户端发送的数据、隐式HTTP

2016-02-22 21:48:16 230

原创 SOA-面向服务架构

许多企业和政府部门使用不同技术,建设了不同规模的应用系统,造成了"信息孤岛"现象,SOA面向服务的体系结构,提倡将不同应用程序的业务功能封装成**“服务”**并宿主起来,通常以接口和契约的形式暴露并提供给外界应用访问(通过交换消息),达到不同系统可重用的目的。

2016-02-22 14:53:57 343

原创 Java 异常

Java异常是指发生在程序执行过程中错误事件,Java预先定义了很多异常类,Throwable 类是 Java 语言中所有错误或异常的超类,它又可以分为两种类型(两个子类): 1)Error:表示程序在运行期间出现了十分严重、不可恢复的错误,在这种情况下应用程序只能中止运行,(除特殊情况,一般自己不用关心)比如OutOfMemoryError2)Exception:表示程序本身可以处理的异常,它又分为两大类:

2016-02-20 20:23:27 243

原创 Java 容器

Java 容器类类库的用途是”保存对象”,容器API位于 java.util包内,其中分为两个概念不同的集合,如下类图: 图-1 容器相关类图 一、Collection:其元素是一组Object对象序列,不同自接口又有不同的规则、行为(继承和多态的应用,表现不同的行为) 二、Map:一组成对的”键值对”对象,不能有相同的key,一个key对应一个value

2016-02-20 20:18:49 294

原创 JVM虚拟机执行子系统

虚拟机类加载机制:代码编译的结果从本地机器码转变为字节码,Java编译后产生Class文件,虚拟机把Class文件加载到内存,并对数据进行校验、解析和初始化,最终形成可被虚拟机使用的Java类型。类从被加载到内存到卸载出内存,整个生命周期包括以下 7 个阶段

2016-02-01 22:05:47 388

原创 JVM OutOfMemoryError异常

《深入理解Java虚拟机》  在Java虚拟机中,除了程序计数器外,其他几个运行时区域都有发生OutOfMemoryError(OOM)异常的可能。   JVM 堆溢出、Java栈和本地方法栈溢出、方法区溢出、本机直接内存溢出

2016-02-01 15:56:13 947

原创 Java 多线程

一、线程的基本概念   几乎每种操作系统都支持进程的概念 – 进程就是在某种程度上相互隔离的、独立运行的程序   进程 是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。   线程 是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某

2016-02-01 15:41:11 311

原创 Java IO/NIO

在Java程序中,对于数据的输入/输出以”流”(Stream)方式进行 java.io 包定义了多个流类型:   1) 按数据流方向分为 – 输入流和输出流   2) 按数据单位分为 – 字节流和字符流   3) 按功能分为 – 节点流和处理流所有流类型均位于java.io包内,分别继承以下四种抽象流类型:       字节流      字符流 输入流   InputStr

2016-02-01 15:40:48 980

转载 JVM源码分析之堆外内存完全解读

JVM源码分析之堆外内存完全解读广义的堆外内存说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:M

2016-02-01 15:19:33 356

原创 JVM垃圾收集

JVM垃圾收集 垃圾收集器在对堆进行回收之前,如何判断对象是否”存活“?   > 引用计数算法:创建对象时 > 可达性分析算法:通过一系列称为”GC Roots” 的对象作为起点,… …垃圾收集算法:标记-清除算法(Mark-Sweep)、复制算法(Copying)、标记-整理算法(Mark Compact)

2016-02-01 11:13:22 285

原创 JVM内存管理

Java虚拟机在执行Java程序时,会把它所管理的内存区域在逻辑上划分为不同的区,具体如下图: 堆(Heap)   堆内存是被所有线程共享(因此在堆上分配内存需要加锁)的一块内存区域,主要用来存放对象的实例,垃圾回收也主要是回收堆的空间。   现在收集器基本都采用分代收集算法,Java堆还可以细分为:新生代(Young Generation)、老年代(Old Generation)和永久代(Pe

2016-01-29 16:44:10 246

原创 1-Linux-系统目录

1-Linux-系统目录两个特殊目录  [ . ] 点代表当前目录,也可以用[ ./ ]表示   [ .. ] 点点代表上一层目录,也可以用[ ../ ]表示Linux系统的主要目录:(在Linux系统中所有对象都是文件或者目录)[ / ] 根目录:Linux文件系统的入口,所有的目录文件设备都在此目录下,开机时第一个挂载的Partition(分区) -[/boot]:存放Linux的核心档案

2016-01-27 15:25:40 253

原创 3-Linux-档案属性-chmod-chown-chgrp

# ls -l drwxr-xr-x 2 root root 4096 Aug 6 11:11 Desktop -rwxrwx-wx 1 root root 18 Aug 15 21:06 data七个字段的含义一次为: [-rwxrwx-wx]–属性 [1]–连接数 [root]–拥有者 [root]–所属群组 [18]–大小 [Aug] 15 21:06–最后

2016-01-27 15:23:20 307

原创 2-Linux-虚拟机系统安装

2-Linux-虚拟机系统安装 VMware 安装 Red Hat Enterprise Linux Server release 5.9一、安装前VMware准备 创建新的虚拟机–>选择 自定义(高级)–> 默认–> 稍后安装操作系统–> Linux 版本 Red Hat Enterprise Linux 5 64位 –> 默认 –> 默认 –> 默认 –> 使用桥接网段 –> 默认 –> 默认 –>

2016-01-27 14:57:21 263

原创 Java基本类型及其封装类

Java设定了每种基本类型所占存储空间的大小,并且不随机器结构的变化而变化。 基本类型与其包装类的区别 · 基本类型只包含数据,而包装类包含了数据和操作 · 在一个方法中,基本类型变量和引用变量都在栈中,而具体的对象存储在堆中 · 引用变量缺省值为 null,基本类型缺省值与它们的类型有关

2016-01-26 16:52:45 542

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除