09 2013 档案

摘要:正式学习编程也就1年而已,在这1年里,要学习C/C++,Java,C#这些主流语言,还要熟悉JavaScript,HTML,CSS这些前端开发知识,加上一些Android应用软件,网站站点的开发工作,导致我现在就是一个大杂烩,什么都知道一点,但又什么都不精通。现在又面临毕业找工作压力,不知道自己应该找什么工作,毕竟自己好像什么都碰过,心浮气躁,原本基础就是薄弱,还要在这段日子顶着压力,将手头上的项目努力完成,毕竟开发软件不难,但维护软件特别难,像是已经发布的网站,现在面临服务器被攻击而无法正常运行的问题。果然还是那句行内的老话:当软件正式上线运行的时候,真正麻烦的事情才正式开始啊!!相信这也是 阅读全文
posted @ 2013-09-15 11:16 文酱 阅读(4765) 评论(1) 推荐(1)
摘要:人生就像是一场长跑,有很多机会,但也得看我们是否能够及时抓牢,就像下面这样的代码:while(isRunning){ if(...){...} else if(...){...} ... else{..}} 存在着太多的if...else if...else...,很多都是一闪而过,就看我们是否将isRunning时刻设置为true,一直不断在跑,一直不断在检查条件是否满足。就算条件达到了,有些人会选择return或者将isRunning设置为false,主动退出循环,有些人选择继续跑下去,不断追寻更高的目标。 所以,如果我们一时看不到未来,请不断跑下去,迟早... 阅读全文
posted @ 2013-09-15 09:57 文酱 阅读(7560) 评论(0) 推荐(2)
摘要:数据结构和算法,是我们程序设计最重要的两大元素,可以说,我们的编程,都是在选择和设计合适的数据结构来存放数据,然后再用合适的算法来处理这些数据。 在面试中,最经常被提及的就是链表,因为它简单,但又因为需要对指针进行操作,凡是涉及到指针的,都需要我们具有良好的编程基础才能确保代码没有任何错误。链表是一种动态的数据结构,因为在创建链表时,我们不需要知道链表的长度,当插入一个结点时,只需要为该结点分配内存,然后调整指针的指向来确保新结点被连接到链表中。所以,它不像数组,内存是一次性分配完毕的,而是每添加一个结点分配一次内存。正是因为这点,所以它没有闲置的内存,比起数组,空间效率更高。 像是单向链表. 阅读全文
posted @ 2013-09-14 16:34 文酱 阅读(20243) 评论(23) 推荐(3)
摘要:前面已经讲了数组题目中常用的几种方法:递归和循环,查找和排序,现在我们补充一下一些特例。 基于数组的题目考查的知识点除了上面之外,还有其他一些细节,因为数组存放的是数据类型,而数据类型本身就有一些细节值得我们仔细推敲。题目一:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印出最小的一个。我们还是从一个测试用例开始。 假设一个数组{3, 32, 321},那么它所能排成的最小数字应该是321323。表面上这道题目是要求我们找出排列规则,但是它里面隐含了一个重大的问题:大数问题,把数组里的数字都拼起来的话,有可能造成溢出,这也是我们需要考虑的问题。 解决大数问题最直观的的做法就是将数字 阅读全文
posted @ 2013-09-09 09:51 文酱 阅读(2415) 评论(0) 推荐(0)
摘要:数组是我们程序员最常用的数据结构,也是笔试和面试最喜欢出的题型。要想解决好一道数组题,需要的不仅是扎实的编程基础,更重要的是,要有清晰的思路,因为数组题经常是一些见都没有见过的数学题目,需要我们当场分析其中的规律。 考察数组,最主要的是这几个方面:查找,排序,递归和循环,而这往往考察的就是我们编写高效率代码的能力。编写能够运行的代码并不难,但要编写高效的代码却是一门需要花时间的功夫,甚至可以说与天赋挂上钩,有些人天生就是对算法非常敏感,能够一下子掌握算法的精髓。但事实就是,大部分正在编程的程序员都不具备这种能力,就像我一样。 所幸,真正的事实就是:大部分人的努力程度并不足以达到与别人拼天赋的. 阅读全文
posted @ 2013-09-08 19:41 文酱 阅读(2727) 评论(4) 推荐(1)
摘要:前面我们已经讲过如何让对象具有Thread安全性,让它们能够在同一时间在两个或以上的Thread中使用。Thread的安全性在多线程设计中非常重要,因为race condition是非常难以重现和修正的,我们很难发现,更加难以改正,除非将这个代码的设计推翻来过。 同步最大的问题不是我们在需要同步的地方没有使用同步,而是在不需要同步的地方使用了同步,导致效率极度低下。所以,我们要想办法限制同步,因为无谓的同步比起无谓的运算还更加让人无语。 但是否有办法完全避免同步呢? 在有些情况下是可以的。我们可以使用之前的volatile关键字来解决这个问题,因为volatile修饰的变量是被完整的存储的,. 阅读全文
posted @ 2013-09-03 10:56 文酱 阅读(16714) 评论(1) 推荐(2)