- 博客(21)
- 资源 (5)
- 收藏
- 关注
原创 Java终结方法的使用(终结守卫者)
终结方法finalize()通常是不可预测的,也是很危险的,一般情况下是不必要的。- Java语言规范并不保证finalize()会被及时执行,即不确定终结方法执行时间,只规定在对象被垃圾回收之前执行 - 不应该依赖终结方法来改变重要的持久状态 - 终结方法会造成严重的性能损耗正确使用终结方法1. 防止用户使用了创建了对象后,并未使对象提供的显式终止方法(如果有)。终结方法可以充当安全网。2.
2015-10-16 23:04:27
4354
原创 TCP要点总结
TCP要点 1. 有连接 2. 可靠传输 3. 端到端流量控制 4. 数据按序到达TCP报文格式 1. Sequence Number: TCP段的序列号,解决TCP的乱序问题 2. Acknowledgement Number: 确认号,表明接收端期望收到源端的下一个数据字节,解决TCP的不丢包可靠性问题 3. TCP Flags: 标志位字段RST/PSH/SYN/FIN
2015-08-05 01:03:29
1362
原创 InnoDB中MVCC的实现
数据库实现事务隔离的方式 1. 一种是在读取数据前,对其加锁,阻止其他事务对数据进行修改。 2. 另一种是不用加任何锁,通过一定机制生成一个数据请求时间点的一致性数据快照(Snapshot),并用这个快照来提供一定级别(语句级或事务级)的一致性读取。从用户的角度来看,好像是数据库可以提供同一数据的多个版本,因此,这种技术叫做数据多版本并发控制(MultiVersion Concurrenc
2015-08-02 22:29:01
842
原创 LeetCode中的DataBase面试题
Rank ScoresSELECT s.Score, COUNT(t.Score) AS Rank FROM Scores s, (SELECT DISTINCT Score FROM Scores) t WHERE s.Score<=t.Score GROUP BY s.Id, s.Score ORDER BY s.Score DESC; SELECT s.Score, (SELECT COUNT
2015-08-02 02:08:06
1057
原创 BlockingQueue中add,offer,put方法区别
JDK8中继承了BlockingQueue接口的类,如LinkedBlockingQueue,添加元素都有3种方法add,offer,put。add public boolean add(E e) { if (offer(e)) return true; else throw new IllegalStateExc
2015-07-31 20:13:11
20122
原创 Mysql---锁
Mysql支持三种锁行锁 开销大,加锁慢,锁粒度小,会出现死锁。并发度高表锁 开销小,加锁快,锁粒度大,不会出现死锁,并发度低行锁 开销、加锁时间和并发度介于行锁和表锁之间,也会出现死锁
2015-07-27 02:45:31
611
原创 面向对象设计原则
面向对象设计原则单一职责原则 一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。
2015-07-13 10:07:39
589
原创 为什么JDK中String类的indexof不使用KMP或者Boyer-Moore等时间复杂度低的算法编辑器
为什么JDK中String类的indexof不使用KMP或者Boyer-Moore等时间复杂度低的算法,而是使用原始实现
2015-07-01 00:53:28
6501
3
原创 JS实现计时器(prototype)+表格排序
有关prototype的解释,请看http://www.uw3c.com/jsviews/js12.html最近做playmenu餐饮平台项目,厨师端需要计时器来显示菜品从点单到现在已用时间,并且进行降序排序。因为项目需要,才接触了js。查了下资料,自己用js中function的prototype属性,面向对象实现了一个计时器。//计时器function TimeCoun
2015-01-31 00:42:01
640
原创 CSS table表格消除边框和表格中省略号隐藏超长文本
css中并没有cellspacing和cellpadding,可以用这些代替:/*控制cellpadding*/table{border:0;margin:0;border-collapse:collapse;border-spacing:0;}/*控制cellpadding*/table td{padding:0;}说明:border-spacing 属性
2015-01-14 22:35:21
4263
转载 关于 forName 和 loadClass ,newInstance 和 new
关于forName()方法这个方法总是返回要加载的类的Class类的实例1、forName(String className)单参数时, initialize=true a.总是使用当前类装载器(也就是装载执行forName()请求的类 的类装载器) b.总是初始化这个被装载的类(当然也包括:装载、连接、初始化)2、forName(String className
2014-10-14 12:36:51
1016
转载 为什么匿名内部类参数必须为final类型
1) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地义的.是很自然的2) 为什么JAVA中要加上一条限制:只能访问final型的局部变量?3) JAVA语言的编译程序的设计者当然全实现:局部内部类能访问方法中的所有的局部变量(因为:从理
2014-10-11 20:10:00
620
原创 Java中的实例方法、静态方法和数据域的覆盖和隐藏说明
调用实例方法与访问数据域或静态方法的主要不同: 使用引用变量调用实例方法时,变量所引用的对象的实际类在运行时决定使用该方法的哪个实现。访问数据域或静态方法时,引用变量所声明的类型在编译时决定使用哪个数据域或静态方法。public class HidingDemo { public static void main(String[] args) {
2013-09-25 22:58:07
1671
原创 Java中string字符串
在java中,字符串是不可变的,因其又被频繁使用,当字符串直接量具有相同的字符串序列时,通过使用唯一的实例来提高java虚拟机的效率并节约内存。这样的实例被称为被限定的。也就是说,当字符串常量池中已存在相同的字符串时,调用intern()等方法,会返回池中的字符串,即新建的变量可看作引用。字符串对象的创建方式有两种如下:String s1 =
2013-09-13 14:44:01
679
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人