-
[综合] Java中isEmpty和null以及“”的区别
Java中isEmpty和null以及“”的区别,这是一个比较容易混淆的概念,为了弄清楚这个问题,最好的方法当然是写程序来验证,上代码吧: * */ packageJavaTest; /** *@authorwxwevenpc *@version1.02012-11-25 */ publiccla...
102
热度 -
[综合] Bean注入报错:org.springframework.beans.factory.BeanCreationException
今天在调试代码时,Spring启动后出现了错误:Errorcreatingbeanwithname'wthcController':Injectionofautowireddependenciesfailed;……的错误。用的项目架构是SSM。 网上查了好久都没有找到解决办法,然后问了一下小伙伴,原...
106
热度 -
[综合] 阿里巴巴 Java 开发手册--学习(一)
今天开始学习阿里巴巴Java开发手册,规范自己的代码。看了规约中的规范,一些是自己知道的并遵守的。下面把自己在日常开发中忽略的部分记下来: 编程规约之命名风格 1、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不能嫌名字长。 2、抽象类命名使用Abstract或Base开头;异常类命名...
106
热度 -
[综合] 阿里巴巴 Java 开发手册--学习(二)
异常日志 异常日志之异常处理 1、不能在finally块中使用return,finally块中的return返回后方法结束执行,不会再执行try块中的return语句。 异常日志之日志规约 1、日志文件推荐至少保存15天,因为有些异常具备以“周”为频次发生的特点。 单元测试 1、对于单元测试,要保...
90
热度 -
[综合] 阿里巴巴 Java 开发手册--学习(三)
安全规约 1、用户输入的SQL参数严格使用参数绑定或者METADATA字段值限定,防止SQL注入,禁止字符串拼接SQL访问数据库 2、用户请求传入的任何参数必须做有效性验证。 3、表单、AJAX提交必须执行CSRF安全过滤。 4、在使用平台资源,譬如短信、邮件、电话、下单、支付,必须实现正确的防重放...
106
热度 -
[综合] 阿里巴巴 Java 开发手册--学习(四)
工程结构 工程结构之应用分层 1、(分层异常处理规约)在DAO层,产生的异常类型有很多,无法用细粒度的异常进行catch,使用catch(Exceptione)方式,并thrownewDAOException(e),不需要打印日志,因为日志在Manager/Service层一定需要捕获并打到日志文件...
80
热度 -
[综合] 基于Oracle的SQL优化--学习(二)
优化器的基础知识 1、优化器的模式 Oracle中,优化器的模式是由参数OPTIMIZER_MODE的值来决定的。 1、RULE:表示Oracle将使用RBO来解析目标SQL,此时SQL中涉及的各个对象的统计信息对于RBO没有任何作用。 2、CHOOSE:Oracle9i的默认值,表示在解析目标SQ...
38
热度 -
[综合] 基于Oracle的SQL优化--学习(四)
第一章的总结 (1)在使用RBO的情况下,我们可以通过调整相关对象在数据字典缓存中的缓存顺序,改变目标sQL中所涉及的各个对象在该SQL文本中出现的先后顺序,或者等价改写该SQL来调整其执行计划。 (2)成本是指Oracle根据相关对象的统计信息计算出来的一个值,它实际上代表了Oracle根据相关...
11
热度 -
[综合] 基于Oracle的SQL优化--学习(五)
Oracle的执行计划 执行计划的含义 Oracle用来执行目标SQL语句的一系列步骤的组合就被称为执行计划。 执行计划分为下面三个部分: (1)目标SQL的正文,SQLID和其执行计划所对应的PLANHASHVALUE。 (2)执行计划的主体。 (3)执行计划的额外补充信息。 ...
56
热度 -
[综合] 基于Oracle的SQL优化--学习(八)
Oracle里执行计划的稳定 使用SQLProfile来稳定执行计划 使用SQLProfile可以很容易的实现下面的目标: (1)锁定或者说稳定执行计划。 (2)在不能修改目标SQL的SQL文本的情况下使目标SQL语句按指定的执行计划运行。 SQLProfile有两种类型,一种是Automatic,...
18
热度 -
[综合] 基于Oracle的SQL优化--学习(十)
Oracle里的Cursor 绑定变量(Bindvariable)是一种特殊类型的变量,它又被称为占位符(Placeholder),绑定变量通常出现在目标SQL的SQL文本中,用于替换SQL文本中的where条件或者values子句(适用于INSERT语句)中的具体愉入值。oracle数据库中绑定变...
51
热度 -
[综合] 基于Oracle的SQL优化--学习(十一)
绑定变量窥探 当绑定变量窥探被启用后,每当Oracle以硬解析的方式解析使用了绑定变量的目标SQL时, Oracle都会实际窥探(Peeking)一下对应绑定变量的具体输入值,并以这些具体输入值为标准,来决定这些使用了绑定变量的目标SQL的where条件的Selectivity和Cardinal...
80
热度 -
[综合] 基于Oracle的SQL优化--学习(十二)
自适应游标共享 绑定变量窥探的副作用就在于,使用了绑定变量的目标SQL只会沿用之前硬解析时所产生的解析树和执行计划,即使这种沿用完全不适合于当前的情形.在Oracle10g及其后续的版本中,Oracle会自动收集直方图统计信息,这意味着与之前的版本相比,在Oracle10g及其后续的版本中Orade...
70
热度 -
[综合] 基于Oracle的SQL优化--学习(十四)
子查询展开 子查询展开(SubqueryUnnesting)是优化器处理带子査询的目标SQL的一种优化手段,它是指优化器不再将目标SQL中的子查询当作一个独立的处理单元来单独执行,而是将该子査询转换为它自身和外部查询之间等价的表连接。这种等价表连接转换要么是将子查询拆开(即将该子查询中的表、视图从子...
27
热度 -
[综合] 基于Oracle的SQL优化--学习(十五)
复杂视图合并 复杂视图合并(ComplexViewMerging)是指针对那些所带视图的视图定义SQL语句中含有groupby或distinct的目标SQL的视图合并。 和简单视图合并、外连接视图合并一样,对这种视图定义SQL语句中含有groupby或distinct的复杂视图做视图合并也同样意味着...
101
热度 -
[综合] 基于Oracle的SQL优化--学习(十六)
连接谓语推入 连接谓词推入(JoinPredicatePushdown)是优化器处理带视图的目标SQL的另外一种优化手段,它是指虽然优化器还是会把该SQL中视图的定义SQL语句当作一个独立的处理单元来单独执行,但此时优化器会把原本处于该视图外部査询中和该视图之间的连接条件推入到该视图的定义SQL语句...
36
热度 -
[综合] 基于Oracle的SQL优化--学习(十七)
表移除 表移除是优化器处理带多表连接的目标SQL的一种优化手段,它是指优化器会把虽然在目标SQL中存在,但是其存在与否对最终执行结果没有影响的表从该目标SQL中移除,这样优化器至少可以少做一次表连接,进而就能提高原目标SQL的执行效率。 Oracle如何处理SQL语句中的IN 优化器在处理带IN的...
74
热度 -
[综合] Dangling meta character '+' near index 0,解决办法
1、split方法转化字符串为数组: String[]arr=split[0].split("[+]"); 报错: java.util.regex.PatternSyntaxException:Danglingmetacharacter'+'nearindex0 + ^atjava.util.re...
84
热度 -
[综合] java中获取当前年月
如下代码: Calendarcal=Calendar.getInstance(); intyear=cal.get(Calendar.YEAR);//获取年 intmonth=cal.get(Calendar.MONTH)+1;//获取月
16
热度 -
[综合] java中元注解 @Retention @Target @Document @Inherited
java中元注解有四个:@Retention@Target@Document@Inherited; @Retention:注解的保留位置 @Retention(RetentionPolicy.SOURCE)//注解仅存在于源码中,在class字节码文件中不包含 @Retention(Retentio...
28
热度