`
suddenlychen
  • 浏览: 17775 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论
文章列表
1.前言 数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游标(ResultSet)、Statement、连接 (Connection)等资源),往往会直接导致系统的稳定。这类不稳定因素,不单单由数据库或者系统本身一方引起,只有系统正式使用后,随着流量、用户的增加,才会逐步显露。 在b基于Java开发的系统中,JDBC是程序员和数据库打交道的主要途径,提供了完备的数据库操作方法接口。但考虑到规范的适用性,JDBC只提供了最直接的数据库操作规范,对数据库资源管理,如:对物理连接的管理及缓冲,期望第三方应用服务器(App ...
struts2支持多种表达式语言,如:jstl、OGNL等常用表达式。但它默认的还是OGNL。从网上收集了下资料,做个学习笔记。(首先向资料的原创作者致谢!因为下面的内容有部分引用,例如:http://www.blogjava.net/max/archive/2007/04/28/114417.html) 一、什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。 OGNL有如下特点: 引用 (1)、支持对象方法调用,形式如:objName.method ...
1. EHCache 的特点,是一个纯Java ,过程中(也可以理解成插入式)缓存实现,单独安装Ehcache ,需把ehcache-X.X.jar 和相关类库方到classpath中。如项目已安装了Hibernate ,则不需要做什么。。直接可以使用Ehcache Cache 存储方式 :内存或磁盘 2. 单独使用 EHCache 使用CacheManager 创建并管理Cache 1.创建CacheManager有4种方式: A:使用默认配置文件创建 Java代码 CacheManager manager = CacheManager.create();   C ...
好长时间没有用过Spring了. 突然拿起书.我都发现自己对AOP都不熟悉了.其实AOP的意思就是面向切面编程.OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!还是拿人家经常举的一个例子讲解一下吧:比如说,我们现在要开发的一个应用里面有很多的业务方法,但是,我们现在要对这个方法的执行做全面监控,或部分监控.也许我们就会在要一些方法前去加上一条日志记录,我们写个例子看看我们最简单的解决方案我们先写一个接口IHello.java代码如下:  1package sinosoft.dj.aop.staticaop; 2  ...
public static Object newInstance(String className) { Class<?> cls = null; Object obj = null; try { cls = Class.forName(className); obj = cls.newInstance(); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } catch (InstantiationException e) { thr ...
来自:http://hi.baidu.com/fytcm/blog/item/074a82ed3821a54c78f0559e.html 通常建议采用声明式事务管理。声明式事务管理的优势非常明显:代码中无需关于关注事务逻辑,让Spring声明式事务管理负责事务逻辑,声明式事务管理无需与具体的事务逻辑耦合,可以方便地在不同事务逻辑之间切换。 声明式事务管理的配置方式,通常有如下三种: 1.使用TransactionProxyFactoryBean为目标bean生成事务代理的配置。此方式是最传统,配置文件最臃肿、难以阅读的方式。 2.采用bean继承的事务代理配置方式,比较简洁,但依然是增量式配 ...
一、理论知识 1.依赖注入、控制反转 依赖注入:在运行期,由外部容器动态地将依赖对象注入到组件中控制反转:应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部窗口负责得。这样控制权就由应用转 ...
今天在分析问题时发现一个大家平时都不太注意的spring 配置问题,发出来分享下: 首先澄清一个概念: 同名bean:多个bean 有相同的 name 或者 id,称之为同名bean <bean> 的id 和 name的区别 id和name都是spring 容器中中bean 的唯一标识符。 id: 一个bean的唯一标识  , 命名格式必须符合XML ID属性的命名规范 name: 可以用特殊字符,并且一个bean可以用多个名称:name=“bean1,bean2,bean3” ,用逗号或者分号或者空格隔开。如果没有id,则name的第一个名称默认是id spring 容器如何处理同 ...
1 JVM简介 JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实时交易系统等等,直到某一天突然发现做的系统咋就这么慢呢,而且时不时还来个内存溢出什么的,今天是交易系统报了StackOverflowError,明天是网站系统报了个OutOfMemoryError,这种错误又很难重现,只有分析Javacore和dump文件,运气好点还能分析出个结果,运行遭的点,就直接去庙里烧香吧!每天接客户的 ...
有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。  Java序列化算法透析  Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。  序列化的必要性  Java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设备传递到另一端。这 ...
 一、Xml Schema的用途 定义一个Xml文档中都有什么元素 定义一个Xml文档中都会有什么属性 定义某个节点的都有什么样的子节点,可以有多少个子节点,子节点出现的顺序 定义元素或者属性的数据类型 定义元素或者属性的默认值或者固定值 二、Xml Schema的根元素: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 表示数据类型等定义来自w3 targetNames ...
我们经常需要将我们的程序中的设定,如窗口位置,开启过的文件,用户的选项设定等数据记录下来,以做便用户下一次开启程序能继续使用这些数据。以前我们通常的做法是使用Properties类,它提供以下方法:void load(InputStream inStream)void store(OutputStream out, String header)String getProperty(String key, String defaultValue)String getProperty(String key)这些方法让我们很容易的存取设定数据.另外的办法是使用ResourceBundle这个类来储存设 ...
程序如下: class C{ public static void main(String args[]){       int a[][] = {{1,2,3},{4,5,6}};       int b[][] = new int[a.length][a[0].length];       System.arraycopy(a,0,b,0,a.length); //通过arraycopy()函数拷贝数组       b[0][0] = 4; //改变数组b[0][0]的值   ...
其中 Arrays.copy是JDK1.6中引用的新方法。它调用了System.arraycopy完成相关数组的复制。 在JDK1.6中ArrayList的相关add remove等操作都是调用System.arraycopy来对其底层的Object[]elementData数组进行操作的。 LinkedList则使用一个Entry的内部类,其有指向next和previous的引用保存元素,它的遍历则先计算出所需index和size>>1(以为后的大小),确定是通过previous还是next遍历。 System.arraycopy   01.public static v ...
一般来说,jsp接收到请求的时候,就向数据库要求一个连接,当执行完成后再断开连接,这样的方式将会消耗大量的资源和时间。因为每次向数据库建立连接的时候都要将Connection加载到内存中,再验证用户名和密码,等一切结束通过后,再与用户建立连接,断线后又要重来一次。如此冗长的程序,既耗时又没有效率,因此我们采用连接池来优化这个问题。 连接池的运作方式是一开始向数据库要求很多的Connection,存储在一个池中,让需要的人从连接池中取得Connection,至于Connection的管理交由数据源来控制。不过为了养成良好的习惯,还是将jsp不使用的资源归还给数据来源,让真正需要的人来使用Conn ...
Global site tag (gtag.js) - Google Analytics