- 博客(13)
- 收藏
- 关注
原创 ArrayList源码简单理解
成员变量: Object数组 elementData。size 表示当前大小。构造函数:用户传入initialCapacity为初始的大小为elementData的大小,如果没有传则大小默认为10。modcount:函数中多次使用到了modcount,这个modcount是在使用迭代器遍历的时候,用来检查列表中的元素是否发生结构性变化就是说元素有没有改变,主要在多线程环境
2017-11-16 20:03:36 266
原创 单例模式
单例模式,这个类永远只有一个对象,无论new多少次,得到的对象都是同一个。实现一个单例模式需要3个条件:1.私有的构造函数,这个保证用户无法自己new一个对象。2.有一个获取该类对象的方法,用户只可能同类这个方法来获取一个该类的对象。3.定义一个唯一的对象,只能返回这个对象的引用。今天写单例模式的快加载和慢加载。快加载:在这个对象第一次被引用前就初始化,这个的问题是如果这个
2017-11-06 17:50:00 245
原创 Cloneable,Comparable,Comparator接口
Cloneable接口,这是一个空接口,标记接口,表示这个类有拷贝能力,需要在这个类中重写clone方法,之后这个类的对象可以使用clone方法,也涉及到浅拷贝和深拷贝问题。import java.util.Arrays;class Person implements Cloneable{ public String name; public String sex; public S
2017-11-06 17:17:26 569
原创 类的组合以及类的初始化顺序
类的组合:一个类产生的对象是另一个类的成员变量。类的初始化顺序: 1.static成员变量默认初始化 2.静态块初始化 3.实例成员变量默认初始化 4.实例块初始化 5.构造函数 1和2,3和4 与 代码顺序相关 但是 3,4不会出现在1,2之前测试一:在Person的构造函数中对Data初
2017-10-28 22:44:09 1345
原创 两个单链表的相交问题,第一个公共结点
关于这个问题,有三种思路。 第一种是最普通的思路,使用2层循环,第一层循环遍历链表A,在每次遍历到一个结点时,第二层循环遍历链表B看看有没有一样的结点,这个思路比较容易想,但是这个的思路的时间复杂度比较高,如果两个链表一个长度m,一个长度为n,时间复杂度就是O(mn); 第二种思路需要用到栈,还需要用到单链表的特点,单链表每一个结点都只有一个next结点,所以2个链表相交之后,从第一个公
2017-10-24 22:08:45 308
原创 单链表中是否有环的问题
这篇是写单链表中是否有环的判断,环的长度,以及环的起始节点问题的思路以及实现。 第一个问题就是判断是否有环: 使用2个引用和一个循环可以解决这个问题,一个引用一次向后走2个节点,称为fast,一个引用一次向后走一个节点,称为slow,当fast与slow相遇时证明这个单链表有环,代码如下: public boolean haveCircle(){ Node fas
2017-10-24 18:56:12 332
原创 java数据类型
简单类型: byte char short int long float double boolean (true,flase) 无固定大小,只能取true和false引用类型 : 类类型 字符串 数
2017-10-15 17:05:22 197
原创 进程间的通讯之有名管道
有名管道在内存中开辟一块新的空间,2个进程通过文件描述符操作这片空间,可以再任意两个进程间传递数据。仅仅是目 录树中的一个标示, 并不在磁盘上空间。 那么如何创建一个管道文件,有2个方式,一个使用mkfifo命令创建另一个是在程序中用mkfifo()函数创建。 如何使用管道文件,和普通文件一样,使用open,read,write,close函数操作。 但是和其他文件不同,主要有以下
2017-10-01 16:00:08 280
原创 关于二叉树的操作(一)
今天写的是二叉树的一些操作,这个应该会写两到三篇博客,还会牵连一些别的东西,以后都会写。 一个简单的二叉树结点包括1个数据域,一个左孩子节点和一个右孩子节点。所以定义出一个结构体。typedef char ElemType; typedef struct BtNode { BtNode *leftchild; BtNode *rightchild; ElemType
2017-09-23 23:55:45 326
原创 查找单链表中倒数第k个节点
那么,这次来说一个具体的问题吧,一个单向链表中有n个结点,现在要求打印链表中的倒数第k个结点,应该怎样实现? 普通人反映出的第一个思路应该是先遍历一遍整个链表知道链表的长度len,然后要输出倒数第k个就是正数的第len-k+1个结点,那么只需要遍历链表到这个结点然后打印就好了。显然这个方法需要遍历2次链表,能不能只遍历一次就能输出这个结点呢,讲道理是可以的。我们需要有2个指针,一个先
2017-08-10 15:39:42 2198
原创 makefile的命名和写法简化
各位来看的大佬,今天我继续来写Makefile文件的其他简单的内容。Makefile 估计还得写几篇吧,maybe吧….. 进入正题……. 第一个要说的是命名的问题,上次说到这个文件的名字,其实是为了方便叫Makefile或者makefile,如果你也不知道为啥要叫这个名字,也不想知道方便的问题,看见这俩就不爽,别的名字也行吧,只是麻烦了一点,比如说叫它“file”,当你写
2017-07-19 21:53:17 1991
原创 makefile的命名和写法简化
各位来看的大佬,今天我继续来写Makefile文件的其他简单的内容。Makefile 估计还得写几篇吧,maybe吧….. 那么,还是事先声明,原创,如果有错请告诉我.....我好改.....嗯,和原来一样,蓝色的都是命令 进入正题……. 第一个要说的是命名的问题,上次说到这个文件的名字,其实是为了方便叫Makefile或者makefile,如果你也不知道为啥要
2017-07-19 21:42:52 426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人