- 浏览: 19972 次
- 性别:
- 来自: 广州
最新评论
-
frenchmay:
private static HashMap expMap = ...
static的常驻内存 -
starse7en77:
fjlyxx 写道提个建议,这个类你是否要考虑到单例,个人觉得 ...
static的常驻内存 -
starse7en77:
static 其实并没有那么恐怖 ...
对读取数据用同步很 ...
static的常驻内存 -
jhaij:
gavin.zheng 写道
public static ...
static的常驻内存 -
jeffyan:
kebo 写道bloodrate 写道除非有明确的证据证明池化 ...
对象的池化
文章列表
因为ssh划分的比较细,所以我决定把它们按照现在的框架分成3部分来说1 页面细节,现在以上个User的add.jsp为例:可以用的方案有: addPage.jsp-----add.jsp-----index.jsp
这是addPage.jsp
<html>
<head></head>
<body>
<form method="get" action="add.jsp">
<input type="text" name="username"/ ...
因为直接在页面访问数据的系统基本上不存在了,所以直接从a2 页面与数据层开始说起.
这是我作的一个假设系统,系统只存在一个用户数据表,在页面上只使用登录,登出,查找等功能.uml如下:
数据层:
这是个基本的dao模式数 ...
发个感慨:说到结构,以前一些开源中间件看多了,看见程序就想到结构,每次都会去把它做到可配置,可以动态重构等,方便未来扩展,总觉得程序是个神圣的东西,它应该就是这个样子的,结构化,一体化,能够 ...
使用hibernate的filter功能时候发现了一个dtd定义的bug,我的是31的最新的应该早修正了
filter-def在dtd中出现顺序的问题,出现异常
13:36:37,748 ERROR XMLHelper:81 - Error parsing XML: XML InputStream(21) The content of element type "hibernate-mapping" must match "(meta*,typedef*,import*,(class|subclass|joined-subclass|union-subclass ...
在很多网站上都有会员之类的东西 ,会员属于操作着类型, 是实体,但比较特殊 属于控制类型的.
一个开源的社区的模型
members
{
integer uid;
string username;
string password;
string gender;
integer adminid;
integer groupid;
integer extgroupid;
integer groupexpiry;
string regip;
integer regdate;
string lastip;
integer lastvisttime;
integer lastactivitytime ...
- 2009-05-28 22:19
- 浏览 891
- 评论(0)
随着互联网的发展,xml跟随着起了巨大的变化
xml最主要的优点在于结构化的数据传输. 特别是符合xml规范的xhtml.
现在的xml技术主要在以下几个方面.
1:xml数据处理: dom技术 ,处理速度快,建立模型慢,只适合处理小量数据. sax处理, 最基本的处理方式, 基于事件的处理方法,速度快,但不灵活,只能线式处理. StAX 拉模型的处理,现在最流行的. 适合于web不间断会话处理.比如说jaxb jax-rpc等
2:xml展示技术:xslt, css
3:xml验证技术:dtd, schema
4:xml与java类: 通过schema表示datetype的转换,jaxb
5 ...
- 2009-05-28 18:35
- 浏览 717
- 评论(0)
数据限制与验证:
1数据类型
对数据进行基础行为约束
2约束(4种)
约束是对数据的限制, 验证确保数据正确.
为什么需要在应用和数据库 2层都放上验证呢?
数据库是针对多个应用的,提供全局资源管理,为防止其中应用的不完整验证,需要验证.
应用自身需要对数据进行操作,非法的数据可能会导致异常,所以需要验证.
以下注意:
在应用上,除开非法异常数据外其他不与考虑, 在数据库上,尽可能做到一切规则的使用,使规则中央集合化,避免多处应用上考虑.免得日后更改数据库,需要重布应用.
在高性能商用上考虑,因为数据库访问加大, 可以功能横 切, 将规则置于应用逻辑层.
约束的数据字典:*_con ...
- 2008-11-29 02:52
- 浏览 904
- 评论(0)
jdbc:oracle:driver_type:[username/password]@database_specifier
driver_type:
thin:瘦客户驱动器
连接远程服务器的时候使用,属于jdbc4类型, 功能简单,事实属于连接和数据解析发送的模块
瘦服务器驱动
同上,但运行于服务器段,可以使用本地管道通信, 性能比较高
ocici驱动,属于jdbc2类型,功能性强大,但需要本地oracle客户端支持, 通过本地代码与服务器连接通信,特点,功能全,如非本地服务,效率较低
kprb:服务器端通信,允许jvm直接同sql引擎通信,效率最 ...
- 2008-11-29 02:51
- 浏览 1000
- 评论(0)
oracle之安全
安全定义:
机密性, 数据是保密的,通过分级授权策略来进行
完整性,使用DES,md5散列等复合完成
真实性,通过可信任证书完成,kerb5等
机密性是本地保护的关键,分级授权涉及到大量操作
级别分为用户和权限
用户:
create user user_name identified
by new_pw; 本地验证
externally; 系统代验证
...
- 2008-11-29 02:50
- 浏览 857
- 评论(0)
Oracle体系结构需要了解的两个概念
要了解oracle体系结构必须先了解两个基本的概念: 数据库和实例。 一 数据库
数据库(database)是一个数据集合。
无论数据库是采用关系结构还是面向对象结构, oracle数据库都将
其数据存放在数据文件中。 在其内部, 数据库结构数据对文件的逻辑
映射, 使不同的数据分开存储, 这些逻辑划分称为表空间。
表空间和文件介绍:
1: 表空间
表空间(tablespace)是数据库的逻辑划分, 每个数据库至少有一个表空间,叫做系统表空间(system 表空间)。 一个表空间只能属于一个数据库。
每个表空间由同一个 ...
- 2008-11-25 19:14
- 浏览 753
- 评论(0)
数据类型:
所有内存中的数据都是2进制的, 所谓的数据类型只是后来在使用和解析的时候赋予的语义,
比如说一个内存单元的数据, 把它在cpu中进行相加就可能 是数字, 把它跟别的数据相比较或者在引用上相连就可能使字符串..
...
关于runtime,到目前为止我没有找到比较严格的说法,到底什么才叫runtime,只是根据我的个人认识作的简单的分类:
先分三大类:
1: 域对象的本地修改,使用的是JVM的Unsafe,当然还有classloader和class关联系统,但是这个运行时的意思就是可以支持动态获取相关类信息数据和跨越安全模型修改信息,这部分就是reflection
2: classloader的codebyte了,类被装在进去之前是字节码,可以通过系统修改或者完全生成一个类来,然后调用字节吗的动态装载,这部分就是一直被批评的只支持借口proxy的部分了,还有后来的cglib也是类似的东西,可惜cglib ...
前面说过,结构模式指的是在设计上只使用基本结构:聚合,组合,继承的, 用结构来体现逻辑.
因为模式的需要,所以这里不的不开始用interface了,我会尽量控制.
代码是随手敲的,肯定有问题的,模式是思想,结构只是表现形式,并不是非常严格固定的.
Proxy,Adapter,Decorator这3个模式看起来太像,都使用聚合,所以把他们在一起分析.
如果说在这些模式的类名上,没有XxxxProxy,XxxxAdapter..咋一看肯定是没法区分出哪种模式,为什么呢?
因为他们之间只存在语意上的区别: 单一聚合的使用技巧.
延迟装载
此对象非彼对象.在DAO中,有些模型对象太大 ,但又不 ...
很多时候,要创建一个资源类对象,或者是一个大的应用数据对象,所花费的开销都是巨大的. 比如要建立一个连接,要根对方获得握手协定等等. 像这些花销巨大的对象,保存来做成全局不行,因为当前只能供给一个线成使用,那就只能池化了
池化的对象特点是:对象一次只能供给一个线成使用.但又必须尽量保存,以避免巨大的构建开销.
/**Resources是一个将要被池化的对象的接口,有一个被动撤消的close方法(为符合一般性资源类要求)
*/
interface Resources{
void close(){};
}
//真正的资源类
class ConcreteResources impl ...
对于配置等经常使用的对象,而且基本上在使用的时候很少修改的,我们可以让它常驻内存.
如何常驻内存,这是我们最关心的.这就是static的使用技巧,
照例以配置文件来讨论,请看以下代码
class Config{
private static HashMap expMap = new HashMap();
//装载personMap,为简单不使用singleton模式
public Config(){
//读取配置文件,并装载进expMap
loadExpMap();
}
public static Object getExpMap(String ke ...