![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 70
shangqiao
这个作者很懒,什么都没留下…
展开
-
jdk1.5中annotation的应用(1)--授权控制
做授权控制时不仅仅要用户无法访问的连接不能看到,还要阻止用户通过其他手段得到连接地址而直接调用连接。因此授权控制时还必须防止用户执行jsp、servlet、以及WebService等等所有需要授权验证的服务。为了做到这一点就必须在用户的入口处做授权校验,如jsp、servlet(struts的Action)等等(授权到底放在何处校验合适,web接口层还是业务的facade层?)。实现后实现的范原创 2007-03-27 17:12:00 · 696 阅读 · 0 评论 -
jdk1.5中annotation的应用(1)--DAO实现
在目前各个O/RM框架大行其道的时候为什么要在设计其他框架呢,最主要考虑到O/RM的性能以及团队的学习曲线.因为各个O/RM都不能最大的使用数据库所专门提供的特殊功能,如要在系统中实现统计业务收入:包括在业务维度和地区维度汇总,使用pl/sql就非常好实现,但是使用O/RM就没有那么方便了select DECODE(GROUPING_ID(yw), 1, 所有业务, yw) 业务,DECODE原创 2007-03-28 13:36:00 · 1131 阅读 · 1 评论 -
数据导出 下载另类做法
数据导出的另类方案:数据导出在很多系统中都是需要的,最常见的做法是点了下载按钮以后再查询数据库将数据转化为excel或者pdf文档。先假定数据量比较小,没有做分页,如展现统计平台该类业务属于这种情况。如果原始系统没有做导出,在后期再加上该功能的话,如此实现便比较麻烦1:可能需要重新查询数据库,不能利用已经查询出的结构,如果统计是非常费时的操作,则显然浪费了不少时间去重复查询。2:不再查询数据库原创 2007-03-27 15:02:00 · 849 阅读 · 2 评论 -
java1.5中使用synchronized同步和用Atomic的差别
测试使用synchronized同步和AtomicInteger的差别:public class TestSynchronized { private int count1 = 0; public synchronized void addCount1() { count1++; } public synchronized int getCount1() { return coun原创 2007-03-27 19:01:00 · 666 阅读 · 0 评论 -
java字符编码原理解析
什么是字符,什么是字节?可以理解为计算机没有字符的概念,只有字节。字符是存在于人类语言层的概念,其作用是为了人与人之间的交流,因为字节对于人类是不可读的,但是计算机存储所有的数据都是按照字节存储。因此要将人类意识中的字符存储到计算机中,则必须将字符转换为字节数据,那么怎么转化呢,则必须要一种映射规则,这里的映射规则就是通常意义中的字符编码,比如说该文件是GBK编码,可以说为:这个文档中的字符数原创 2007-03-30 13:57:00 · 1847 阅读 · 2 评论 -
用脚本处理复杂的规则
在某些处理规则复杂且变化性大的业务中,如果将这些规则硬性编码到代码中将降低系统灵活性,扩展性,增加维护成本。脚本有不需要编译的有点,因此如果能够将这些规则使用脚本实现,则可以避免系统的升级和重新部署。应用实例:该项目是一个c/s结构,在客户机上安装系统客户端,访问服务器使用所提供的各种服务。其中一项需求是由服务端控制客户端的界面显示元素以及其他某些功能。当客户端成功登陆服务器后,服务端返回客户原创 2007-04-03 13:52:00 · 615 阅读 · 0 评论 -
使用连接生命周期管理扩展连接池功能
在操作数据库连接的时候有些时候可能要要跟踪连接的生命周期,如要建立基于连接的临时表,要修改该连接中的某些连接参数(如时间的默认格式)。但是jdbc规范中没有这类规范,所以只能自己实现。下面是通过修改commons-dbcp获得的功能.@SuppressWarnings("unchecked")public class BasicDataSourceExtendListenerImpl extend原创 2007-04-03 15:30:00 · 2753 阅读 · 0 评论 -
java中浮点数的高精度运算
在某些对数值精度要求非常的应用中直接使用java的float中的*,/运算可能会丢失精度,造成小量的误差,但是如果将这些误差相加可能会放大。 如System.out.println(534.2 / 100);执行的结果却是5.3420000000000005System.out.println(4.015 * 100);执行的结果是401.49999999999994都有误差。解决方案使用Bi原创 2007-04-04 18:14:00 · 1137 阅读 · 0 评论 -
在PreparedStatement中使用命名参数
PreparedStatement中参数都是使用下标传值,如:PreparedStatement p = con.prepareStatement("select * from people where (first_name = ? or last_name = ?) and address = ?");p.setString(1, name);p.setString(2, name);p.se原创 2007-04-09 12:42:00 · 2557 阅读 · 0 评论