Fork me on GitHub
摘要: 什么是CAS机制 CAS是英文单词Compare and Swap的缩写,翻译过来就是比较并替换 CAS机制中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。 看如下几个例子: CAS 缺点 1) CPU开销过大 在并发量比较高的情况下,如果许多线程反复尝试更新某一个变量,却又一直更 阅读全文
posted @ 2019-05-10 18:54 小传风 阅读(1271) 评论(0) 推荐(0) 编辑
摘要: 有数据如下: eg1:现在需要统计所有男性人员数量,所有女性人员数量,sclassno=10000的男性人员的总年龄,年龄大于20的女性人员数量 sign( number )/*If number < 0, then sign returns -1.If number = 0, then sign 阅读全文
posted @ 2019-05-08 15:01 小传风 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点 阅读全文
posted @ 2019-05-07 08:08 小传风 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 测试 结果: BeanFactoryAware接口:让Bean获取配置他们的BeanFactory的引用。 修改下上面的例子 阅读全文
posted @ 2019-04-29 15:36 小传风 阅读(5076) 评论(0) 推荐(0) 编辑
摘要: 一、生命周期流程图 还有一张图 二、各种接口方法分类 Bean的完整生命周期经历了各种方法调用,这些方法可以划分为以下几类: 1、Bean自身的方法 : 这个包括了Bean本身调用的方法和通过配置文件中<bean>的init-method和destroy-method指定的方法 2、Bean级生命周 阅读全文
posted @ 2019-04-29 10:17 小传风 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 项目用的是Ant。 场景: 修改A.HHH="Hello"; 重新部署后发现还是“hello”。心塞,原因是.class文件依然是原先的,ant直接build时发现文件B没变化,没有重新编译。 需要clean,删除dist和build包所有.class文件,然后再部署。 阅读全文
posted @ 2019-04-28 19:20 小传风 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 现有表,数据如下: eg1:查询年龄第二的队员 通常写法: 看下a子句结果集: 但如果时要统计每个年级,年龄第二大的,上面的sql就不行了,子句必须指定具体年级才可以按年级排序。 rank()/dense_rank() over(partition by ...order by ...) 现在导入一 阅读全文
posted @ 2019-04-23 16:45 小传风 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 静态SQL是前置编译绑定,动态SQL是后期执行时才编译绑定。 场景: 动态SQL适用于表名及查询字段名未知的情况。在已知查询字段名及表名的情况下,使用动态SQL(字符串拼接方式)会增加硬解析的开销,在这种情况下,建议使用静态SQL,这样可以提高执行效率。在过程过程用拼凑的动态sql效率并不高。 因此 阅读全文
posted @ 2019-04-23 14:31 小传风 阅读(4284) 评论(0) 推荐(0) 编辑
摘要: 语句语法忒复杂,眼花缭乱的记不住,放几个例子。 游标属性: Cursor_name%FOUND 布尔型属性,当最近一次提取游标操作FETCH成功则为 TRUE,否则为FALSE; Cursor_name%NOTFOUND 布尔型属性,与%FOUND相反; Cursor_name%ISOPEN 布尔型 阅读全文
posted @ 2019-04-23 12:01 小传风 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 记忆力不好,提供样例套路: 固定长度数组: 可变长度数组: 自定义结果集: 如当前有表,表结构如图: 结果:注意:bulk collect 可以在select into ,fetch into ,returning into ,需要大量内存,但比游标高效。 %rowtype表示一行记录的变量,比分别 阅读全文
posted @ 2019-04-23 11:04 小传风 阅读(287) 评论(0) 推荐(0) 编辑