摘要: HashTable 写操作时候,Lock全表源码:publicsynchronizedV put(K key, V value) {// Make sure the value is not nullif (value == null) { throw new NullPointerExcepti... 阅读全文
posted @ 2015-01-18 21:30 不及格的飞鱼 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 有时候Java的Eclipse工程换一台电脑后编译总是@override报错,把@override去掉就好了,但不能从根本上解决问题,因为有时候有@override的地方超级多。原因:这是jdk的问题,JDK5就已经有 @Override,但是不支持对接口的实现,认为这不是Override而报错。只... 阅读全文
posted @ 2015-01-18 21:27 不及格的飞鱼 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 异常信息:java.lang.NoClassDefFoundError: com/lowagie/text/pdf/PdfContentByteat com.star.sms.business.mail.util.pdf.JasperReportUtil.exportPDF(JasperReportUtil.java:88)at com.star.sms.business.email.CustomerBillEmailBuilder.createJasperFile(CustomerBillEmailBuilder.java:108)at com.star.sms.business.email 阅读全文
posted @ 2014-03-16 23:37 不及格的飞鱼 阅读(6994) 评论(0) 推荐(0) 编辑
摘要: public static void main(String[] args) {Map map = new HashMap();map.put("1", "value1");map.put("2", "value2");map.put("3", "value3");//第一种:普遍使用,二次取值System.out.println("通过Map.keySet遍历key和value:");for (String key : map.keySet()) {Sy 阅读全文
posted @ 2014-03-08 14:05 不及格的飞鱼 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 在Java反射机制中,需要掌握的知识有: (1)掌握反射机制的概述。 (2)能够使用Class类并结合java.lang.reflect包取得一个类的完整结构。 (3)能够使用反射机制实例化对象、动态地调用类中的指定方法和设置属性值。反射机制的概述 运行时类型信息(RTTI)使得可以在程序运行时发现和使用类型信息。在Java中的RTTI形式包括三种:(1)传统的类型转换。由RTTI确保类型转换的正确性,如果执行了一个错误的类型转换,就会抛出一个ClassCastException异常。 (2)使用关键字instanceof。它返回布尔值,告诉我们一个对象是不是某个特定类型的实例。 ... 阅读全文
posted @ 2014-02-25 22:32 不及格的飞鱼 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 在Spring中,不但可以通过JNDI获取应用服务器的数据源,也可以直接在Spring容器中配置数据源,此外,还可以通过代码的方式创建一个数据源,以便进行无依赖的单元测试。配置数据源 Spring在第三方依赖包中包含了两个数据源的实现类包:其一是Apache的DBCP;其二是C3P0。可以在Spring配置文件中利用这两者中的任何一个配置数据源。DBCP数据源DBCP类包位于commons-dbcp.jar,DBCP一个依赖对象池机制的数据库连接池,所以在类路径下还必须包括commons-pool.jar。在该数据源中BasicDataSources提供了close方法关闭数据源,所以必... 阅读全文
posted @ 2014-02-25 22:30 不及格的飞鱼 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 在Spring事务管理中通过TransactionProxyFactoryBean配置事务信息,此类通过3个重要接口完成事务的配置及相关操作,分别是PlatformTransactionManager、TransactionDefinition和TransactionStatus。其中TransactionDefinition用于描述事务的隔离级别、超时时间、是否为只读事务和事务传播规则等控制事务具体行为的事务属性,这些属性可以通过XML配置或注解描述提供,也可以通过手工编程的方式设置。PlatformTransactionManager根据TransactionDefinition提供的.. 阅读全文
posted @ 2014-02-25 22:29 不及格的飞鱼 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 悲观锁如select * for update 悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库性能的大量开销,特别是对长事务而言,这样的开销往往无法承受。乐观锁 基于数据版本(version)机制实现:为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个 “version” 字段来实现。读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提交数据的版本数据与数据库表对应记录的当前版本信息进行比对,如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据。在设计乐观锁时,只针对系.. 阅读全文
posted @ 2014-02-25 22:27 不及格的飞鱼 阅读(630) 评论(0) 推荐(0) 编辑
摘要: Quartz基础结构 Quartz对任务调度的领域问题进行了高度抽象,提出了调度器(Scheduler)、任务(Job)和触发器(Trigger)这3个核心概念,并在Trigger触发机制的基础上使用org.quartz.Calendar进行定点(如假期)排除。 定义任务调度需要以下几个步骤:定义JobDetail实例对象,该对象需要指定名称、组和Job接口的Class信息。定义Trigger实例对象,通过该对象设置触发任务的相关信息,如起始时间、重复次数等。定义Schedule实例对象,通过ScheduleFactory工厂接口的实现类实例该对象。向Schedule中注册JobDetail. 阅读全文
posted @ 2014-02-25 22:25 不及格的飞鱼 阅读(4008) 评论(0) 推荐(0) 编辑
摘要: BOSS代码走查内容表命名正确包命名正确:Package 的名字应该都是由小写单词组成。例如:package com.neu.util类命名正确Class 名称使用帕斯卡命名法命名:名称由具有含义的单词组成,并代表了其意义,且单词首字母大写例如:public class ThisAClassName{ //CODE}抽象类以Abstract开头例如:AbstractThisAClassName变量、方法、方法参数命名正确使用骆驼命名法命名,即名称由有具体含义的单词组成,并代表了其作用,第一个单词之外,其他单词首字母大写例如:public void setProductName(String p 阅读全文
posted @ 2014-02-25 22:18 不及格的飞鱼 阅读(3945) 评论(0) 推荐(0) 编辑
摘要: 核心提示:Session需要使用 java.util.Properties来构造,常用的用来构造Session的属性: mail.smtp.user SMTP的缺省用户名。 mail.smtp.host 要连接的SMTP服务器。 mail.smtp.port 要连接的SMTP服务器的端口号,如果connect没有指明端口号就使用它,缺省值25。 mail.smSession需要使用java.util.Properties来构造,常用的用来构造Session的属性:mail.smtp.userSMTP的缺省用户名。mail.smtp.host要连接的SMTP服务器。mail.smtp.port要 阅读全文
posted @ 2014-02-25 22:09 不及格的飞鱼 阅读(933) 评论(0) 推荐(0) 编辑
摘要: public class Test {public static void main(String[] args) { SimpleCalculator s=new SimpleCalculator();String methord="80*(1+0.5)"; //test double d=s.evaluate(methord); System.out.println(d);}}import java.util.Scanner;import java.util.Stack;public class SimpleCalculator {/** * Evaluate an a 阅读全文
posted @ 2014-02-25 22:08 不及格的飞鱼 阅读(1429) 评论(0) 推荐(0) 编辑
摘要: [问题背景] 南非客户帐单提醒功能过程中的一个问题,当启动服务器后,后台报java.lang.LinkageError: loader constraints violated when linking连接错误1-通过日志发现问题可能出在类 ,javax.activation.DataHandler ,该类位于activation-1.1.jar2-通过类DataHandler搜索主应用服务使用的类 并没有发现冲突。3-在借助网路搜索查询是否其他人遇到相同问题,一个网站中有位朋友提到 他使用的某个包和TOMCAT6.X中某个包冲突。最后是JBOSS中使用的第3方包activation.jar. 阅读全文
posted @ 2014-02-17 22:23 不及格的飞鱼 阅读(2131) 评论(0) 推荐(0) 编辑
摘要: 记录通过执行Oracle的执行计划查询SQL脚本中的效率问题问题现象: STARiBOSS5.8.1R2版本中,河北对帐JOB执行时,无法生成发票对帐文件。首先,Quartz表达式培植的启动时间为2分钟执行一次JOB,通过日志上看,该JOB已经启动。且在开始统计发票信息后就没有新的日志了,因河北广电数据库很大,猜测是统计发票的SQL 效率低。在比较小的库上执行,系统正常生成发票对帐文件,因此确认猜测为正确的。然后,将发票统计的SQL截取出来,其中一个SQL如下:select n.noteid_pk, n.notecodestr, n.totalmoneyid, n.notestat... 阅读全文
posted @ 2014-02-17 22:21 不及格的飞鱼 阅读(2855) 评论(0) 推荐(0) 编辑
摘要: eclipse 默认编码居然是GBK,js文件默认编码是ISO-....怎么可以这样呢?都修改成UTF8的方法:1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧 Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。2、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types, 阅读全文
posted @ 2014-02-17 22:19 不及格的飞鱼 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 优点:1.节省数据库空间,多用户可以操作同一张表;2.扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;3.利用Database Link.创建同义词可以实现不同数据库服务器之间的无缝连接(通过网络连接)创建同义词1.同一个数据库服务器上的不同用户,共同操作一张表用户A,B;用户A 操作B中的 operatoren表;则需要在用户A中创建B中operatoren的同义词:create public synonym_afor B.operatoren;其中:synonym 是关键字,_a 为同义词的名称;在用户A上执行select * from _a;可以查询出用户B中operat 阅读全文
posted @ 2014-02-17 22:18 不及格的飞鱼 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 1-常用约束规则RuleSource的设置方法例如:addRules(new Rules(ProgramFeeItem.class){protected void initRules() {add("rateClass", all(new Constraint[] { required() }));//required表示,不可为空add("remark", rules.maxLength(250)); //maxLength约束最大长度250addMoneyRule(this,"payingSumFee"); }});2-自定义约束 阅读全文
posted @ 2014-02-17 22:11 不及格的飞鱼 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 【问题背景】 2013-08-02 为某地市做了1个脚本用于帮客户账户添加一个新的账本。犯了一个很二的错,存储过程如下(SQL记录用户以后查询),一晚上只执行了190W数据 脚本如下 数据库中总共有500W或者更多的客户。【问题原因】但由于每次循环时都COMMIT提交,导致效率低, 相比之下,每1W条提交,肯定是更有效率的因为每一次commit会触发LGWR做很多相应的操作,将重做BUFFER中的数据写到日志当中,然后去处理回滚段的相应信息,让回滚段中900秒(默认)之外的信息可以被重写。也就是每一次commit都会带来大量的操作。但是,commit的数据,也并不是全部完成之后提交一次效率.. 阅读全文
posted @ 2014-02-17 22:10 不及格的飞鱼 阅读(3005) 评论(0) 推荐(0) 编辑
摘要: ORA-28000: the account is locked第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;第二步:选择myjob,查看users;第三步:选择system,右击点击“编辑”;第四步:修改密码,把“帐户被锁住”的勾去掉;第五步:点击“应用”再点击“关闭”;第六步:重新登录就可以通过验证了;第二种ALTER USER username ACCOUNT UNLOCK;第三种在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked。解决办法 阅读全文
posted @ 2014-02-17 22:07 不及格的飞鱼 阅读(2589) 评论(0) 推荐(0) 编辑
摘要: 1几个最重要的快捷键代码助手:Ctrl+Space(简体中文操作系统是Alt+/)快速修正:Ctrl+1单词补全:Alt+/打开外部Java文档:Shift+F2显示搜索对话框:Ctrl+H快速Outline:Ctrl+O打开资源:Ctrl+Shift+R打开类型:Ctrl+Shift+T显示重构菜单:Alt+Shift+T上一个/下一个光标的位置:Alt+Left/Right上一个/下一个成员(成员对象或成员函数):Ctrl+Shift+Up/Down选中闭合元素:Alt+Shift+Up/Down/Left/Right删除行:Ctrl+D在当前行上插入一行:Ctrl+Shift+Enter 阅读全文
posted @ 2014-02-17 22:06 不及格的飞鱼 阅读(213) 评论(0) 推荐(0) 编辑