- 博客(285)
- 资源 (37)
- 收藏
- 关注
转载 如何成为一个编程高手
1、一个IT工程师应该具有的技能我认为实用技能包含3个方面,如图1所示: 图1这些都是很重要的:●编码:你必须能够在限定时间内编写出高质量的代码。●经验:具有相关经验表明你对该行业的热情,并能够在一开始就进入工作状态。●理论:理论知识是IT工程师的基础,好的理论知识能够让你快速解决新出现的问题。 而准备工作面试的过程是一个提
2012-08-02 22:21:44
1053
原创 作为一个男人,应该做好的事
如果你是作为一个男人,尤其作为一个真正的爷们,应该做好下列小事: 1,如果朋友请你吃饭,不要觉得理所当然,请礼尚往来,否则你的名声会越来越臭。 2,一定给自己定目标,一年,两年,五年,也许你出生不如别人好,通过努力,往往可以改变70(百分号)的命运。破罐子破摔只能和懦弱做朋友。 3,不要忘记这是个现实的社会,感情不能当饭吃,贫穷夫妻百事哀。不要相信电影,那只是个供许多陌生人喧嚣情
2012-05-03 23:14:43
1022
原创 心态与交往
关于心态1、要自信,绝对自信,无条件自信,时刻自信,即使在做错的时候。2、寂寞空虚无聊的时候看点杂志,听听音乐,没事给自己找事干,可以无益,但不能有害。3、不要想太多,尤其是负面的想法,定时清除消极思想。4、学会忘记一些东西,那些痛苦的、尴尬的、懊悔的记忆,为阳光的记忆腾出空间。5、敢于尝试新事物,敢于丢脸,热爱丢脸,勇于挑战。年轻时多犯几次错误,有好处。但能一步到位的,一次就
2012-02-28 22:37:11
858
原创 作为一个男人,必须在30岁前做到这16件事
1.事业永远第一 虽然金钱不是万能的,但没有钱是万万不能的,虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上。2.别把钱看得太重 不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样
2011-11-30 23:16:39
1036
原创 逝世一周,追忆乔布斯
时刻提醒自己的生命行将终结,这是帮助我为生命中的重要选择做出决定的最好办法。因为所有期待、所有骄傲、所有畏怯、所有的所有,都在死亡面前变得不值一提。在死亡面前,生命中最重要的才能存留下来。时刻提醒自己的生命行将终结,这是防止自己畏手畏脚的最好办法。既然你已经一无所有,为什么不听听
2011-10-12 20:31:00
1051
原创 程序员界的九阳神功与独孤九剑
想写这篇文章已经很久了,可以说它是我很早以前就思考过的两个理念之一(另一个是"金字塔理论"),希望读过本文的人多多提出你们不同的看法,共同分享。
2011-07-29 23:00:33
2387
原创 对如何学习Java的一点点看法
对如何学习Java的一点点看法很多次有同学问我Java应该怎么学,需要看哪些书,让我推荐一下。说实话,我一直不敢明确保证哪些书必须看,哪些书不用看,因为我怕将他们带入迷途。今天,我静下心来,写下了一点点我对学习Java的看法,但仍然诚惶诚恐! ------
2011-06-27 11:10:00
15442
86
原创 Java IO——字节流与字符流
Java IO——字节流与字符流 流是一个有序的字节或字符序列,可作为一个输入源,也可作为一个输出的目的地。 字节流以字节为单位输入输出,字节流类名含有stream;常见的有BufferedInputStream、FileInputStream,字节输出流与此对应BufferedOutputStream、FileOutputStream。其中,FileOutputStream是连接
2011-05-08 22:00:00
1696
原创 MyEclipse下查看Java API帮助文档
每次重装JDK或者升级JDK时,都会忘了如何使MyEclipse关联帮助文档。然后,再花十几分钟重新google搜索,麻烦! 首先下载Javadoc api帮助文档,google搜一下就行了。MyEclipse:1.打开首选项:Window-Perferences2.定位到jre:Java-Installed JREs 选中你已有的要添加java API的jre或jdk(如
2011-05-04 16:59:00
8145
原创 网络爬虫与浏览器的异曲同工之处
网络爬虫与浏览器的异曲同工之处抓取网页的过程其实和读者平时使用IE浏览器浏览网页的道理是一样的。比如,你打开一个浏览器,输入清华大学的网址http://www.tsinghua.edu.cn,如图1.1所示。 "打开"网页的过程其实就是浏览器作为一个浏览的"客户端",向服务器端发送了一次请求,把服务器端的文件"抓"到本地,再进行解释、展现。更进一步,可以通过浏览器端查看"抓取"过来
2011-05-03 15:15:00
1602
原创 让我们学会换位思考
让我们学会换位思考曾几何时,学习物理学时遇到这样一个定律:力的作用是相互的,有作用力必然有其反作用力。假如你抽Y的别人一巴掌,你的手和别人的脸所受力是相同的,这是很多人都知道的事情。其实,想写这篇博客由来已久。想我一个闷骚的男人,事事都放在心里。对于别人的对自己的侮辱,也只能忍气吞声,默默地独自承受,不敢大声的反驳,幽幽地在心中诋毁他。每每此时,我便会思考:他看我不爽时,其实我看他
2011-04-28 22:43:00
1276
2
原创 非阻塞同步机制
《JAVA并发编程实践》中提供了3中非阻塞算法的示例。第一个示例,非阻塞计数器。CAS,比较并交换即Compare-And-Swap。假设CAS有3个操作数--内存位置V、旧的预测值A和新值B,那么它的典型模式为:首先从V中读取值A,由A生成新值B,然后使用CAS原子化地把V的值改成B,并且期间不能有其他线程改变V的值,因为CAS能够发现来自其他线程的干扰。代码 1 使用CAS实现的非
2011-04-22 22:30:00
6167
17
原创 大学阶段什么最重要
大学阶段什么最重要2011年4月19日凌晨3时,于娟,这位感动和激励无数网民的“复旦大学抗癌教师”去世,留下70多篇“癌症日记”。几番生死,顽强抗争到底;下笔万言,生命日记传世。生命如斯,应无所憾。真的无所遗憾吗?肯定不是!就像于娟自己说的那样,“人生最痛苦的事有三种:幼年丧母,中年丧妻,晚年丧子,如果我走了,我的父母、丈夫还有孩子,就会面临这些痛苦,所以我要坚强地活下去。”她想活,她要活
2011-04-21 22:30:00
1131
原创 读《Java并发编程实践》
读《Java并发编程实践》随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。多处理器与多核处理器的区别:多核是指一个处理器里面有多个处理核心,而多处理器就是在一台机器上有多个处理器。很多商家在卖机的时候仍将一个处理核心说成是一个处理器,将多核说成多处理器,一般单机上多数人说的多处理器就是多核的意思 。如下图示,多处理器系统多核处理器过去的三十年间,计算机性能一
2011-04-18 22:30:00
1120
原创 被打击了,杯具!
2011年4月12日 天气 晴下午,我满怀激动的心情去上《高级操作系统》课,因为我要上台演讲!几天的准备终于可以大显身手了(开个玩笑)。我的题目是《程序的装载、链接与执行》,一直觉得做得还行,那是我花功夫一字一句写的,是自己的劳动果实!终于轮到我讲了,我蹦上了讲台,开始了我的激情演讲!我讲啊讲啊,扭头一望,晕死!老师在睡觉!当时我的心 拔凉拔凉的。。。。。。回到实验室我意
2011-04-15 12:20:00
781
1
原创 某些时候,重构是有危害的
某些时候,重构是有危害的重构涵盖了一系列使代码更整洁、更可靠、更易维护的技术。但是,有时候这些特性q却不可兼得。而通常困扰我们的特性就是性能问题。例如,让我们来思考把循环不变因子boolean值从块内提取出来的问题:for(....) { ... if(b) A; else B; .... }当b是一个循环不变量时,这段代码可以改
2011-04-06 20:30:00
3205
22
原创 剖析Java Class文件结构
本文主要参考了http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.htmlClassFile {u4 magic; // 必须为: 0xCAFEBABEu2 minor_version;u2 major_version; //CLASS文件结构主次版本号 JAVA2支持45.0-46.0u2
2011-03-31 22:00:00
1744
原创 The Future of Java
对于学习java的人来说,了解Java的历史,把握Java现在的态势,关注Java未来的发展是很有必要的!对Java来说,2010年是不平凡的一年,从Oracle在年初完成对Sun的收购,使大家对Java的未来充满了关注。在企业生根发芽 Java的第一次出彩是在服务器领域,这里仍然是它的主要舞台,人们总是寄希望于Java虚拟机。大 型服务器也是Oracle的看家本领,所以这里他们的
2011-03-18 22:30:00
649
原创 The Outlook of Java
对于学习java的人来说,了解Java的历史,把握Java现在的态势,关注Java未来的发展是很有必要的! 在流行几年之后,Java在浏览器中的地位被逐步侵蚀。它在简单交互性动画方面的用途已经完全被Macromedia公司的Flash排 挤,2005年Java倾向只被用于雅虎游戏那样的更为复杂的应用程序。Java同时遭受到来自微软的反对,他们决定在新版本的Internet Explorer和
2011-03-18 22:00:00
781
原创 The History of Java
对于学习java的人来说,了解Java的历史,把握Java现在的态势,关注Java未来的发展是很有必要的!Java产生的背景:Java来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。最初,团队考虑使用C++语言,但很多成员发现C++太复杂以至很多开发
2011-03-18 12:00:00
910
原创 读《周鸿祎,高司令》所想到的。。。
孟岩,传说中的“大牛”,我还是挺佩服他的。前一段时间,我还把他以前的博客概略地看了一遍,他的很多想法非常独特。而《周鸿祎,高司令》这篇博客给我的印象最深,文章地址为http://blog.youkuaiyun.com/myan/archive/2010/09/28/5910877.aspx。文章里面有这样一段言论:程序员圈子里流传什么“优秀程序员效率超过平庸程序员100倍”之类的说法。我猜编出这种
2011-03-12 22:30:00
2435
原创 成功的艺术家临摹,伟大的艺术家剽窃
现代派艺术家毕加索曾经说过:“好的艺术家临摹,伟大的艺术家剽窃”。是的,要想成功,你必然要向成功者学习、借鉴;而要想成为伟大,则必然需要在模仿的过程中加以创新。没有临摹,就没有互联网发展。这两年全世界最耀眼的公司大概就是苹果。90年代中期,苹果公司CEO及精神领袖史蒂夫·乔布斯曾经引用过一句毕加索的名言—“成功的艺术家临摹,伟大的艺术家剽窃”。他还承认,对偷窃他人伟大想法的举动,苹果公司向
2011-02-28 22:00:00
2806
原创 苹果CEO乔布斯
苹果CEO乔布斯通常位列最受尊敬的CEO之列一点都不让人奇怪。乔布斯同时还被《财富》杂志选为“十年最佳首席执行官”(CEO of the Decade),《财富》杂志认为,“乔布斯前所未闻地导致四个行业——电脑、音乐、电影和智能电话——重新洗牌”。 苹果的众多粉丝和投资者认为乔布斯无可替代,然而身患胰腺癌的乔布斯最近宣布病休以集中精力治疗,两年前乔布斯也因同样原因休息了一段时间。 在苹果再一次处理
2011-01-22 22:35:00
818
原创 CSAPP:Tiny Web服务器
Web 服务器,一个多么庄严而神圣的名词!没有接触之前,它神秘而不可侵犯;学习研究之后,它又是如此地平易近人。今天,让我们一起走近web服务器。此时,想像一下,当你自己动手实现了一个服务器时,你会是怎么的兴奋;尤其是将一个真正的浏览器指向我们自己实现的服务器时,看着它显示自己本机上的文本及图片时,那将是怎样的激动时刻呀!下面就来看看它的实现全过程:Tiny的准备#ifndef
2010-12-24 22:25:00
3001
原创 CSAPP:shell实验
看了几遍都没整明白异常控制流核心原理,而对这个实验也是一知半解。不过,下面的shell实现代码应该还是不错的。贴出来看一看:/* * tsh - A tiny shell program with job control * * lycos 201020601005 */#include #include #include #include #include #includ
2010-12-17 22:30:00
5202
原创 CSAPP:优化程序性能
优化程序性能这章作为CSAPP中最闪光的一章,其重要程度不言而喻。此实验分为了两个部分:第一部分是对一个多项式计算的优化;第二部分是对矩阵代码的优化。首先,我们必须了解一些优化程序的常识。编写高效的程序需要两个方面下足马力:第一,我们必须选择一组最好的的算法和数据结构;第二,我们必须编写出编译器能够有效优化以转换成高效可执行代码的源代码。那么此时,我们就需要理解优化编译器的能力和局限性
2010-12-10 23:04:00
3537
原创 CSAPP:处理器体系结构实验
本实验主要由《深入理解计算机系统》第四章课后家庭作业问题组装起来形成的一个实验。实验主要是模拟一下自己设计的处理器如何执行Y86指令。而实验仅仅是一个模拟过程,实验前,应该透彻地搞懂真正的原理理论。这样,才会有事半功倍的效果。做此实验首先要有模拟环境。而实验的模拟器安装却是比较复杂的,下面把我成功安装的工程记录一下(仅供参考,每个人的机器不一样,一些设置也会不一样)Y86模拟器安装无图
2010-12-07 22:20:00
5282
1
原创 CSAPP:二进制炸弹实验
二进制炸弹是作为一个目标代码文件提供给学生们的程序,运行时,它提示用户输入6个不同的字符串。如果其中任何一个不正确,炸弹就会“爆炸”:打印出一条错误信息。学生通过反汇编和逆向工程来确定是哪六个字符串,从而解除他们各自炸弹的雷管。该实验教会学生理解汇编语言,并强制他们学习怎样使用调试器。对这个实验慕名已久,做了一下不禁感叹:果然牛x,不愧是从美国进口的!因为提供的二进制炸弹是根据特定的平台而
2010-12-05 22:10:00
10256
5
原创 CSAPP:缓冲区溢出实验
首先,标注一下做这个实验时参考的两篇比较好的博客:http://www.javaeye.com/topic/257684http://hi.baidu.com/wurmbai/blog/item/6e93ee3ae0dc1f2eb9998ff2.html使用的系统环境为:Ubuntu + gcc.4x这个是csapp 《深入理解计算机系统》中家庭作业第38题,直接在原程序运行的时候
2010-12-04 22:15:00
4568
1
原创 CSAPP:数据实验
书是要看的,但实验也是要做的!接下来将《深入理解计算机系统》里面的几个实验做一下,巩固一下理论知识。 数据实验。这个实验要求学生们实现简单的逻辑和算术函数,但是只能使用一个高度受限的c的子集。比如,他们必须只能用位级操作来计算一个数字的绝对值。这个实验帮助学生们了解c数据类型的位级表示,和数据操作的位级行为。 说实话,这个实验对于有些人可能会很有兴趣,因为它属于智力型实验。有点
2010-12-03 20:00:00
5468
原创 函数调用返回值传递的三种情形
这篇文章是从《程序员的自我修养》中摘录的一小点。我个人认为很不错,就总结了一下。一般情况下,我们都知道返回值是通过eax这个寄存器返回的。但是,eax本身只能存储4个字节的数据,对于那些返回值大于4个字节的数据应该怎么返回呢?下面我们把它分为3中情况:第一种情形:小于四个字节。解决之道:直接放到eax中返回。第二种情形:大于四个字节,小于8个字节。解决之道:采用eax和edx联合方式进行。
2010-12-02 19:38:00
1021
原创 读《深入理解计算机系统》
作为12月初的开篇大戏,我将总结一下再次阅读《深入理解计算机系统》的感觉。 《深入理解计算机系统》这本书真不知道用什么修饰来形容它比较好。它是计算机专业的必读之书;它是一本难得的好书;它的价值超越了同等重量的黄金;它将带领你走向程序员“大牛”之道;等等,这些赞美之词都不为过。然而,我更喜欢下面的一个说法:当我毕业搬家时,在众多的书籍中只能带走一本的话,我会毫不犹豫地选择它——《深入理解计算
2010-12-01 20:43:00
3917
原创 读《程序员的自我修养——装载、链接与库》
《程序员的自我修养》这本书是我看过《深入理解计算机系统》之后看的一本书。在中国人写的书中,它可以算是相当不错的一本书了。但总觉得比《深入理解计算机系统》这样的国外经典书还差那么一点,具体差在哪里,我也说不出来。但如果给它打个分的话,我会毫不犹豫地给五星。这本书里,首先给出了几个鲜明的观念很不错。知其然更要知其所以然;CPU体系结构、汇编、c语言(C++)和操作系统,永远是编程大师们的护身法
2010-11-29 16:48:00
1169
原创 程序运行流程——链接、装载及执行
在阅读完《深入理解计算机系统》第一章(计算机系统漫游)、第七章(链接)以及第十章(虚拟存储器)和《程序员的自我修养——链接、装载与库》后,历时悠久的梦想终于要实现了。开篇之初,首先提出一个迷惑了很久的一个问题:什么是虚拟存储器?它跟进程的虚拟地址空间有什么关系?虚拟存储器是建立在主存--辅存物理结构基础上,有附加的硬件装置及操作系统存储管理软件组成的一种存储体系。 顾名思义,虚拟存储器是虚
2010-11-27 22:28:00
1971
3
原创 程序运行流程——准备篇
已经忘了第一次写c语言程序到底是什么时候的事了。不过我却明白,当时我肯定是知其然而不知所以然。不知从什么时候开始对程序执行背后的东西感兴趣了,而且愈演愈烈,现在终于下定决心去搞明白它了。就以c语言中最经典的例子来说明吧:#include int main(){printf("Hello World/n");}上面的代码我们保存在helloworld.c文件中。其本质实际上是由
2010-11-19 22:33:00
813
原创 程序员——语言表达
这个周末跟着几大损友去了台州转了一圈,彻底逍遥了一下。不过还是挺累的:坐车、跑路、再坐车,就这么简单。。。。。。期间,跟刺猬聊了一下。实际情况是,主要他在说,我在听。这次同样受益匪浅。首先,他再一次向我推荐了python这门脚本语言。因为我一直在学Java,也经常在图书馆看到java+python这类书,但就是没想到它会那么重要,后没定会安排时间看一下这门语言的;其次,他建议我参加一个开源
2010-11-18 21:09:00
1350
转载 一个程序员的自我修养
好久没写博客了,今天看到这篇有点小小的感触,就转了一下,希望以后能坚持写。。。。为什么这么低端我是一个半路出家的程序员,决定写程序只是不想这辈子到处漂,我希望有一个能够让我在一个小镇上工作三天休息四天的手艺而已,或许我只是想在一定的年龄到一个小镇上去做一个麦田的守望者,能够看着一帮孩子成长,让他们快乐,安全,自由的玩耍。初衷往往是美好的,到我编码到一定的阶段后,我发现自己爱好上了这份事业,
2010-11-12 22:13:00
5951
原创 SQLServer 2000连接错误
SQLServer 2000连接错误: 错误描述如下: Error while performing database login with the com.microsoft.jdbc.sqlserver.SQLServerDriver driver:[Microsoft][SQLServer 2000 Driver for JDBC] Error establishing socket.
2009-05-13 21:34:00
2234
1
原创 Ubuntu 中文输入法安装
官方提供的安装是这样的:$sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad$sudo sh -c " echo 'export XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE="scim
2009-04-04 22:44:00
5241
1
原创 NS2.33 + Ubuntu + Sun xVM VirtualBox的安装
1.安装 Sun xVM VirtualBox。 2.建立New Virtual Machine,用“ubuntu-8.04.1-desktop-i386.iso”安装Ubuntu8.04;(Ubuntu8.04可到http://www.ubuntu.org.cn/products/GetUbuntu下载)。3.建立VM tools。4.升级Ubuntu8.04。以上因人而异5
2009-04-04 20:47:00
2634
Lucene+Nutch搜索引擎 光盘源码
2008-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人