- 浏览: 76891 次
- 性别:
- 来自: z驻马店
最新评论
文章列表
这两天没有什么工作任务,也不想去看所谓的业务,就利用闲来的时间复习一下java基础的东西吧。
下午复习了java动态代理,这里记下来。
java动态代理表面上并没有什么难的,难的是怎么去应用。
在讲动态代理之前,要问一个问题为什么要用动态代理?
考虑这样一个场景,在项目当中,我们通常有这样的需求,就是只有登陆的会员才具有下载,发表文章等权限,下载,发表文章等都对应着某些方法(如download()),在调用这些方法之前,我们都要先判断当前用户的是否有权去调用。最普通的做法是在download()中添加权限判断的代码:
download(){
权限判断.....
...
Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。
Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术。
大名鼎鼎的EJB都是建立在rmi基础之上的,现在还有一些开源的远程调用组件,其底层技术也是rmi。
在大力鼓吹Web Service、SOA的时代,是不是每个应用都应该选用笨拙的Web Service组件来实现,通过对比测试后,RMI是最简单的,在一些 ...
oracle 不走索引的几种情况(转)
- 博客分类:
- oracle
1、建立组合索引,但查询谓词并未使用组合索引的第一列,此处有一个INDEX SKIP SCAN概念。
2、在包含有null值的table列上建立索引,当时使用select count(*) from table时不会使用索引。
3、在索引列上使用函数时不会使用索引,如果一定要使用索引只能建立函数索引。
4、当被索引的列进行隐式的类型转换时不会使用索引。如:select * from t where indexed_column = 5,而indexed_column列建立索引但类型是字符型,这时Oracle会产生
隐式的类型转换,转换后的语句类似于select * from t ...
Oracle日期相关(转)
- 博客分类:
- oracle
1、错误原因: date类型不能包含秒以后的精度。 如日期:2010-01-01 20:02:20.0
解决方法:将日期秒以后的精度去除 如日期:2010-01-01 20:02:20
2、INSERT INTO TEST2 (C1, C2,c3) VALUES (${v1},${v2},to_date(${v3},'yyyy-mm-dd'));oracle里面不需要以“;”结 ...
对于上例,则以save,add,update,remove开头的方法拥有可写的事务,如果当前有某个方法,如命名为importExcel(),则因没有transaction而没有写权限,这时若方法内有insert,update,delete操作的话,则需要手动设置flush model为Flush.AUTO,如
1.session.setFlushMode(FlushMode.AUTO);
2.session.save(user);
3.session.flush();
尽 管Open Session In View看起来还不错,其实副作用不少。看回上面Ope ...
Oracle日期格式(转)
- 博客分类:
- oracle
to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错。
即按照第二个参数的格式解释第一个参数。
to_char(日期,"转换格式" ) 即把给定的日期按照“转换格式”转换。
转 ...
Oracle中没有像mysql中那样自增的方式(auto_increment),可以使用sequence+trigger的方式来实现该功能。
1、有下面一张表:
create table ecp_docfiles (id number(10) primary key , contractcode varchar2(150) ,filename varchar2(30) not null unique,createdate timestamp default sysdate,isactive char(2) default '1' );
id是主键。
2,创建一个sequen ...
Js中 encodURI(encodURI(xxxx)),在java中可用URLDecoder.decode(xxxx,"utf-8")获得。
plsql函数大全 (转)
- 博客分类:
- oracle
1.SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR给出整数,返回对应的字符;SQL> select chr(54740) zhao,chr(65) chr65 from dual; ZH C-- - ...
java获得classpath的方法(转)
- 博客分类:
- javase
ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL getResource (String name); public InputStream getResourceAsStream (String name); 这里name是资源的类路径,它是相对与“/”根路径下的位置。getResource得到的是一个URL对象来定位资源,而getResourceAsStream取得该资源输入流的引用保证程序可以从正确的位置抽取数据。 但是真正使用的不是ClassLoader的这两个方法,而是Class的 ...
本人工作中的应用系统都是jsp的,大量javascript程序,一旦出“automation服务器不能创建对象”问题,大量报表及查询无法保存,苦思冥想、千尝万试,终于将其搞定,现将相关方案与大家共享。1、如果是Scripting.FileSystemObject (FSO 文本文件读写)被关闭了,开启FSO功能即可,在“运行”中执行regsvr32 scrrun.dll即可2、安全模式设置成“中”,如果javascript脚本中报这个错误,还应将IE的安全设置“不允许运行未标记为安全的activeX控件”启用即可。注意如果您将相应的网站设成“受信任的站点”,必须对“受信任的站点”进行相应的IE安 ...
Tomcat启动时如下错误:
严重: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at j ...
1、Oracle 10g 安装出现错误“ORA-00988: 口令缺失或无效”
这种情况通常发生于创建 Oracle 例程时指定了非正常的全局数据库名称或系统用户密码。请注意全局数据库名称不能以数字开头,口令密码也不能由数字开头(我就是由于将口令密码设置为以数字开头的原因)。