admin 管理员组文章数量: 887032
2024年1月5日发(作者:php shell)
java项目开发经验总结
java项目开发经验总结
篇一:
Java
eb项目开发总结
1、In Actin
(1)根据添加信息(insert)来考虑表中的字段,进行建表。使用PD画出ER图。要注意字段的数据类型的确定以及建表要满足三范式,减少数据冗余;
(2)表建好后,根据表中各个字段来建pj中的属性。要注意属性的数据类型和字段的数据类型要一致;
(3)根据pj中的属性确定bean的属性,直接拷贝即可,用于页面展示。在bean中,统一使用String类型变量接收前台页面传递的参数;每个HTML表单对应一个bean。HTML表单中的字段和bean中的属性一一对应。
(4)自顶向下,依次定出actin、manager、da。先写出轮廓,跑通整个流程,再写具体实现,一点点累加,便于调试错误;
(5)根据数据实体和具体业务逻辑,使用StarUML画类图,进行A和D,灵活运用设计模式。
(6)API命名:
CRUD:
add,get,update,delete,[list] 严格区分单复数形式,单数表示对象,复数表示对象集合。
对象、属性最好单个单词。 (7)前后台都要校验。 (8)按照资源方式组织数据接口,对前端开发帮助很大。即通过REST来实现资源的增、删、改、查。 (9)软件开发,思路最重要!代码开发多了,思路就有了。 a、一个版本一个版本递增的开发; 每个版本增加一点内容;
b、总结开发思路;第一步怎么做,下一步怎么做? c、用文档记录开发的思路,即第一个版本开发实现了什么功能以及开发步骤,下一个版本实现了什么功能等等? d、程序员进行程序开发时,不要仅仅停留在代码,要深入到底层的运行机制,才可以对程序的运行机制有更准备的把握;
(10)
网页模板 request到tem文件(此文件假设包括三个部分,即title、banner、bdy) eb客户——
title banner———————
include:
banner.jsp bdy———————— include:
shc (11)一步一步的定位。根据结果进行分析。 (12)分页控件 假分页:
基本思想是将所有的数据从数据库中取出,只显示有用的部分。靠的是程序的算法,实际上就是在ResultSet上进行操作。 真分页:
(数据库中的一种实现) 任何数据库都会提供分页的函数操作:
racle、MySQL(limit,即limit 开始的记录,
要查询的行数)、SQL Server(tp) 基本思想是在数据库中编写特定的SQL语句。程序中只读取有用的部分,没用的部分不会加载到内存中。 (13)
2、TIPS
(1)、V就是PJ。
(2)、先做完基本功能,然后对输入的数据进行验证。主方法中代码尽可能少,再考虑代码的可重用性。
(3)、当发现代码中重复地复制/粘贴时,就可以考虑将之形成为一个类进行调用。
(4)、在类的设计中,永远不要去继承一个已经实现好的类,只能继承抽象类或实现接口。
(5)、一个设计良好的类,应重写bject类中的equals、hashCde、tString方法。
(6)、在actin层中接收参数,要写健壮,要做空指针处理。 (7)、业务逻辑放到manage层,如if...e不要放在actin层,放在manage层处理。 (8)、da层要写健壮,传入的是bean或map,返回的是bean或list。
(9)、查询:
所有的记录总数以及查询第几页的数据;
(10)、多思考,尝试用不同、多种方法去解决问题。(发散性思维) (11)、当程序中有0、1这样的数字或字符串出现时,最好用常量代替。常量名很重要,做到见名知意。 (12)、spring针对每一层(aer、da)都有一个配置文件;ibatis有2个配置文件。sqlmap有namespace,
每个实体类都对应一个xml配置文件。 (13)、类设计,编写时先完成基本功能的实现,然后再对实现功能的代码结构进行优化。 (14)
2、PS
(1)Java eb开发环境:
JDK、IDE、java eb服务器 JDK,一般指sun公司发布的JDK,也有其他的JDK,如IBM的JDK、BEA的JRcket等。从Java
5.0开始,Java
eb技术也称为Java EE。Java
EE应用程序的运行需要Java EE类库的支持。 安装好JDK后,设置JAVA_HME环境变量以及将JDK下的bin目录添加到PATH环境变量。 eclipse需要Java运行环境。 Eclipse TP是Eclipse官方提供的eb开发工具。 Java eb服务器在Java EE规范中也叫做容器。
(2)eb容器在启动时,从eb.xml文件中读取配置信息,装载eb应用。 eb容器运行时,不会检测、struts配置文件的更新而重新加载它。 若struts框架不能处理的异常,会把错误抛给eb容器。容器会查看文件中是否配置了 errr-page 元素。若存在,则返回
errr-page
元素的 lcatin 子元素指定的错误页面。否则直接将错误抛给用户。
(3)ebApp部署好后,启动Tmcat会自动发布ebApp。首先是实例化Filter,并调用其init方法初始化。然后根据 lad-n-startup 的数值(数值为0或正数,数值越小越先加载)来依次加载servlet,并调用其init方法进行初始化。 若没有为servlet配置
lad-n-startup 属性,则当eb应用启动时servlet容器不会加载这个servlet,只有当用户首次访问此servlet时才加载。
(4) eb调试时,一定要服务器以调试模式启动。然后在程序中打断点,通过浏览器访问,这样程序运行到断点处就会暂停运行。
(5)jsp放到EB-INF文件夹中,可防止外界直接通过URL来访问Jsp页面,此时jsp一定要是servlet或actin的后继页面,才可以被访问到。
(6)EL表达式是JSP
2.0规范,需要Tmcat支持的。Tmcat6才支持EL表达式。 (7)编码 用户提交的查询数据(即get请求),默认采用的是IS-8859-1
编码。 rCharacterEncding( utf-8 //设置request编码方式,即设置使用utf-8来解析请求参数;
rCharacterEncding( utf-8 //设置respnse编码方式
(8)JNDI JNDI:
为某个java对象起一个名字。如为Tmcat中的数据源起一个名字,从而让程序可通过该名字访问该数据源对象。(Tmcat内置了DBCP的数据源实现) 若eb应用访问了由servlet容器管理的某个JNDI资源,需要在中对这个JNDI资源的引用声明,表示资源引用的元素为 resurce-ref 。 (9)sessin servlet容器为HttpSessin分配唯一标识符sessinID。servlet容器把sessinID作为ckie保存在客户的浏览器中。若浏览器禁止ckie,servlet容器可重写客户请求的url,把sessinID添加到url信息中。HttpServletRespnse接口提供了重写url的方法:
encdeURL(url)。
篇二:
分享下多年积累的对JAVA程序员成长之路的总结 分享下多年积累的对 JAVA程序员成长之路的总结 我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧。 首先初识语法的阶段,必须要学会怎么操作对象,操作if和fr,操作list
set map,然后是线程、I和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。 这阶段完了,你可以写些能在控制台打印出来的小程序,锻炼下逻辑思维。也就是号称JAVASE毕业了,其实不过是入门而已,如果要往EB方向发展,这些倒是基本足够了。 接下来要学HTML JSP SERVLET 数据库 JAVASCRIPT TMCAT,目标,写出第一个动态网站,也许只是个登陆功能,只能展示下个人资料,但这是很重要的一步,你要弄清楚的是,一个用户的点击产生的请求,是从哪里发起,哪里接收,哪里处理,哪里返回,你得理解浏览器和服务器的关系和分工,ckie和sessin,request和respnse。这个是
个EB开发的学习初级阶段,这都是些JAVA诞生以来最原始的最官方的EB开发技术,当然现在真正的项目很少直接采用这些技术了,为了不断提高技术的易用性、开发效率和可维护性、可扩展性,无数开源项目都是在这些原始技术的基础上封装、改进。所以这个阶段不要盲目乐观地跑去找工作或者对实习挑三拣四,你会被打击到的。 好,初始阶段完成,开始进入EB开发的正题,首先是传说中的三大框架,
struts hibernate spring成为熟练的增删改查程序员是必须的,在这个阶段你还要理解为什么要用这仨而不是那些JSP SERVLET JDBC,你要体会到写MVC、三层架构的好处。这个阶段不要轻易质疑三大框架的价值,也许刚开始你会觉得麻烦,觉得他们有时候是多此一举,一两年后回过头来你会觉得少了这些框架你已经很难干活了。这个阶段还要避免的心态是能熟练地增删改查了,就认为写程序不过如此,然后往简历上填个精通,这也是新手面试被批得体无完肤的原因之一。如果你学得好,这会应该能熟练地写个博客啊,小论坛啊之类的EB项目了,也就是达到了就业的基本要求。 接下来就没有固定模式了,你的第一家企业对你的影响会很大,我见识过烂企业是如何毁新人的,用着设计恶劣的架构,老掉牙的技术,不断地耽误新人的成长,有的员工在这种企业一呆数年,思维已经完全被错误观点定型,深陷于公司业务和老系统中疲于奔命,看似能解决问题,却无法给公司带来真正的进步,就像一个用了数年砍刀的人,就算再熟练,刀法再好,也打不过用枪的。如果离开了这个公司,恐怕很难在这个行业再立足。记得有个说法很好,一个人用10年的时间重复做头一两年做的事,你的真实工作经验其实还是一两年。烂公司的老员工就是如此。在这头一年里,定个标准吧,你应该能做到的有:
1、把一些常用的琐碎技术学会了,比如xml的作用和实际运用,如何操作文件,如何运用日志,如何简化封装常用的工具类,比如日期操作、编码处理、分页模块等等,这些小东西 会占用你大量的时间去处理摸索。
2、把数据库用好。数据库不是会增删改查就可以了的,你要关注事务设置是否合理,是否有可能产生脏数据,是否要动用乐观锁悲观
锁等等,重要数据出了错,无论是技术上还是业务上都是很麻烦的事。
3、懂得什么是集群,什么是分布式,懂得怎么向别的系统发请求,交换数据,ebservice。
4、如果你也写页面,你要会用JAVASCRIPT,不一定要很深入,你可以用JQUERY代替,做到无刷新的页面操作以及AJAX请求。 第一年能达到这个程度,你绝对已经在平均水准之上了。在我达到这个水平时,我有种似乎一切网站开发都不在话下的感觉,当然后来我很快就发现了我还差得太远太远....这个阶段想面个高薪的工作还是很难的,只能说达到温饱线了,不用为柴米油盐发愁。 下一个阶段,你应该考虑你的代码质量了。
1、多线程和异步、并发的概念会忽然变得很重要,因为在一个对性能有要求的系统里,是不会允许你把各种琐事都排着队一件件去办的,你不能老写些a方法调b方法再调c方法再调d方法然后返回的代码。你开始想起有队列这种东西,有runable这种东西,你开始觉得自己的代码高端起来了,和当年的增删改查程序员有天壤之别。但同时麻烦也来了,你开始遇到线程安全问题,尤其是当你的程序跑在一个多机环境而不是单机环境里的时候,你会对这些很头痛。对于这些问题,Jms技术是个很有代表性的东西,当然并不像ssh那么常用。
2、你会发现数据库性能实在不行,出于不甘现状,或者赶时髦,你该去了解nsql了,memcached redis mngdb,眼花缭乱,没关系,试着用用,能很好地缓解mysql之类关系数据库的压力。
3、出于公司某些业务需要,你可能会钻研一个特定技术领域,比如全文搜索技术,luceneslr,比如工作流jbpm,比如权限系统,单点登陆之类的,又或者某些特定业务领域的算法研究,这些是你的加分项。
4、你开始发现你的代码很乱,久了以后自己都看不懂,重复的,难以重用的代码堆积如山,不想维护,BUG百出。于是你要开始重视设计模式,合理地改造下自己的代码习惯,不再被僵化的SSH,MVC三层架构束缚住。
5、Ggle和各种资料是你进步的动力,极少再遇到必须请教别人才能解决的问题,如果你这个阶段还老是问别人,你的技术生涯也就快到头了。 这个阶段,如果你的交际和自我推销能力不是太差,你的收入将是白领水平,至少接近了。 我觉得多数程序员在工作多年之后都能达到这个水平,有的人只需要两年,有的人却要用上五六年,在这个阶段落伍的人,有的是出于天赋和思维所限,有的是出于对技术缺乏热情,有的是出于工作内容的制约。等到年近中年,再也拼不过年轻人,被淘汰出局,只能在自嘲 为屌丝和码农的无奈中黯然转行。 这是个很重要的分水龄,你能不能继续进步,能不能在30岁以后继续从事技术工作,能不能在公司里独当一面,我觉得就看你能不能超越这个阶段了。我前面提到的烂公司里的工作数年的项目经理,连这个层次都还没达到... 接下来又是个全新的阶段。
1、你要读读优秀开源项目的源码,你要搞懂一些当年不懂的基础知识,你开始理解 thinking in java的精髓,你能写一些底层的代码,有时还会觉得自己封装的比某些开源工具更好用更简单。
2、EB的难点和重点永远都在于性能、负载能力上,而现在网络的发达造成了数据量和操作密度的大大上升,硬件却没有相应的进步,你得试着更好地运用更多的服务器来协同工作,从EB端到服务端到数据库,全都需要集群,需要分布式,需要合理的控制数据的流向,掌握好网站上下,一大堆机器的平衡,找出性能的瓶颈,找出稳定性和安全性的瓶颈,硬件出现故障,第三方技术出现错误,将被当成家常便饭融入到你的系统和代码里仔细考虑。
3、开始觉得方案无比地重要,一将无能累死千军将不断应验,一个不好的设计,一个不好的方案,会让一群优秀的程序员工作成果大打折扣。你要关注架构知识,不能再满足于SSH三层架构到底。领域驱动设计,面向事件开发,敏捷开发等等一系列的思想在关键时刻能决定你项目的生死,这个阶段不再有标准范例让你照抄,你只知道思想和原理,实践却需要自己不断尝试和改进。
4、多关注各种杂七杂八的开源技术,有些你可能前面已经接触过了,和通信有关的,和集成开发环境有关的,和架构有关的,各个领域你都应该能信口说上几个主流技术,虽然你可能只是听说过,了解,
但关键时刻你得知道如何去选择技术,并快速掌握它。你还会去考虑尝试下别的语言,这里不是说转向什么C++ C#之类的,那和JAVA程序员不相干,我说的是一些运行于JVM之上的语言,比如scala和grvy,初识他们时你会觉得java真的老了。但当你回到一个综合性的大型项目中,又会觉得java积累下来的整个体系技术是如此完善,就像一个工业化标准一样。 你能把这个阶段实践好,胜任项目经理,乃至中小公司的技术总监都是可以的。 不知不觉写了这么多了,以上是我个人眼里的一般向JAVA EE发展线路,限于篇辐也不全面,实际个人成长路线可能因为工作内容的不同差异会很大,有的人偏向了底层研究,有的人偏向了业务需求设计,有的带有浓重的行业色彩,而且技术之外,还有很多知识也很重要.做JAVA没有轻松的方向,但一个对技术抱有兴趣的人,走到这一步时,仍然会对开发抱有热情,想要写出好的项目。纯为了生计而工作的程序猿是走不到这一步的。 暂且收手,希望以上能让J8的新人们了解将来要面对的大致状况,同时也抱着打击下小朋友们幼小心灵的邪恶心理就此按下发表按钮。
能完整看完的同学,在此表示钦佩,我想当年的我也未必能看完这种又臭又长的叙述... --本文内容转自JAVA吧,由于感到比较有用,特地转到CSDN给各位程序员们分享。
篇三:
项目开发总结报告 房产客户关系管理平台 项目总结报告 组 名:
J2EE第一项目组 作 者:
冷大明 完成时间:
201X-08-08 签收人:
冷大明 修改情况记录:
目录 项目总结报告 ........................................................................................................................... 1 1引言 ...................................................................................................................
.....................
3
1.1编写目的 ......................................................................................................................... 3
1.2背景 ................................................................................................................................. 3
1.3定义 ................................................................................................................................. 3
1.4参考资料
......................................................................................................................... 4 2实际开发结果 ........................................................................................................................ 5
2.1产品 ................................................................................................................................. 5
2.2主要功能和性能
.............................................................................................................
5
2.3基本流程 ......................................................................................................................... 6
2.4进度 ................................................................................................................................. 6
2.5费用 ................................................................................................................................. 6 3开发工作评价 ........................................................................................................................ 7
3.1对生产效率的评价 ......................................................................................................... 7
3.2对产品质量的评价 ......................................................................................................... 7
3.3对技术方法的评价 ......................................................................................................... 7
3.4出错原因的分析 ............................................................................................................. 7 4经验与教训 ............................................................................................................................ 7 项目开发总结报告 1引言
1.1编写目的 对此次软件项目开发进行总结。分析此次项目实际开发过程与项目计划的差别,以及项目开发过程中出现的各种问题和优势,对这些进行总结,防止以后同样错误及问题的发生。
1.2背景 本项目的名称:
房产客户关系管理平台 所开发出来的软件系统的名称:
房产客户关系管理系统 本软件的任务提出者:
冷大明 本软件的开发者:
冷大明、林青、连剑鸣、李天爽、刘笛、马冲 郭鹏、李伟、李华、邓皓、刘亚真
1.3定义 J2EE Java2平台企业版,是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,可提高可移植性、安全与再用价值。
JSP(Java Server
Pages)
由Sun Micrsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。类 似ASP技术JSP是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。非常简单易用。 Servlet 独立于平台和协议的服务器端的Java应用程序,可以生成动态的eb页面。 Servlet是位于eb
服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由eb服务器进行加载,该eb服务器必须包含支持Servlet的Java虚拟机。 MVC 模型-视图-控制器,是Xerx PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用。非常适合用于本软件的开发设计。 MySQL 一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。为本软件提供了强有力的存储支持。
1.4参考资料 [1] Hans Bergstem.《JSP设计》[M]. 中国电力出版社 [2] Rger
an.《软件工程:
实践者的研究方法》(第5版)[M].机械工业出版社 [3] Shari
Larence Pfleeger.《软件工程》[M].清华大学出版社 [4] Bryan
Basham,
Kathy Sierra, Bert Bates.《Head First Servlets JSP》 [M].中国电力出版社 [5] Simn Cllisn.《Beginning
CSS eb
Develpment》[M]. 人民邮电出版社 [6] 付京周.《精通 Hibernate
3.0—Java 数据库持久层开发实践》[M]. 人民邮电出版社 [7]
Art Taylr. 《JDBC
Database Prgramming
ith J2EE》[M]. 电子工业出版社 [8] 软件工程项目开发规范 国家标准 [9] 实训讲解内容
实训工程师 2实际开发结果
2.1产品 本软件开发过程中产出的文档有:
需求分析说明书 开发计划书
概要设计说明书 详细设计说明书
测试计划书 数据库设计说明书 模块开发卷宗 测试分析报告 项目总结报告。
2.2主要功能和性能
2.
2.1基本公共功能 用户登录功能 用户自我修改信息 原定目标已达到
2.
2.2市场营销 市场营销人员 市场营销经理 市场营销功能规定篇四:
Java很有用的题目
1.如何过简历关? 我先讲解几个软件求职相关的真实故事,以帮助大家了解大多数软件开发企业是如何赛选简历和录用新员工的。
1.传智播客学员A是大四在读的应届毕业生,他自信技术学得很不错,实质上确实也达到用人单位的标准,他不愿意编写两年工作经验的虚假简历,希望凭借自己的真实情况去面对求职,投递了很多份简历,都没有回应;而他周围的很多相似背景的学员因为使用了假简历,都很快找到了薪水
4.5k/月左右的工作,最后万不得已,他修改了自己的简历,增加了一些水分,以两年工作经验的身份去投递简历,结果就很快找到了满意的工作。
2.一个穿着和气质给人的印象都很不错的女生咨询时,问:
“如果在传智播客学完了,能找到工作吗?”,我问了她一些基本情况后,得知她是郑州航空工业管理学院本科毕业,并且毕业时间已经有两年,谈话中感觉很有工作经验,英语也不错,所以,我斩钉截铁地告诉她:
“她学完后绝对能找到一份满意的工作”,并说出了一些原因:
(1)她本身的谈吐气质就决定了她找工作没问题,应聘工作除了要求有那些必需的技能外,关键一点还要看这个人的性格和素养,按她的条件,如果她要找软件开发方面的工作,只需要把技术补上就可以了,这一点在传智播客学习是很容易补上的;
(2)要想找到好工作,除了掌握必需的技术外,通常都需要编写两年工作经验的简历,她的毕业是证确实两年前的,编造两年软件开发的工作经验更容易,至少不用专门去做假的毕业证了。她听完后,很赞同我的观念,说她现在就在一家软件公司做人力资源,负责挑选应聘者的简历,按领导的吩咐:
“凡是工作经验低于两年的简历直接删除到垃圾桶”,可见,如果你的简历首先到达了类似这个女生的人力资源之手,即使你的技术再厉害,如果你的工作经验一栏上写得低于了两年,那简历就永无露脸之日了,何谈后来的笔试和面试呢?
3.与传智播客同一楼的一个软件开发单位,因为项目经理读过传智播客老师们的书籍和看过传智播客的视频,所以他们公司想到了从传智播客学员中招聘开发人员,提出薪水在2800元左后,我们公司老师对他们谁,2800元,我们学员肯定不会去!他们公司说对于没有实际经验的新手开出2800元的薪水已经很不错了,我们老师说,传智播客学员通过简历包装都能找到平均4500元的工资,楼下公司说假简历他们一聊就能聊出来,没工作经验的人是骗不住他们的,我们的老师当时就无语了,?,因为就在前几天,我们就有一个学员成功潜伏进了他们公司,并且工资是4500元,但我们老师不能当他们的面来说这事,就让他们一直蒙在鼓里还很自信吧!大饼的故事
4.前面谈到简历上的工作经验很重要,可是大多数要找工作的同学往往是没有工作经验的,所以,只能在简历上加点水分。但是,只要你将简历上写成了两年以上的工作经验,是不是一定就能得到笔试和面试的机会呢?写两年工作经验只是有效简历的开始,离简历被用人单位相中还有一段差距。一个好的毕业学校、优秀的英语水平、中共党员的政治面貌、某省或直辖市的优秀毕业生、奥林匹克竞赛获几
等奖等荣耀都会给用人单位一个很好的印象,如果你有这些荣耀,一定要在简历的基本信息部分写清楚。但是,很多人是没有这些荣耀的,那么只能平平淡淡列出自己的一些基本信息,这也没有很大的关系,顶多就是自己的简历不能脱颖而出,但是,对于软件工程师岗位来说,学历一栏怎么着也不能写为高中,起码也要写个大专或以上,毕业院校编个二线城市的不知名的小学院,如果你不愿意去做假证,等到别人面试你时,再说“闲弃以前上的学校不好,因为对编程太感兴趣,就辍学了!”
1.你们会带着我们做完整个完整的项目吗? 答:
小的项目会,大的项目则不可能,
1.众所周知,随便拿出一个中等大小的项目,也需要好多个熟练的开发人员开发好多个月才能勉强做得差不多,培训期间没有这么多时间,并且你还要先学会了很多技术后才能开始做项目。
2.一个项目中的很多东西都是重复性的工作量的累积,技术方面都大同小异。做一个项目就好比盖一座楼房,只要告诉你整个楼房的整体结构,然后带着你盖上一间两间房子,其他剩下的几百间房子,老师想继续盖给你看,或者让你自己盖剩下的房间,你肯定也不愿意吧。以后有的是练手的机会,拿着人家发给你的工资,你再去做这些重复性的工作也不迟,岂不是更好!
2.业务重要?还是编码实战更重要? 答:
1.对软件企业来说,两者都很重要,有的项目是业务为重心,有的则是以技术作为核心;以业务为重心的项目与做鞋差不多,没有多大技术含量和壁垒,只有积累了一定的经验,谁都可以做,利润很薄,例如大多数管理系统,靠的是人海战术和时间纠缠;以技术为核心的项目则很有技术壁垒,不是谁都能做的,利润率很高,例如,360杀毒软件、baidu,qq,迅雷下载,大型bbs项目和淘宝这样的电子商务网站。
2.对程序员来说,编码实战更重要,业务则不算什么!程序员和软件公司的工作就是要把用户的需求和业务变成代码,即为人作嫁,一开始,需求和业务都在用户那里,用户最懂业务,你不用了解业务,
你的任务就是了解用户的业务后编写代码,在开始做项目前,用户会把业务告诉给你的。一个软件公司从来都不是只做自己熟悉业务的项目,而是来了业务不熟悉的项目机会,肯定也会冲上去做,软件公司通常都是在做自己以前没做过的项目,即做以前不了解业务的项目,只有项目做完了才完全熟悉了业务,这才叫做项目,否则就成了卖产品了,所以,软件工程里说的需求调研和理解业务的过程,也是在从侧面说明,程序员是在接到项目之后才开始了解其业务的,而在此之前,对业务可以是完全不懂的。
3.是培训内容和信息量大好?还是培训内容少而精的好? 答:
内容和信息量大培训课程体系,对大多人来说是更合适的。程序员做的工作总是在变化的,没有一成不变的工作,为了适应这种变化,你的知识面必须很广泛。如果你学的知识内容很少,即使你把这些内容练的滚瓜烂熟了,除非你出去找的一份工作正好就是你以前练习的那些东西,这时候会让人感觉你比谁都厉害,但这种千载难逢的好事怎么就被你碰上了呢?软件开发毕竟不同于刷盘子,不是在重复干一件事情。软件开发的工作总是要面临不同的需求和问题,如果培训课程的内容和信息量很大,即使由于时间关系,你暂时没有完全消化和熟练这么多内容,但是,你在工作中不管遇到什么新问题,都有那么一点点印象,知道大概的解决办法和思路,你就可以慢慢地通过查阅资料和最终解决这个问题,软件开发的工作本来就是这么一种现状,如果你学的知识量很少,一旦遇到了新问题,你完全就没有了思路,完全无从下手,这是何等痛苦,只有灰溜溜走人的份了吧。
4. 我们培养的不是IT蚁族和IT民工 先看看IT蚁族和IT民工的悲惨命运吧! () 搜素 程序员的悲哀,还有更多辛酸的故事,但是,我并不同情他们,我只是说他们自己无能!程序员这个职业能创造出许多年轻的富翁,不靠父母不靠天,还有那个职业这么有机会和诱惑呢。不过,程序员毁坏身体是真,可是,不让你做程序员,你去打游戏,聊QQ不也照样坏身体吗? java不只是有SSH这套,我们不培养IT蚁族,如果你不想厌烦软件开发,那就不能只学ssh,这个没 有太多技术含量的单一熟练工种。 别的培训机构培养的是技术单一的熟练技工,传智播客培养的是具有很强学习和解决问题能力的技
术高手和未来技术经理。很多工厂说,清华毕业的学生刚进工厂时的动手操作不如技校毕业的学生熟练,但过一段时间后,清华学生则能解决工厂生成过程出现中的各种新问题和弊端,甚至能提出创新和发明,后劲十足,因为清华培养的就不是一个单一工种的熟练工人,而是知识全面和具有创新能力的高级工程师。别的机构和传智播客培养出来的学生差别好比如此。 说明,为了节省大家的时间和提高学习效率,一些过时知识点和被笔试概率极低的题目不再被收录和分析。
回答问题的思路:
先正面叙述一些基本的核心知识,然后描述一些特殊的东西,最后再来一些锦上添花的东西。要注意有些不是锦上添花,而是画蛇添足的东西,不要随便写上。把答题像写书一样写。我要回答一个新技术的问题大概思路和步骤是:
我们想干什么,怎么干,干的过程中遇到了什么问题,现在用什么方式来解决。其实我们讲课也是这样一个思路。 例如,讲ajax时,我们希望不改变原来的整个网页,而只是改变网页中的局部内容,例如,用户名校验,级联下拉列表,下拉树状菜单。用传统方式,就是浏览器自己直接向服务器发请求,服务器返回新页面会盖掉老页面,这样就不流畅了。 对本面试宝典中的题目有信心吗?本来有信心的,结果听你讲完后,就没信心了!我非常理解。因为他觉得我的太深,他想记住我的些东西,可是记不住,所以没信心了。我又问:
听懂了吗?他说听懂了。你到现在只要把你的理解尽量清晰地、有条理地表达出来,就很棒了。 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试。由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完和学完这套面试宝典,即使你已经学过了有关的技术,那么至少也需要一个月的时间才能消化和掌握这套面试宝典,所以,大家应该早作准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。
答题时,先答是什么,再答有什么作用和要注意什么(这部分最重要,展现自己的心得)
答案的段落分别,层次分明,条理清晰
都非常重要,从这些表面的东西也可以看出一个人的习惯、办事风格、条理等。 要讲你做出答案的思路过程,或者说你记住答案的思想都写下来。把答题想着是辩论赛。答题就是给别人讲道理、摆事实。答题不局限于什么格式和形式,就是要将自己的学识展现出来! 别因为人家题目本来就模棱两可,你就心里胆怯和没底气了,不敢回答了。你要大胆地指出对方题目很模糊和你的观点,不要把面试官想得有多高,其实他和你就是差不多的,你想想,如果他把你招进去了,你们以后就是同事了,可不是差不多的吗? 关于就业薪水,如果你是应届生,那不能要高工资,好比大饼的故事,没有文凭还想拿高工资,就去中关村缺什么补什么吧!少数人基础确实很好,在校期间确实又做过一些项目,那仍然是可以要到相对高的工资的。 公司招聘程序员更看重的要用到的编码技术、而不是那些业务不太相关的所谓项目经历:
1.公司想招什么样的人
2.公司面试会问什么,.
3.简历怎么写4怎样达到简历上的标准(培训中心教项目的目的)
对于一些公司接到了一些项目,想招聘一些初中级的程序员过来帮助写代码,完成这个项目,你更看重的是他的专业技术功底,还是以前做过几个项目的经历呢?我们先排除掉那些编码技术功底好,又正好做过相似项目的情况,实际上,这种鱼和熊掌兼得的情况并不常见。其实公司很清楚,只要招聘进来的人技术真的很明白,那他什么项目都可以做出来,公司招人不是让你去重复做你以前的项目,而是做一个新项目,业务方面,你只要进了项目团队,自然就能掌握。所以,大多数招聘单位在招聘那些编码级别的程序员时也没指望能招聘到做过类似项目的人,也不会刻意去找做过类似项目的人,用人单位也不是想把你招进,然后把你以前做过的项目重做一遍,所以,用人单位更看重招进来的人对要用到的编码技术的功底到底怎样,技术扎实不扎实,项目则只要跟着开发团队走,自然就没问题。除非是一些非常专业的行业,要招聘特别高级的开发人员和系统分析师,招聘单位才特别注重他的项目经验和行业经验,要去找到行业高手,公司才关
心项目和与你聊项目的细节,这样的人通常都不是通过常规招聘渠道去招聘进来的,而是通过各种手段挖过来的,这情况不再我今天要讨论的范围中。 技术学得明白不明白,人家几个问题就把你的深浅问出来了,只要问一些具体的技术点,就很容易看出你是真懂还是假懂,很容看出你的技术深度和实力,所以,技术是来不得半点虚假的,必须扎扎实实。 由于项目的种类繁多,涉及到现实生活中的各行各业,什么五花八门的业务都有,例如,酒店房间预定管理,公司车辆调度管理,学校课程教室管理,超市进销存管理,知识内容管理,等等„„成千上万等等,但是,不管是什么项目,采用的无非都是我们学习的那些目前流行和常用的技术。技术好、经验丰富,则项目做出来的效率高些,程序更稳定和更容易维护些;技术差点,碰碰磕磕最后也能把项目做出来,无非是做的周期长点、返工的次数多点,程序代码写得差些,用的技术笨拙点。如果一个人不是完完全全做过某个项目,他是不太关心该项目的业务的,对其中的一些具体细节更是一窍不知,(如果我招你来做图书管理,你项目经历说你做过汽车调度,那我能问你汽车调度具体怎么回事吗?不会,所以,你很容易蒙混过去的)而一个程序员的整个职业生涯中能实实在在和完完整整做出来的项目没几个,更别说在多个不同行业的项目了,有的程序员更是一辈子都只是在做某一个行业的项目,结果他就成了这个行业的专家(专门干一件事的家伙)。所以,技术面试官通常没正好亲身经历过你简历写的那些项目,他不可能去问你写的那些项目的具体细节,而是只能泛泛地问你这个项目是多少人做的,做了多长时间,开发的过程,你在做项目的过程中有什么心得和收获,用的什么技术等面上的问题,所以,简历上的项目经历可以含有很多水分,很容易作假,技术面试官也无法在项目上甄别你的真伪。 简历该怎么写:
精通那些技术,有一些什么项目经历 教项目是为了巩固和灵活整合运用技术,增强学习的趣味性,熟悉做项目的流程,或得一些专业课程中无法获得的特有项目经验,增强自己面试的信心。讲的项目应该真实可靠才有价值,否则,表面上是项目,实际上还是知识点的整合,对巩固技术点和增强学习的趣味性,但无法获得实际的项目经验。(项目主要是增加你经验的可信度,获得更多面试机会,真正能不能
找到工作,找到好工作,主要看你键盘上的功夫了),好的面试官几下就能面出你是否真有工作经验,他们问技术以外的公司的人和事,并且问开始、过程、结果,看你怎么编。 建议大家尽量开自己的blg,坚持每天写技术blg。在简历上写上自己的blg地址,可以多转载一些技术文章。
1. Java基础部分 基础部分的顺序:
基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,i 的语法,虚拟机方面的语法,其他。有些题来自网上搜集整理,有些题来自传智播客学员面试后的反馈,说真的,少数一些网上的面试题,我真怀疑其是否还有存在价值!
1、一个 .java 源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。
2、Java有没有gt? java中的保留字,现在没有在java中使用。
3、说说 和 的区别。 和 都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null !uals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPinterExceptin如果将 改为 ,则会抛出NullPinterExceptin异常。If(x==33 ++y 0) y会增长,If(x==33 ++y 0)不会增长 还可以用作位运算符,当 操作符两边的表达式不是blean类型时, 表示按位与操作,我们通常使用0x0f来与一个整数进行 运算,来获取该整数的最低4个bit位,例如,0x31 0x0f的结果为0x01。 备注:
这道题先说两者的共同点,再说出 和
的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。
4、在JAVA中如何跳出当前的多重嵌套循环? 在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例
如, k:
fr(int i=0;i i++) {
} 另外,我个人通常并不使用标号这种方式,而是让外层的循环条件表达式的结果可以受到里层循环体代码的控制,例如,要在二维数组中查找到某个数字。 int arr[][] =
{{1,2,3},{4,5,6,7},{9}};
fr(int j=0;j j++) {
}
System.un(“i=” + i + “,j=” + j); if(j == 5) break
k;篇五:
java学习经验总结
一、Eclipse使用技巧:
版权声明:本文标题:java项目开发经验总结(范本) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1704445035h460085.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论