- 博客(93)
- 资源 (1)
- 收藏
- 关注
转载 欲为Java技术大牛所需的25个学习要点
1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflecti
2009-08-30 14:45:00
1256
6
转载 sql server行级锁,排它锁,共享锁的使用
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数据,随后B用户读出该数据并
2009-08-29 13:22:00
878
转载 二进制文件和文本文件到底有什么区别
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASC码: 00110101 00110110 00110111 00111000 ↓ ↓ ↓ ↓ 十进制码: 5 6 7 8 共占用4个字
2009-08-29 12:07:00
2872
1
转载 ORACLE SQL性能优化(四)
13. 计算记录条数 和一般的观点相反, count(*) 比count(1)稍快 , 当然如果可以通过索引检索,对索引列的计数仍旧是最快的. 例如 COUNT(EMPNO)(译者按: 在CSDN论坛中,曾经对此有过相当热烈的讨论, 作者的观点并不十分准确,通过实际的测试,上述三种方法并没有显著的性能差别) 14. 用Where子句替换HAVING子句
2009-06-24 16:44:00
681
转载 ORACLE SQL性能优化(三)
8.使用DECODE函数来减少处理时间 使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. 例如: SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’; SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT
2009-06-24 16:43:00
532
转载 ORACLE SQL性能优化(二)
4. 选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理.在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时,会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那
2009-06-24 16:42:00
459
转载 ORACLE SQL性能优化(一)
1.选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(ses
2009-06-24 16:38:00
502
转载 游标(cursor)概念
游标(cursor) 游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果 每个游标区都有一个名字 用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理 主语言是面向记录的,一组主变量一次只能存放一条记录 仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求 嵌入式SQL引入了游标的概念,用来协调这两种不同的处理
2009-06-24 16:37:00
832
转载 常用Oracle数据库调优工具介绍
1. 数据库级调优1.1.修改数据库参数<br />以sys用户登录,运行如下的命令:<br />alter system set optimizer_index_cost_adj=10 scope=spfile<br />alter system set optimizer_dynamic_sampling=5 scope=spfile<br /> <br />optimizer_index_cost_adj取值0-1000,缺省100 ;值越小oracle就越趋向使用索引<br />optim
2009-06-24 15:58:00
559
转载 hibernate二级缓存攻略
很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇文章介绍一下hibernate的二级缓存的,今天终于忍不住了。 我的经验主要来自hibernate2.1版本,基本原理和3.0、3.1是一样的,请原谅我的顽固不化。 hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效
2009-06-15 23:56:00
1172
转载 持久化层的Java对象可处于哪些状态?这些状态有哪些特征?
当应用程序通过new语句创建了一个对象,这个对象的生命周期就开始了,当不再有任何引用变量引用它,这个对象就结束生命周期,它占用的内存就可以被JVM的垃圾回收器回收。对于需要被持久化的Java对象,在它的生命周期中,可处于以下三个状态之一: (1) 临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象被称为临时对象。 (2)
2009-02-04 11:28:00
999
转载 ThreadLocal 在多线程中的使用
EasyDBO的数据库连接部分,为了给每个连接提供上下文,程序用到了一个关键的类——ThreadLocal。什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用
2009-02-04 09:45:00
1283
转载 浅谈AOP
AOP基本思想英文全称是Aspect Oriented Programming,它使开发人员可以更好地将本不该彼此粘合在一起的功能分离开。www.manguo.net*n9M"p7j0r9z9q 认识AOP开发人员在编写应用程序时,通常包含两种代码:一种是和业务系统有关的代码,一是和业务系统关系不大的代码,例如日志、权限、异常处理、事务处理等。以前编写代码时,这两种代码基本是写在一起的,这样在程序
2009-02-03 10:38:00
1701
转载 OpenSessionInViewFilter 作用
Spring为我们解决最让人头痛的难题之一,Hibernate的Session的关闭与开启问题。 Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate
2009-01-15 14:07:00
1417
转载 Hibernate主键生成方式
Hibernate中,标签下的可选子元素是一个Java类的名字,用来为该持久化类的实例生成惟一标示,所有的生成器都实现net.sf.hibernate.id.IdentifierGenerator接口。这是一个非常简单的接口,某些应用程序可以选择提供它们自己的特定实现。当然,Hibernate提供了很多内置的实现。下面是一些内置主键生成器(Key Generator)的意义。 1) assig
2009-01-15 13:50:00
642
转载 Hibernate题
(1)一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)A)表对应类B)记录对应对象C)表的字段对应类的属性D)表之间的参考关系对应类之间的依赖关系(2)以下关于SessionFactory的说法哪些正确?(多选)A)对于每个数据库事务,应该创建一个SessionFactory对象B)一个SessionFactory对象对应一个数据库存储源。C)SessionFactory是重量
2009-01-15 13:39:00
721
转载 JAVA 面试题
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字转换为字符 如何取小数点前两位,并四舍五
2009-01-15 13:32:00
686
转载 Hibernate中Session.load与Session.get的区别
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。 Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。 load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓
2009-01-15 13:21:00
1796
2
转载 Struts1与Struts2的区别
Apache Struts 2 GA 版本发布了.这是Apache Struts 2 首次发行稳定的版本, GA意味着 General Availability , 也就是官方开始推荐广泛使用了.Struts2 GA版本的发布, 意味着核心开发力量将全部转移到Struts2, 对Struts1的支持将会淡化.下面列出了一些Struts1和Struts2的区别和对比:Action 类: • Stru
2009-01-15 11:11:00
673
转载 ThreadLocal在spring框架中的作用
我们知道Spring通过各种DAO模板类降低了研发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO能够复用同一个模板实例而不会发生冲突。 我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说他们不能在同一时刻被多个线程共享。 虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或会话
2009-01-15 10:49:00
2648
转载 JNDI原理简介
摘要:本文详细介绍了JNDI的架构与实现,JNDI的工作原理,并给出了具体代码,帮助读者更理解J2EE主要常用技术---JNDI.本文为系列文章的第一篇,其它相关文章会在近期推出。名词解释 jndi是Java 命名和目录接口(Java Naming and Directory Interface,JNDI)的简称.从一开始就一直是 Java 2 平台企业版(JEE)的核心技术
2009-01-14 11:17:00
9757
4
转载 Classloader 基础
什么是ClassLoaderClassLoader是一个抽象类,我们用它的实例对象来装载类,它负责将 Java 字节码装载到 JVM 中, 并使其成为 JVM 一部分。 JVM 的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块,而不影响系统其他功能模块的正常运行。一般是通过类名读入一个class文件来装载这个类,(其它加载形式暂时没有研究过)。ClassLoader装载过
2009-01-13 10:20:00
818
转载 ThreadLocal 的使用
EasyDBO的数据库连接部分,为了给每个连接提供上下文,程序用到了一个关键的类——ThreadLocal。什么是ThreadLocal?顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用
2009-01-13 10:06:00
596
转载 EJB 3.0简介
SUN中国软件技术中心 王强 wynne.wang@sun.com1 简化开发的目标1.1我们的目标EJB3.0是当前很多人谈论的话题,企业软件开发的一个关键是,提供一个尽量简单的的应用框架:它可以使开发人员不用关注于复杂的问题,比如事务处理、安全和持久化等。可以集中精力关注于商业逻辑,而不用关心那些低层的技术细节,从而提高开发者的效率,得到高质量的软件。这也是制定EJB 3.0规范的
2009-01-12 15:37:00
559
转载 web.xml配置文件祥解
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。 DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。 所有部署描述符文件的顶层(根)元素为web
2009-01-12 14:52:00
571
转载 struts自定义标签开发
带body的自定义标签,尝试写一个标签,这个标签可以迭代显示标签主体里面的内容,迭代的次数由标签的属性指定.首先,要说明的是,其实标签也是一个java类,它是运行一个或两个接口的javabean,然后再配合标签描述文件(以.tld为扩展名),两者结合就可以作出自己的自定义标签库了.呵呵,是不是觉得有点眉目了?那么下面我们开始写一个自己的java标签类,作为有body的标签,这个类必须实现javax
2009-01-12 14:45:00
900
转载 Struts Validator 框架的使用
Struts1.1及以上版本在提供了DynaActionForm的同时,配合数据验证的需要,还提供了表单输入自动验证的功能,即使用Validator验证框架。 在使用Validator验证框架时,需要用到二个基于XML的配置文件进行验证规则的配置,一个是validator-rules.xml,另一个是validation.xml。这两个文件应该部署在相应的WEB应用中的WEB-INF文件夹下。
2009-01-12 14:10:00
498
原创 native2ascii----jdk自带编码转换工具
在做Java 开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行 Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。1、native2ascii简介:native2ascii 是su
2009-01-12 13:45:00
928
转载 字节流与字符流的区别
字节流与字符流主要的区别是他们的的处理方式字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和St
2009-01-12 11:34:00
619
1
转载 I/O流
java I/O整体框架:Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的: 其中FilterInputStream ,FilterOutputStream,Filter
2009-01-12 11:24:00
923
转载 Java如何遍历Map的所有的元素
Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); Object key = entry.getKey(); Object value = entry.getValue(); }
2009-01-09 19:55:00
841
转载 Hibernate原理及其配置
在本文中,我向大家重点介绍Hibernate的核心API调用库,并讲解一下它的基本配置。 也许你听说过Hibernate 的大名,但可能一直不了解它,也许你一直渴望使用它进行开发,那 么本文正是你所需要的!在本文中,我向大家重点介绍Hibernate 的核心API 调用库,并讲解一下 它的基本配置。 看完本文后,我相信你对什么是ORM(对像/关系映射)以及它的优点会有一个深刻的认识, 我们先通过一
2009-01-09 19:38:00
744
转载 Spring事务原理
Spring事务原理 统观spring事务,围绕着两个核心PlatformTransactionManager和TransactionStatus spring提供了几个关于事务处理的类: TransactionDefinition //事务属性定义TranscationStatus //代表了当前的事务,可以提交,回滚。PlatformTransactionManager这
2009-01-09 17:30:00
908
转载 关于struts中Action是否线程安全问题?
昨日去面试,问及struts方面的内容:aciton是否thread safe?俺毫不犹豫的回答:yes,真是令人汗颜啊,简历上写着精通struts精通java这样的问题竟然都回答错误?然后问:你是否在action里定义实例变量,俺回答:俺的action只充当转发功能 不定义实例变量,俺的回答是正确的,他港:俺知道其一不知道其二,可想而知 面试结果fail了action到底是threa
2009-01-09 17:20:00
3952
5
转载 JAVA的可变类与不可变类
jdk的可变类和不可变类primitive变量: boolean,byte, char, double ,float, integer, long, shortjdk的不可变类:jdk的java.lang包中 Boolean, Byte, Character, Double, Float, Integer, Long, Short, String. StringBuffer
2009-01-09 16:20:00
1091
转载 详解spring事务属性
spring事务详解解惑 spring 嵌套事务 关于在事务中声明异常,spring事务仍然不回滚 new Draggable("related_topics"); Spring声明式事务让我
2009-01-09 16:01:00
540
原创 Primary Key和Unique Key;UNION和UNION ALL 区别
Primary Key & Unique Key从技术的角度来看,Primary Key和Unique Key有很多相似之处。但还是有以下区别: 一、作为Primary Key的域/域组不能为null。而Unique Key可以。 二、在一个表中只能有一个Primary Key,而多个Unique Key可以同时存在。 更大的区别在逻辑设计上。Primary Key一般在逻辑设计中用作记录标
2009-01-09 10:23:00
4340
转载 outer和left outer join有什么区别??
outer和left outer join有什么区别??使用关系代数合并数据1 关系代数合并数据集合的理论基础是关系代数,它是由E.F.Codd于1970年提出的。在关系代数的形式化语言中: 用表、或者数据集合表示关系或者实体。 用行表示元组。 用列表示属性。关系代数包含以下8个关系运算符 选取――返回满足指定条件的行。
2009-01-06 09:51:00
701
转载 关于Lazy Load
HIBERNATE的持久化对象加载策略。 延迟加载, 也就是用到的时候才去加载.这样可以提高一些性能. Hibernate的lazy loading 采用了一个HibernateSession来管理session,它的逻辑是每进行一次数据库操作,就开新的session,操作完成后立即关闭该session。这样做的好处是可以严格关闭session,避免菜鸟级的错误,但是hibernate.o
2008-12-15 16:25:00
1337
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人