java散点

1. 三目运算符右结合 true?false:true == true?false:true;这个表达式等于true?false:(true == (true?false:true)); => true?false:(true == false); => true?false:false;最终应该得到false。 2. &,|,~ 为位运算符,也是Boolean类型的逻辑运算符 此时与&&,|| 区别:&&或|| 做了优化,&& 前为false或者 || 前为true,则不继续运算,而& | 则做完。 3. final,finally,finalize finally 异常处理补充,总会执行的代码(无论是否异常),try中return时,会在return前执行 finalize 方法名,Object中定义,释放资源。 final修饰符 final成员 成员初始化后值不能再改变。 final方法 方法可被继承但不可重写。编译时将主体插入而不是调用。 final类 类不可被继承 4.

母亲节快乐

自己也只能作那所谓的的网络孝子,电话孝子了 而您们继续着自己父母身边不孝子. 您们的辛苦在别人的嘴里 您们的委屈却只能在自己心里 或许也在零星人的眼里. 再苦再累从未有过丝丝怪罪 而从未有过的理解却是让您们一次次含着泪 ![fm.jpg][1] [1]: {{ site.url }}/assets/images/fm.jpg

链式线性表

这是线性表的链式实现(实现了一个双向链表),当然也可以用[顺序实现][1],根据不同需求。两者区别如下:   顺序表 链表 空间性能 存储空间静态分布,通过固定长度数组保存,部分空间浪费 存储空间动态分布,不会浪费空间,但会多占用一些空间保存前/后节点信息 时间性能 逻辑顺序和存储(物理)顺序一致,因此可以通过数组下标达到随机存取目的,查找时间复杂度为O(1),但是删除和插入元素时比较麻烦,因为会牵扯到数据的移动等等问题 采用链表存储数据,插入删除时间性能很好,但是查询时需遍历链表 MyList为自定义的一个线性表接口,说明了一些线性表应该具有的功能. 下面实现了MyList接口中的方法,代码可以查看[这里][2] 事实上,在这里用接口只是为了方便提醒自己不要漏掉某些重要功能,在表的实现中,不实现MyList接口也可以正确运行。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 package com.

顺序线性表

线性表的实现可以是顺序的(数组实现),也可以是非顺序(链式)的, 如下便是顺序表的实现,相当于简化版的java工具类中ArrayList。链式结构的实现(实现为一个双向链表),相当于java工具类中LinkedList,具体实现可以参考这里。 MyList为自定义的一个线性表接口,说明了一些线性表应该具有的功能: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 package com.

以==理解java内存

引言 1 2 3 4 5 6 7 8 9 10 public static void main(String[] args) { String str1 = new String("hello"); String str2 = "hello"; String str3 = new String("hello"); String str4 = "hello"; System.out.println(str1 == str2); System.out.println(str2 == str3); System.