2010总结

时间“嗖---”的一下就过去了,结束了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》对于现在状态的我,特别想说,当你想创建规则的时候,你必须适应规则存在的环境

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: VS 2010不支持PDFium。PDFium是Google开发的开源PDF渲染引擎,它能够将PDF文档渲染到屏幕上,并提供一些基本的PDF操作功能。然而,根据我所了解,Visual Studio 2010并没有集成PDFium或直接支持PDF渲染。VS 2010更侧重于开发基于.NET框架的应用程序,通常使用各种内置控件和组件来处理文本、图像等内容。 如果您想在VS 2010中实现PDF渲染和处理,可能需要使用第三方库或组件。例如,可能需要安装和使用Adobe Acrobat组件或其他PDF库。这些库可能会提供一些PDF渲染和操作的功能,但可能需要做更多的代码编写和集成工作。 在VS 2010之后的版本中,可能有更好的PDF支持。例如,VS 2012及更高版本支持使用WPF(Windows Presentation Foundation)来呈现和处理PDF文档。此外,还有一些第三方库和组件可以在较新版本的VS中使用,以简化PDF操作的开发工作。 总之,如果您在VS 2010中需要处理PDF文档,您可能需要使用第三方库或其他较新版本的开发工具来实现。 ### 回答2: VS 2010是指Visual Studio 2010,而PDFium是一个用于处理PDF文件的开源软件库。 首先,Visual Studio 2010是一种集成开发环境(IDE),主要用于开发各种软件应用程序,可以创建并管理C++、C#、VB.NET等多种编程语言的项目。它提供了丰富的开发工具和功能,包括代码编辑器、调试器、编译器等,使开发人员可以更高效地开发和调试项目。 而PDFium是Google开发的一个开源的PDF库,它提供了对PDF文件的解析和渲染功能。通过使用PDFium,开发人员可以在自己的应用程序中处理PDF文件,例如打开、浏览、搜索和提取文本等操作。它支持多种操作系统和平台,并提供了易于使用的API,使开发人员可以轻松地集成PDF功能到他们的项目中。 在与Visual Studio 2010的关系上,可以使用Visual Studio 2010来创建基于PDFium的应用程序。开发人员可以使用Visual Studio的工具和功能,编写代码以集成和调用PDFium库,实现对PDF文件的各种操作。这样,开发人员可以在一个统一的开发环境下完成他们的项目,从而提高开发的效率和质量。 总结起来,VS 2010和PDFium是不同的软件,但可以结合使用。通过使用Visual Studio 2010来开发基于PDFium的应用程序,开发人员可以更好地利用两者提供的功能和优势,从而创建出高质量的PDF处理应用程序。 ### 回答3: VS 2010 Pdfium是指使用Visual Studio 2010开发的Pdfium项目。 Pdfium是一个开源的PDF渲染引擎,由Google开发和维护。它可以将PDF文档渲染为图像,方便在应用程序中显示和操作PDF文件。VS 2010 Pdfium是基于这个引擎开发的一个项目。 使用VS 2010开发Pdfium项目可以带来以下好处: 1. 强大的开发工具:Visual Studio 2010是一款功能强大的集成开发环境,提供了丰富的开发工具和调试功能,能够大大提高开发效率。 2. 丰富的库和组件:VS 2010拥有大量的库和组件,可以方便地进行PDF渲染相关的开发。Pdfium项目可以借助这些库和组件快速开发出高质量的PDF渲染应用程序。 3. 良好的兼容性:VS 2010是一个经过充分测试和验证的IDE,可以兼容各类操作系统和开发环境。在开发Pdfium项目时,可以确保应用程序的兼容性和可靠性。 4. 丰富的插件支持:VS 2010支持插件扩展,可以根据项目需要选择并安装适用的插件,以提供更多的功能和特性。 综上所述,VS 2010 Pdfium是一个基于Visual Studio 2010开发的Pdfium项目,利用Visual Studio 2010强大的开发工具、丰富的库和组件、良好的兼容性以及插件支持,可以快速开发出高质量的PDF渲染应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值