2010总结

原创 2011年01月13日 19:25:00

时间“嗖---”的一下就过去了,结束了2010的时代,一个从大学走向社会的过程,完成了一个学生与社会人的转变过程!

是啊,人生何尝不是这样就过去了,十年,二十年,三十年!

总结一下自己在2010的成长过程!

2010-3月到2010-6月

      二月还没在家过完小年就直奔深圳,一个陌生充满挑战的现代都城,在这里从熟悉到体检再到入职,短短的十天就完成了! 然后就是实习的过程,学校是美好的,现实是残酷的,在这里你必须独自承担起发现问题,解决问题的责任,虽然你可以暂时获得别人的帮助,但是帮助只是导向性的,不能解决实际的问题,最后还是只能靠自己来解决问题!

     来到公司,用到了人生中最好的电脑,4G内存带双核CPU,显卡也是很牛比的,先从装软件开始,从最基本的Securt scrt, visual stdio 2008, Sql server 2008, my eclipse 省略, 把从最初买电脑到毕业用的软件全部安装了一遍,算是总结安装过程,最令人难受的是,本来就是英语poor的同志,面对满屏的英语,只能把他拆分成最基本的主谓宾来理解,实在理解不了,当作废话扔掉,虽然有个六级证,但那个证糊里糊涂的就过了! 然后就是使用了语音电话软件SKYPE,这个软件只能在语音界杀下QQ的威风,面对QQ的界面,群设计,组设计,本人就实在不敢恭维!然后就是SVN, 这个在学校只是有所耳闻的东东,这个时候只能硬头皮去学(实习过程是用c++, 之后用java),因为c++,大部分都是远程linux操作,所以对于习惯使用界面编程环境的同志来说,应该是有点难受,界面中的每个鼠标操作都被替换成了每个key操作,终于体会到“黑客”的感觉,一个make clean all, 再一个make,刷刷的命令,虽然不是自己写的,但编译成功给人感觉至今也难以忘怀。

      那时的leader,所说是TX出来的,看他编程,给人的思路是那样的清晰,习惯性的End Home, 鼠标在他的眼中只能是摆设,挺牛比,挺潇洒,在他手下做事让人有种想哭哭不出来,哭了之后又要笑的感觉,因为开始是实习,分配的第一个任务就是导数据,从database导入,最开始接受这个任务的时候,没有把他放在心里,不就一个导入数据吗,拿一个jar包,连接数据库,执行sql,读出reader,然后再来一个Fileinputstram,这多清晰,因为当时没有线程编程的经验,也就没考虑这个范围,当时的这种想法大体上是美好的,但是细节是残酷的,难就难在sql,很多人可能说不就是一个select,但是偏偏不是select所能解决的,这和业务关联很大,程序员的想法总是美好的,却总是被PDM所摧残,数据分布在三3-4个表,字段却有4,50个,这个字段不能程序生成,只能手工完成,为啥,没啥,业务嘛,程序的想法只能跟着业务走,过了三四个星期,庞大的业务sql终于完成,看着用了十个小时导出的数据,想哭的心情都有了,男人嘛,不能哭,这问题,说他复杂,实际上不复杂,到于为什么哭了之后又要笑,那又要归结于我们leader,他的出现总会让你眼前一亮,他的思路总会给人一种清新的感觉,这个时候更多的是破涕为笑!

