锁定老帖子 主题:由对象类型转换联想到的....
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-12-01
上周加班,这周依然如此(今天早上还真是冷,冬天真的来了...)
public final class String implements java.io.Serializable, Comparable<String>, CharSequence{ private final char value[]; }
上面这一行的code,我随便联想一下: (a) final这个keyword其实是可以引申出很多的知识点的.比如final修饰的方法,修饰的类,修饰的变量都有什么限制?final修饰的方法能不能被override?final修饰的东西放在JVM中什么area里? 是young,old or permanent? (b) String其实也是由字符数组搞定的, 看看数组的概念是so foundational(you can do everything by array and reference) (c) implements Serializable interface, 不多说,也是base knowledge
(2) StringBuffer (我之前所在公司项目大量使用)
public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence { public synchronized StringBuffer append(Object obj) { super.append(String.valueOf(obj)); return this; } }
(a)extends AbstractStringBuilder扩展了抽象类,对基类的append加入同步机制, so it's thread-safe.看到这里,就不得不说Thread的一些knowledge了,比如同步方法lock的是object or class?如果我要加个static那结论又如何呢? (b)线程同步问题真的是一个非常interesting and hot-blooded的技术,以前一直搞SQL CURD,一次interview,连wait,notify/notifyall都搞不清。 (c) extends + implements 组合真的可以OO,不是XXOO,是OO。⊙﹏⊙b汗 ,最近看tomcat sourcecode,tomcat里用了很多这样的组合,并且JDK也是,以前从未关注过,也是看了OO方面的书籍,似乎是懂了一些什么样的应该implements,什么样的应该extends(不是语法含义的问题,而是对于现实问题的抽象边界问题) (d)其实StringBuffer也是final的,为什么是可变的呢?这就归咎与JVM中const pool与object的概念了。引申一下,java是传值还是传引用呢?呵呵
(3)StringBuilder 和StringBuffer一样,只不过append不是同步方法.不细说了.
(4)java compiler 其实内部是喜欢StringBuilder的,比如2个StringObject操作的时候,是转换成StringBuilder的。
结论:如果不需要同步的时候,优先使用StringBuilder,你懂的
Postscript 一个类型转换搞这么一堆rubbish word。前2天还联想到一件事,去食堂吃饭的时候,一般大点的食堂都是有专门的窗口收费,打饭另外的窗口。 说到这里,你能想到什么?“啥,你说啥,午饭几个菜?? 别胡说”
不管你想到没有,反正我是想到了,multiple-thread
抽象一下:收费窗口是主线程,负责accept 请求(吃饭请求),然后入queue(排队打饭的queue那时一个长啊),打饭的胖师傅就是workthread,负责给你丫打饭。像不像我们常用的webserver,没错,就是这个意思,你懂的. single thread -- >a task per thread --> threadpool (Doug Lea 估计经常吃食堂的,人家就能写出那么优秀的code)
绝对原创,随便喷 ,restriction只有一条,转载请标出处
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-12-03
分享知识的精神可佳,但营养甚少。
|
|
返回顶楼 | |
发表时间:2012-12-03
freezingsky 写道 分享知识的精神可佳,但营养甚少。
本文只是一种联想,很多知识点都是一笔带过,限于篇幅关系并且大家估计也都是比较了解,没有详细讲解,见谅 |
|
返回顶楼 | |
发表时间:2012-12-03
中英结合看着很难受
|
|
返回顶楼 | |
发表时间:2012-12-04
hbhrobin 写道 中英结合看着很难受
同感 |
|
返回顶楼 | |
发表时间:2012-12-04
bolo 写道 hbhrobin 写道 中英结合看着很难受
同感 sorry 我错了,公司是个伪外企,平时说话就这么结合的,不知不觉习惯了 |
|
返回顶楼 | |
发表时间:2012-12-04
杂谈啊,看完似懂非懂
|
|
返回顶楼 | |
发表时间:2012-12-04
太让人蛋疼了吧,虽然都能看懂,但是几句中文几句英文真的让人蛋疼……
|
|
返回顶楼 | |
浏览 2849 次