背景 在搭建完项目框架之后,当我利用单元測试来測一条线时.出现了下面错误: Cannot resolve type[--]for object with name 'ButtonBll' defined in config. 看到问题描写叙述之后首先去检查了自己配置文件里的配置: <!--B层实现注入--> <object id="ButtonBll" type="ITOO.UIQueryProperties.BLL.ButtonBll,ITOO.UIQue…
一点一点看JDK源码(四)java.util.ArrayList 中篇 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.综述 在前篇中,对于java.util.ArrayList进行了一些源码注释,能坚持看完的估计都是神一般的存在. 不过看源码并需要一个艰苦的过程,枯燥是很正常的. 但是不是要一直都很枯燥,本文将对此类进行分类解析. 2.关注点 2.0.ArrayList是如何构成的? 在java中,一个类的构成并不是十分复杂,列…
转自:http://www.cnblogs.com/stwyhm/archive/2006/08/10/473075.html 做开发近两年了,自认为自己还算是个知道要上进的人,每天不停地学习,不停地在园子里转来转去,不停地向高人们请教这请教那.近来突感迷茫,回首这两年时间,我是学了不少东西,但都是东一把,西一把,不成体系,最后什么都是半吊子. 知识是海洋,一味盲目地追求大海的美是不行的,一不小心就淹死在这无边的大海里了,所以首先应该学会游泳. 痛定思痛,毅然决定该好好地系统地学点东西了.翻开家…
我们在写代码的时候不一定都是有自己来完成,一个工程中会大量使用一些比较优秀的动态库.静态库等,我们在使用这些库完成所有的代码后,需要在编译的时候将这些库使用的头文件添加到我们的工程上,将他的库文件也添加到我们的工程中,接下来我们就来看一下怎么来添加. 我们在项目中很少将第三方库与我们自己的代码放到同一个目录中,而是有一些约定俗成的存放方法: 如上图,我们会将第三方库的头文件放到include文件夹,将第三方的静态库放到lib文件夹,将动态库放到bin文件夹,(注:如果是使用开源库尽可能使用静态库…
一点一点看JDK源码(〇) liuyuhang原创,未经允许进制转载 写在前面: 几乎所有的大神都会强调看源码,也强调源码的重要性: 但是如何看源码,源码看什么?看了什么用?看了怎么用? 困扰很多人,尤其是初学者. 本系列的目的在于看源码,并非学习和总结源码,先能够粗略的浏览大量的原码 并保证知晓有这么个东西,有个基本概念,再对其中的设计原理,优化方案进行学习 本文简单的回答以下几个问题: 1.为什么要看源码? 2.什么时候或什么条件下看源码? 3.看源码看什么? 4.看源码有什么用? 5.源码…
这段时候在准备从零开始做一套SaaS系统,之前的经验都是开发单数据库系统并没有接触过SaaS系统,所以接到这个任务的时候也有也些头疼,不过办法部比困难多,难得的机会. 在网上找了很多关于SaaS的资料,看完后使我受益匪浅,写文章之前也一直在关注SaaS系统的开发,通过几天的探索也有一些方向. 多租户系统首先要解决的问题就是如何组织租户的数据问题,通常情况有三种解决方案: 按数据的隔离级别依次为: 一个租户一个数据库实例(数据库级) 一个租户一个Schema (Schema) 每个租户都存储在一个…
一点一点看JDK源码(一)Collection体系概览 liuyuhang原创,未经允许进制转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.综述 Collection为集合类,是jdk中最为常用的类了,实际上我并不认同这个东西叫做集合 我更倾向于叫做容器,当然容器不止有它一种. 在计算机专业中,大概都会学一门叫做<数据结构>的课程吧 本质上来说,数据结构,实际上是设计一种容器,而容器的特性大体包括如下: 容器中如何进行存储 容器中的数据如何获取 容器中的数据如何添…
一点一点看JDK源码(三)java.util.ArrayList liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.综述 ArrayList是一个容量不固定的容器,为单列,有序集合,容量可扩容,扩容系数为1.5 有最大值,一般达不到. ArrayList是线程不安全的,其扩容发生于集合修改的时候,如add,addAll等 ArrayList底层使用的是Object数组,初始化内容为10个容量的元素 使用ArrayList的时候,几种…
一点一点看JDK源码(五)java.util.ArrayList 后篇之Spliterator多线程遍历 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) Spliterator为jdk1.8新增接口,由ArrayList.spliterator();获得其返回值对象Spliterator. 该对象可以使用trySplit进行迭代器拆分,每次拆分后的迭代器接近上一次的二分之一. 这是官方对于大数据量数组多线程遍历加工的一种趋势性指引.…
一点一点看JDK源码(六)java.util.LinkedList前篇之链表概要 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.什么是链表 链表是一种常见的数据结构,属于一种线性表. 虽说链表是线性表,但是其储存的方式并非是线性的,而是节点(Node)方式存储的. 每一个节点都含有一个指针,指向下一个节点. 同时每一个节点都存有自身的数据信息. 链表有点像衣服的拉链,是一个扣一个的,每两个之间都有一个间隔,要想获取某个位置的数据…