`
fkbillgates
  • 浏览: 40685 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论
文章列表
一,谈谈final, finally, finalize的区别。 Final --修饰符(关键字)。如果一个类被声明为final,意味着它不能再派生出新的子类,不 能作为父类被继承。因此一个类不能既被 声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被 改变。被声明为fina l的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的 方法也同样只能使用,不能重载。 finally—在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相 匹配的catch 子句就会执 ...
Facebook是一个社会化网络站点,它于2004年2月4日上线。每个用 户在facebook上有自己的档案和个人页面,用户之间可以通过各种方式发生互动:留言、发站内信,评论日志。虽然目前在国内无法访问 facebook,但其强悍的技术架构还是值得我们去研究分析和总结的,或许我们可以从中得到一点启发。另外,本文很多内容也是来自互联网,如有侵权方面 的内容请留言,我会及时处理。 facebook的设计原则是 模块化 原则、整合化 原则、清晰化 原则,其架构设计的目标是简单 、高效 。facebook的架构是基于LAMP,差不多是用LAMP实现的最大的动态站点,以下是 ...
作为140个字的缔造者,twitter太简单了,又太复杂了,简单是因为仅仅用140个字居然使有几次世界性事件的传播速度超过任何媒体,复杂是因为要为2亿用户提供这看似简单的140个字的服务,这真的是因为简单,所以复杂 。可是比较遗憾的是目前在中国大陆twitter是无法访问的,但作为一个爱好架构的程序猿,这道墙是必须得翻的,墙外的世界更精彩。今天就结合网络上的一些资料,来浅谈一下我对twitter网站架构的学习体会,希望给路过的朋友一点启示....... 另外,本文很多内容也是来自互联网,如有侵权方面的内容请留言,我会及时处理。 一、twitter网站基本情况概览 截至2011年 ...
互联网就是这么一个神奇的东西。今天我突然想到,优酷网在国内也算是视频网站的老大了,不知道他的架构相对于YouTube是怎么样的,于是带着这 个好奇心去网上找了优酷网架构的各方面资料,虽然谈的不是那么详细,但多少还是挖掘了一点,现在总结一下,希望对喜欢架构的朋友有所帮助。另外,本文很多 内容也是来自互联网,如有侵权方面的内容请留言,我会及时处理。 一、网站基本数据概览 据2010年统计,优酷网日均独立访问人数(uv)达到了8900万,日均访问量(pv)更是达到了17亿,优酷凭借这一数据成为google榜单中国内视频网站排名最高的厂商。 硬件方面,优酷网引进的戴尔服务器主要以 P ...
一.人是最好的工具,尤其是软件的性能和难以确定的bug。 最近发现一部分java写的解析xml程序运行的很慢,使用jprobe跑了一下,搞了一上午,发现问题的所在,检索xml节点时,XPath要进 行词法分析,浪费时间,如果是固定的还好,但是每次生成的xpath都不一样,静态编译xpath表达式是不可能的。还好里面的element不是很多, 循环里面嵌套,遍历一次就可以解决,速度提高了5000多倍。 事后想了一下,如果看程序定位的话,时间应该更少,速度更快,这还是jprobe定位准确的原因,如果定位不准确,耗时会更多。 另一个例子,是我很久之前做的一个程序,一个DSP的程序,用 ...
 想必很多人都对正则表达式都头疼。今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式来和大家分享学习经验。   开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例 ...
1         同步                 如何同步多个线程对共享资源的访问是多线程编程中最基本的问题之一。当多个线程并发访问共享数据时会出现数据处于计算中间状态或者不一致的问题,从而影响 到程序的正确运行。我们通常把这种情况叫做竞争条件(race condition),把并发访问共享数据的代码叫做关键区域(critical section)。同步就是使得多个线程顺序进入关键区域从而避免竞争条件的发生。 1.1       Synchronized关键字                Synchronized是Java多线程编程中最常用的关键字。所有的Java ...
        不知在你眼中,动态规划 在众多算法中处于什么地位呢?是ACM比赛中不可或缺的技巧之一,又或者是征战POJ 水题必备的利器?倘若果真如此,那我多少有些羡慕你,因为我至始至终都没有领悟动态规划的精髓。         自我阅读《算法导论》已久,我对书上给出的解决特定问题所用到的算法并无太多不明朗之处,而且在遇到相似的问题时,可以很快意识到自己熟知的某个算法 能够高效的解决这个问题。但是我不太明朗的地方在于:动态规划并非是解决某个特定问题的算法,他是解决一类问题的算法思想(寻求问题的最优解)。或许我们 能够很轻松的理解某个基于动态规划而形成的算法(比如说B ...
       2011年8月25日消息,乔布斯辞去了苹果公司CEO的职务。10月6日,传来了他去世的消息。在此缅怀乔帮主的同时,与大家分享乔布斯在世时的经典语录。(来自于《乔布斯传》——神一样的传奇的附录) ...
微软等数据结构+算法面试100题全部答案集锦   引言      无私分享造就开源的辉煌。        在此之前,由于本人笨拙,这微软面试100题的答案只整理到了前60题(第1-60题答案可到本人资源下载处下载:http: ...
软件公司的无偿加班对程序员的影响: 国内的软件公司中程序员是常常加班的,每日加,周未也常加。基于这种性质,出现了一种很莫名其妙的现象:每天程序员的实际下班时间总是要晚于规定下 班时间,至于晚一个小时还是两个小时还是更多这就另说,总之,程序员这份工作,如果按时下班反而自己感觉自己像是做贼似的。表面上公司并没有强迫谁加班, 但实际上在潜移默化中有一种威慑力,要求你要多为公司工作几个小时,而且表面上你所工作的这几个小时还是你自己愿意的。正因为是“自己愿意的”,所以公司 更有理由认为是无偿的。 还有就是周未加班,一般周未加班是因为“忙”(关于这个带引号的“忙”,见“软件公司的‘忙’对程 ...
世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 1、扎实的基础    数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现 ...
 本文将介绍几则Java内存管理的小技巧,让你告别陋习,为自己所编写的Java程序提速。   很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少 人站出来为Java辩护,并举出一堆的性能测试报告来证明这一点。其实从理论上来讲Java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么 却有这么多理由来证明它确实占内存呢?两个字,陋习。   1、别用new Boolean()。   在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Bo ...
Robot robot = new Robot();   //要捕捉的屏幕显示范围,下面以全屏示例说明   Rectangle rect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());   BufferedImage bm = robot.createScreenCapture(rect);   通过上面几行代码就把屏幕的当前显示 ...
有许多标准和实践准则可适用于Java开发者,但此处要说的,是每个Java开发者需坚守的基本原则。          一、为代码加注释。虽然每个人都知道这点,但有时却不自觉忘了履行,今天你“忘了”加注释了吗?虽然注释对程序的功能没什么“贡献”,但过一段时间, 比如说两星期之后或者更长,回过头来看看自己的代码,说不定已经记不住它是干什么的了。如果这些代码是你个人的,那还算是走运了,不幸的是,当然了,大多 数时候都是别人的不幸,很多时候大家都是在为公司写代码,写代码的人也许早已经离开了公司,但别忘了一句古话,有来有往嘛,为他人,也为我们自己,请为你 的代码加上注释。        二、不 ...
Global site tag (gtag.js) - Google Analytics