![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
web
shendeguang
这个作者很懒,什么都没留下…
展开
-
Java中数据库连接池原理机制的详细讲解
连接池的基本工作原理 1、基本概念及原理 由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效治理。我们知道,对于共享资源,有一个很闻名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配?释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数转载 2012-10-29 17:04:01 · 578 阅读 · 0 评论 -
hibernate执行流程
1.Hibernate 的初始化.读取Hibernate 的配置信息-〉创建Session Factory1)创建Configeration类的实例。 它的构造方法:将配置信息(Hibernate config.xml)读入到内存。 一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。2)创建SessionFactory实例转载 2012-10-29 21:59:59 · 430 阅读 · 0 评论 -
hibernate.jdbc.fetch_size hibernate.jdbc.fetch_size
hibernate.jdbc.fetch_size 50hibernate.jdbc.batch_size 25这两个选项非常非常非常重要!!!将严重影响Hibernate的CRUD性能!C = create, R = read, U = update, D = deleteFetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条转载 2012-10-30 12:49:50 · 653 阅读 · 0 评论 -
struts1以及hibernate2包说明
Struts1.X 的 jar 包说明myeclipse可以添加struts1.2等libraries其中包含apache公司写了一系列的工具包,比如comm-XXXXX这些呢都是可以独立的,而struts.jar是依存这些的, 比如说commons-collections.jar是扩展了集合框架的一个工具包,commons-beanutils.jar是对javaBean操作的一个转载 2012-10-30 15:53:24 · 290 阅读 · 0 评论 -
java process的waitfor()
在编写Java程序时,有时候我们需要调用其他的诸如exe,shell这样的程序或脚本。在Java中提供了两种方法来启动其他程序: (1) 使用Runtime的exec()方法 (2) 使用ProcessBuilder的start()方法 Runtime和ProcessBulider提供了不同的方式来启动程序,设置启动参数、环境变量和工作目录。但是这两种转载 2012-10-30 22:00:09 · 1116 阅读 · 1 评论 -
多线程和多进程的区别(小结)
一.为何需要多进程(或者多线程),为何需要并发?这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们确实无法感受到并发的魅力以及必要性。我想,只要你不是整天都写那种int main()到底的代码的人,那么或多或少你会遇到代码响应不够用的情况,也应该有尝过并发编程的甜头。就像一个快餐点的服务员,既要在前台接待客户点餐,又要接电话送外卖,没有分身术肯定会忙得你焦头转载 2012-10-30 21:19:11 · 331 阅读 · 0 评论 -
java管道通信
Java提供管道功能,实现管道通信的类有两组:PipedInputStream和PipedOutputStream或者是PipedReader和PipedWriter。管道通信主要用于不同线程间的通信。一个PipedInputStream实例对象必须和一个PipedOutputStream实例对象进行连接而产生一个通信管道。PipedOutputStream向管道中写入数据,PipedIntp转载 2012-10-30 21:57:00 · 1202 阅读 · 0 评论 -
SPOOLing技术
SPOOLing(Simultaneous Peripheral Operation On-Line)技术,即外部设备联机并行操作,是为实现低速输入输出设备与高速的主机之间的高效率数据交换而设计的。通常称为“假脱机技术”,又称为排队转储技术。 具体来说,SPOOLing技术在输入输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。而所谓“输入井”转载 2012-10-31 13:04:05 · 1292 阅读 · 0 评论 -
六类UML图
2.1 类图2.2 对象图2.3 包图2.4 活动图2.5 序列图2.6 用例图 本章介绍六类UML图的主要用途,以及常见的概念及图示,以便对这六类图有一个初步的认识。 2.1 类图 如果投票选最重要的UML图,我一定会把票投给类图( class diagram)。类图是一款结构图(structure diagram),如图2-1所示,我们可以用它来表转载 2012-11-02 09:38:47 · 931 阅读 · 0 评论 -
Java中的Set,List,Map
对JAVA的集合的理解是想对于数组 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型. JAVA集合主要分为三种类型: Set(集) List(列表) Map(映转载 2012-11-02 13:04:20 · 279 阅读 · 0 评论 -
UML建模之时序图(Sequence Diagram)
一、时序图简介(Brief introduction) 时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。 二转载 2012-11-02 14:33:47 · 441 阅读 · 0 评论 -
UML用例图
用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功转载 2012-11-02 14:36:21 · 268 阅读 · 0 评论 -
死锁
由于线程可能进入堵塞状态,而且由于对象可能拥有“同步”方法——除非同步锁定被解除,否则线程不能访问那个对象——所以一个线程完全可能等候另一个对象,而另一个对象又在等候下一个对象,以此类推。这个“等候”链最可怕的情形就是进入封闭状态——最后那个对象等候的是第一个对象!此时,所有线程都会陷入无休止的相互等待状态,大家都动弹不得。我们将这种情况称为“死锁”。尽管这种情况并非经常出现,但一旦碰到,程序的调转载 2012-11-04 14:15:02 · 283 阅读 · 0 评论 -
synchronized和LOCK的实现---Java之锁研究
Lock和synchronized JDK1.5以后,在锁机制方面引入了新的锁-Lock,在网上的说法都比较笼统,结合网上的信息和我的理解这里做个总结。 java现有的锁机制有两种实现方式,J.DK1.4前是通过synchronized实现,JDK1.5后加入java.util.concurrent.locks包下的各种lock(以下简称Lock) 先说转载 2012-11-04 16:47:12 · 372 阅读 · 0 评论 -
IoC与DI
IoC与DI 首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认转载 2012-11-04 18:15:00 · 295 阅读 · 0 评论 -
IoC与DI
IoC与DI 首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认转载 2012-10-25 21:21:39 · 390 阅读 · 0 评论 -
软件开发模型
软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。最早出现的软件开发模型是1970年W·Royce提出的瀑布模型。该模型给出了固定的顺序,将生存期活转载 2012-11-05 11:10:16 · 307 阅读 · 0 评论 -
DTO
Java DTO(DataTransferObject)分布式系统(distributed system):是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在转载 2012-10-28 19:09:09 · 829 阅读 · 0 评论 -
JAVA socket编程实例
(转载文章,原作者无从考证,感谢作者的无私奉献)事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了.Java SDK提供一些相对简单的Api来完成这些工作.Socket就是其中之一.对于Java而言.这些Api存在与java.net 这个包里面.因此只要导入这个包就可以准备网络编程了.网络编程的基本模型就是转载 2012-11-05 19:11:31 · 264 阅读 · 0 评论 -
spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
spring提供访问数据库的有三种方式: HibernateDaoSupport,HibernateTemplate(推荐使用),jdbcTemplateHibernateTemplate:org.springframework.orm.hibernate3.HibernateTemplateHibernateDaoSupport:org.springframework.orm.hiber转载 2012-11-06 10:03:39 · 388 阅读 · 0 评论 -
SQL优化实例:OR -- UNION
以下的SQL语句在服务器需要运行长达30分钟才能完成:SELECT dbo.ComFlow.ComFlowCode, dbo.ComFlow.ComCode, dbo.ComFlow.CustCode, dbo.ComFlow.DepartCode, dbo.ComFlow.SaleCode, dbo.ComFlow.EmpCode, d转载 2012-11-06 11:05:00 · 445 阅读 · 0 评论 -
PreparedStatement与Statement
PreparedStatement:1.PreparedStatement的节省的时间是网络开销的时间,真正sql执行的时间大概占10%,建立网络连接的时间大概占90%.对于一些批量插入的操作,DB的服务器端仍然是逐条插入的(以前一直以为DB服务器端对于PrestatedStatement的sql只执行一次,这是错误的理解, 仍然是多次,只是这个多次是在一次连接的基础上实现,而Statem转载 2012-11-06 20:52:43 · 701 阅读 · 0 评论 -
spring 编程式事务管理—PlatformTransactionManager
JDBC的事务管理在Spring2.0下有两种编程式的实现PlatformTransactionManagerTransactionTemplate对于PlatformTransctionManager,通常,不直接使用它,而是使用它的实现类DataSourceTransactionManager。具体用法如下:1. 实例化的时候,需要用个数据源作参数2. 建立事务的定转载 2012-11-06 20:22:19 · 3467 阅读 · 0 评论 -
拦截器执行顺序
转:http://tsunzhang.iteye.com/blog/811566 现在,我们将重点讨论一下Struts2中的拦截器的内部结构和执行顺序,并结合源码进行分析。Interceptor结构让我们再来回顾一下之前我们曾经用过的一张Action LifeCycle的图: 我在这里需要指出的是一个很重要的方法invocation.invoke()。这是转载 2012-11-07 19:55:28 · 1109 阅读 · 0 评论 -
Struts 2 methodfilterinterceptor--拦截方法的拦截器
在默认情况下,如果我们为某个Action定义了拦截器,则这个拦截器会拦截该Action内的所有方法。但有时我们不想拦截所有的方法,只需要拦截指定方法,此时就需要使用Struts 2拦截器的方法过滤特性。为了实现方法过滤的特性,Struts 2提供了一个MethodFilterInterceptor类,该类是AbstractInterceptor类的子类,如果用户需要自己实现的拦截器支持方法转载 2012-11-07 21:06:49 · 3905 阅读 · 0 评论 -
Spring事务的传播行为和隔离级别
转载自:http://blog.chinaunix.net/u1/55983/showart_2091761.html7个传播行为,4个隔离级别, Spring事务的传播行为和隔离级别[transaction behaviorand isolated level]2007-08-01 16:33事务的传播行为和隔离级别[transaction behavior and isol转载 2012-11-07 21:51:54 · 427 阅读 · 0 评论 -
Spring工作原理及其作用
Spring工作原理及其作用 1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Contro转载 2012-11-08 10:10:38 · 422 阅读 · 0 评论 -
struts-default.xml详解
每学习一个框架,我们都免不了要学习一些关于的配置文件,struts2也不例外,下面我就讲一下struts2中几个主要的配置文件。1) struts-default.xml这个文件是struts2框架默认加载的配置文件。它定义struts2一些核心的bean和拦截器。"-//Apache Software Foundation//DTD Struts Config转载 2012-11-07 20:03:03 · 722 阅读 · 0 评论 -
JAVA中转义字符
JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377' 可以少于三位,每位为八进制数(System.out.println((int)'\377');即255) \0:空字符 2.Unicode转义字符:\u + 四个十六进制数字;0~65535 必须为四位,每位是十六进制数(System.out.println转载 2012-11-07 16:24:47 · 549 阅读 · 0 评论 -
spring IOC(资料)
一、Spring的IoC(Inversion of Control)。这是Spring中得有特点的一部份。IoC又被翻译成“控制反转”,也不知道是谁翻译得这么别扭,感觉很深奥的词。其实,原理很简单,用一句通俗的话来说:就是用XML来定义生成的对象。IoC其实是一种设计模式,Spring只是实现了这种设计模式。这种设计模式是怎么来的呢?是实践中逐渐形成的。第一阶段:用普通的无模式转载 2012-11-08 10:24:12 · 381 阅读 · 0 评论 -
XML文档类型定义(DTD)
1、格式良好的 XML文档符合语法的XML文档称为结构良好的XML文档 。2、有效XML文档有效XML文档:内容结构严格遵守它自身的标记说明,能通过自身的语法检查;通过DTD验证的XML文档称为有效的XML文档 。格式良好的XML文档与有效的XML文档的区别?有效地XML文档肯定是格式良好的XML文档。反过来,一个格式良好的XML文档不一定是有效的XML文档。有效的XML文档遵转载 2012-11-09 20:31:38 · 580 阅读 · 0 评论 -
XML Schema简介 -- 另一个xml文档结构定义
一、 Schema概述 在XML技术成为万维网推荐标准之后,DTD体现出的不少局限性,万维网协会又推出了用于描述、约束、检验XML文档的新方法:Schema(XML架构)。Schema也是用来定义XML文档、并利用该定义验证XML文档是否符合要求的一种技术。Schema对XML文档结构的定义和描述主要作用是用来约束XML文档,并验证XML文档有效性。Schema文档中的元素通过使用e转载 2012-11-09 20:47:22 · 947 阅读 · 0 评论 -
XML Schema与DTD比较
一、【引言】Xml即Extensible Markup Language可扩展标记语言。它是由SGML(Standard Gerneralized Markup language)发展而来的,允许开发者自定标签,可以将标签和内容有效的分离。在XML技术里,可以编写一个文档来约束XML文档的书写规范,称之为XML约束。本文主要介绍DTD与Schema两种约束(当然还还有其他的约束方式,如:XDR转载 2012-11-09 21:09:21 · 1507 阅读 · 0 评论 -
谈IFRAME标签的使用作用及技巧
纵观时下网站,本来网速就有些慢,可是几乎每页都要放什么Banner,栏目图片,版权等一大堆雷同的东西,当然,出于网站风格统一、广告效应的需要,本无可厚非,可毕竟让用户的钱包为这些“点缀“的东西”日益消得钱憔悴”了,有没有办法,让这些雷同的东西一次下载后就不用再下载,而只下载那些内容有变化区域的网页内容呢? 答案很肯定:应用Iframe标记! 一、Iframe标记的使用 提起转载 2012-11-10 21:53:57 · 2606 阅读 · 0 评论 -
ajax编程
Ajax的交互方式同步交互和异步交互 举个例子:普通B/S模式(同步) AJAX技术(异步) * 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 * 异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情,如继续发送其他请求需要创建另一个xmlhttprequest对象)->处理完毕转载 2012-11-11 13:22:01 · 1249 阅读 · 0 评论 -
Spring AOP 实现原理与CGLIB应用
Spring 实现AOP是依赖JDK动态代理和CGLIB代理实现的。以下是JDK动态代理和CGLIB代理简单介绍 JDK动态代理:其代理对象必须是某个接口的实现,它是通过在运行期间创建一个接口的实现类来完成对目标对象的代理。 CGLIB代理:实现原理类似于JDK动态代理,只是它在运行期间生成的代理对象是针对目标类扩展的子类。CGLIB是高效的代码生成包,底层是依靠ASM(开转载 2012-11-08 22:03:17 · 594 阅读 · 0 评论 -
CPU字长、数据总线宽度、几位的处理器之间的关系
字长是指计算机内部参与运算的数的位数。它决定着计算机内部寄存器、ALU和数据总线的位数直接影响着机器的硬件规模和造价。字长直接反映了一台计算机的计算精度为适应不同的要求及协调运算精度和硬件造价间的关系大多数计算机均支持变字长运算即机内可实现半字长、全字长或单字长和双倍字长运算。 微型机的字长通常为4位、8位、16位和32位64位字长的高性能微型计算机也已推出。 字长对计算机计算转载 2012-11-11 21:24:16 · 12019 阅读 · 0 评论 -
什么是子域名、什么是二级域名?
比如您注册的域名是pagehome.cn,那么他是由一个字符串加一个域名尾,中间用.号隔开。这就是一个顶级域名,如果在顶级域名前在由.隔开加上不同的字符,比如club.pagehome.cn,那么我们就说club是顶级域名pagehome.cn的一个主机名,club.pagehome.cn就是一个二级域名是pagehome.cn的子域名。 道理等同二级域名,不过比二级域名更加延伸,比如我们继转载 2012-11-10 21:01:49 · 1660 阅读 · 0 评论 -
大流量网站的底层系统架构
动态应用,是相对于网站静态内容而言, 是指以c/c++、php、Java、perl、.net等 服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通 常与数据库系统、缓存系统、分布式存储系统等密不可分。大型动态应用系统平台主要是针对于大流 量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站转载 2012-11-10 21:59:23 · 347 阅读 · 0 评论 -
ajax同步 异步
Ajax在网页中最大的一个优点是它可以访问服务器上的信息而不需要重新加载网页。这意味着要检索或是更新信息的某一小个部分的时候,只需要从服务器端传送那一部分需要的信息而不需要重新下载整个网页。 Ajax可以通过两种方法访问服务器,即同步(脚本会停留并等待服务器发送回复然后再继续)和异步(脚本允许页面继续其进程并处理可能的回复)。 即使是同步处理你的请求有一点像重新加载页面但是只需要下载要转载 2012-11-10 11:07:27 · 443 阅读 · 0 评论