2010 - 今

       之后由于不太适应c++,转向了java,网络上很多人都说学编程重在思想,不在乎语言,这对于被这种思想折磨过的人来说是对的,但对于初学者来说就不要上当了,因为说这话的人大多都是精通一门语言,熟悉N种语言的人!注意我说的是精通一门语言,为什么这样说呢,因为当我们使用一种语言作为我们编程的工具时,如果不把这把工具给用好,我们怎么可能写出高质量的程序,我们怎么可能体会设计模式带来的好处,体会线程设计模式所带来的架构之美呢?但是我们必须理解这句话,最重要的是理解这句话的适用范围,这个应该是针对精通一门语言的人才能这样,因为精通之后,你应该是经历过大项目的人,这个时候,你就会具备从网络,到硬件,再到数据存储系统的知识,这个时候你才能更好的把你的思想移植到其他语言中。不然你的移植过程是很痛苦的,虽然你的思想很美好!

     之后到了java组也就是现在仍在的这个组,首先是我们的leader,这是位思路很敏捷,做事很有魄力,给爽朗的人!跟着他做事,可能不会感觉到前位leader所带来的压力,但是会感觉到业务所带来的压力,因为这个组不像前一个是完全的后台,直接跟数据打交道,这个组是前台中的后台,与前个组的联系很紧密,因为我们需要前一个组的数据,在这组需要了解很多的业务,和需要学会使用养活我们的产品!在这个组我学到了一种新的数据传输模型GoolgeBuffer,见到了,用servlet来respose.write(数据),忘记了jsp,虽然jsp是另一种servlet,但是因为不是做前端所以没有使用!

      这个阶段最想总结一下最有成就,也可以说最没有成就的数据接口的完成,最有成就,对于小数据量,速度很,对于大数据量,开始给力,后来就不行了,可能和硬件,软件,网络的原因有关

      最想总结一下编程过程中遇到问题的一个分析过程,最开始写这个接口的时候,由于各方面知识的缺乏,无论是java基础,Myeclispe的使用,tomcat的配置,再到网络的传输, 网络传输的格式,网络的传输速度,以及最关键的java垃圾回收器的机制都是停留在最表面的阶段。所以遇到问题后不知道如何下手去接触问题

      遇到使用接口的速度很慢的时候,我们首先应该从log分析, 根据log找出原因,如果log此时打印慢,就从CPU和内存下手,当时碰到的一个问题是Google Buffer结构,因为这个结构使用很方便,所以大规模的使用这个结构,却忽略了这个结构的适用范围在1M以下,当时由于传输的是大于60M的数据,而且是多个线程并发处理,所以导致速度很慢,为什么速度很慢,看了下log,发现log此时打印很慢,当时的错误想法是应该是Google Buffer的原因,却忽略了cpu 和 内存,测试了很多次之后,leader一看, 发现cpu内存占用很高,给tomcat配置的1G的内存已经占满,但是只有5个线程,最多也就60M的数据, 不可能把1G的内存占满,但是却忽略了把cpu的内存占用高和java的垃圾回收器联结起来,因为java的垃圾回收器也是需要时间的,然后就是分析产生这么多内存的原因,查找GoogleBuffer结构,因为GoogleBuffer结构为了通用,对一些Array的字段用的是ArrayList, arraylist最初使用的时候会分配一个初始的内存大小,之后当add的时候如果大于他的size的时候,他会调用系统的System.copyarry这个参数!结果导致内存碎片越来越多。最后造成内存不够的原因!分析这个原因的最初把问题的导向定位在了java内存泄露上,却忽略了这个地方!

     1》碰到java内存问题的时候,应该按这样一个思路来分析问题

     1, 查看tomcat内存大小,大体估计下测试用例的需要的内存,然后将估计到的内存*2,作为总内存大小

     2, 用jsoncole工具来查看tomcat的内存分配,大体可以找出哪块用的内存过多

     3, 使用jmap -histo 进程pid 打印 包括类名,对象数量,对象占用大小

     4, jstat -printcompilation pid:当前VM执行的信息

     2》碰到测试的问题时

     1, 首先确定网络的传输时间,理论意义上这个时候应该是一个基数,但不能随着你成倍的请求成倍的增长

     2, 确定取数据的时间

     3, 确定程序处理的时间

     4, 分析每一步的时间

     3》对于现在状态的我,特别想说,当你想创建规则的时候,你必须适应规则存在的环境

 

Word 2010 总是崩溃解决办法总结

方法一:删除模板法: windows 7下的模板目录是C:\Users\***\AppData\Roaming\Microsoft\Templates  可以检查是否存在Normal.dot或者N...

总结一下vc6.0,vs2010,vs2013的软件助手Visual Assist及行显示插件,项目文件打开插件

工作几个月以来,分别将vc6.0装在xp、win8系统上,也将vs2010装在xp系统上、将vs2013装在win8系统上。 下面总结两个版本的手Visual Assist的安装过程,供记忆和参考。 ...

2010年度总结-在淘宝的半年日子

2010是自己人生当中的又一个非常重要的转折点——我离开了美丽的象牙塔,踏上了工作岗位。 6月底,我离开了生活了4年的大学,登上了飞往杭州的航班。那一刻,我才明白:“4年后的今天我居然只带走了回...
  • Marcky
  • Marcky
  • 2011年01月02日 16:40
  • 6868

VS2010/MFC编程入门教程之目录和总结

鸡啄米的这套VS2010/MFC编程入门教程到此就全部完成了,虽然有些内容还未涉及到,但帮助大家进行VS2010/MFC的入门学习业已足够。以此教程的知识为基础,学习VS2010/MFC较为深入的内容...

SharePoint 2010 自定义Timer job 问题总结(拒绝访问,Execute方法不执行,不及时更新)

http://blog.csdn.net/lance_lot1/article/details/7963620 在上面的链接中,我写了关于如何自定义一个简单的Timer job。这个是在我自己电脑里...

【Tesseract-OCR】在VS2010环境下调用API方法—简单快速之总结

做字符识别,不能不了解google的Tesseract-OCR,但是如何在自己的工程中使用其API倒是语焉不详,官网上倒是很详尽地也很啰嗦地介绍如何重新编译生成适合自己平台的lib和dll,经过近些天...

一个程序员老总的年终总结2010版

在我还没有写之前,竟然有网友向我要这篇文章,他说他看了2007、2008、2009 版的,想看2010版的,但一直未能看到,以为我“出事”了,呵呵,真是感谢感激感动之极,先不讲写得如何如何,无论多么地...

2010个人总结

很早的时候就觉得自己应该做一下总结,毕竟这段时间的经历是全新的,所以就趁换项目的间隙做一下个人总结吧。     首先,环境方面。人人都说这是一个花花世界,但真正出来的时候,第一感觉是,花吗?每天除了...

总结 2010

是时候总结自己的2010了,不知道要说些什么,2010年,最美丽的事情就是遇到了薇薇,以至于未来多少年可能世界上都要陪伴我的人,我想和她到老,因为她很爱我,会每天关心我起床,每天关心我喝水。……我要带...

C#初识——VS2010中的实用功能总结

从今天开始就要开始的我VS之旅了,在开始之前,有了一点初步的认识,特此总结一下。因为本人初学者,所以总结有限,希望大家可以多多补充……             界面方面 起始界面:在近期项目列表中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2010总结
举报原因:
原因补充:

(最多只允许输入30个字)