据我所知java编程需要学习面向对象、基本语法、JSP、WebServer以及常用的Java开发工具和常用框架等知识。学习java编程可以使用JBuilder、IDEA、Eclipse等工具。
如果有C++等面向对象语言的开发经验,可以简单的翻看一下介绍JAVA的相关书籍就可以了。如果是新手就需要花时间好好研究一下Java的语法了
做JAVA程序员都少不了和JSP以及HTML打交道。因此,想成为JAVA程序员就不可避免的要熟悉JSP和HTML,最好能知道JSP的几个内置对象,如Session,Request,Reponse,以及常用的JSP标签,如include,userBean等。如果再熟悉一下JS和CSS就更好了,那会使得制作的页面更友好。
熟悉了以上这些已经可以制作出来JSP页面了,但是页面总要跑起来才能看到它的效果,这就要求必须熟悉一种WebServer,比如:TOMCAT,RESIN等。要学会如何发布应用,如何利用WebServer的数据库资源等。
想要创维一名优秀的Java程序员,建议找一家专业软件培训机构学习,我推建AAA软件教育集团,AAA教育集团(隶属于深圳市漫动者教育科技有限公司),成立于2007年,专业从事高端计算机职业教育工作,是国内知名的教育品牌。集团创立以来,依托先进的办学理念,AAA培养出数万名专业性、实战型高端技术人才,被业界誉为“互联网金领生产基地”。
❷ 作为一名合格的java程序员需要具备什么能力
如何快速为合格的程序员从初入职场菜鸟到职场大咖,很多程序员在努力充实自己,有时候我们需要对自己进行一次能力定位,了解自己的优势和没有掌握的技术。芯学苑本文列出几点作为初入职场的新手评估自己,明了前进学习的方向。1、技术能力(解决问题的能力)这是非常重要的事;过硬的技术能让你得到面试机会,并在工作中游刃有余。当公司招聘一个Java开发人员时,是会优先考虑能力因素的。在实际的项目开发中,一个程序员的技术能力等于其解决问题的能力。如果拿一个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的数量和难度来衡量。一个程序员能基本无误的完成项目中的一个功能算是合格,但在此之前,他对项目的生产力为负,为他布置的任务,中间环节的沟通,修补bug的时间其实要多于自己直接完成该功能的时间的。能较好完成一个完整模块的程序员才算是较好的程序员,也是项目中的主要开发者。能独立完成整个项目才是优秀的程序员。2、专业基础(知识的积累)一个程序员的知识积累很大程度上决定了其解决问题的能力。知道如何编写代码是基本的技能,但是知道Java编程语言的原理,知道代码背后的算法将使你从人群中脱颖而出。3、主流编程工具今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。有时这是由工作的环境决定的,但是按照下面说的去做也是一个很好的选择:构建工具:Maven或Gradle。SCM:Git(不是GitHub。大不相同)。构建自动化:Jenkins。IDE:Netbeans或Eclipse——不仅用于编写代码,而且还从IDE中重构和调试代码。我遇到了很多没有如何从他们最喜欢的IDE调试的开发人员。Bug跟踪:Bugzilla或Jira。4、JSF的知识应用程序服务器所有Java开发人员应该知道如何在ApacheTomcat中部署。当Glassfish开发停止时,下一个最好的事情是JBossWildFly。5、沟通的能力沟通是我们做好一切事情的关键。我们必须与我们周围的环境保持互动,无论是在我们的私人还是职业生活中。一个良好的程序员知道如何在各种团体面表达自己。也许对你来说显而易见的东西在他人的角度来看并非如此。从大的尺度(比如一个人的工作生涯)来看,一个程序员知识积累的多少只决定于其自学能力和他对编程本身的兴趣。在一个分工明确的项目中,程序员需要理解产品,和领导沟通理解自己的任务,和同事们沟通以正确的方式进行合作。无论哪一个方面沟通出了问题都不是小事情,同时,程序员还需要正确的传达设计的实现难度,以及让别人正确的理解自己设计模块的接口。在不写文档时,正确的口头沟通非常重要,需要写文档时,良好的编辑能力也算做是沟通能力的一部分。6、自学能力这是一个非常重要的技能,在你自己的空闲时间学习新的技能。不要等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。从WEB前端开发到架构模式,总是有一些新事物值得学习。经常阅读博客和论坛,尝试加入本地聚会小组。你学到的东西可以帮助你的事业。知识刷新频率极快让人无法追赶的这个时代,难免会有超出自己知识范围的时候,此时你的自学能力决定了你能多快的完成任务。7、良好的团队合作精神无论是部分编程还是大型项目,所有开发人员都是作为团队的一部分在协同工作。你需要致力于团队的目的,或帮助新的团队成员克服障碍。不要存在这种“我只要做好我的本职工作,下班就直接回家”的态度。成为团队的一部分,帮助周围的同事,对自己的能力也是不小的提升。就像拿破仑说的不想当元帅的士兵不是好士兵,追求参与一个大型软件系统的开发,是每个程序员的梦想。在此之前,我们应该学习的专业知识,达到优秀程序师的标准。最后希望各位程序员阅读本文后能够得到一些裨益,在这条路上走得更好。
❸ java 程序员任何修炼内功
搞开发,修炼程序员的内功,主要是看你对职业的心态和对行业的执着度,如果你感觉你每天做的都是一些重复的,感觉无味的东西,那说明你还没有任何内功,甚至还没达到一个真正的程序员,搞开发,就是让计算机为人们的生活更为方便和高效以及快捷,明白了这些,在看看,有那个无所追求,满足于现在,包括你,所以人的欲望永远不会停止,心有多高,就能走多远,我想你会明白我说的这些的,所以,你要持java利刃,开辟任何你不想用手工或效率低下而能服务大众且颇受欢迎的东东,我想你不会说很没意思的,那是你的内功也真成了行家内功呢!
❹ Java程序员工作一年,应该具备什么能力和素质
一年啊,一年不足以做出什么成绩。如果确实很用功的话,起码应该学会了一些需求分析能力,一些简单的代码重构能力,简单的ER关系设计能力,还有文档书写能力,对代码的描述能力(或者说书写注释的能力)。
❺ 作为一名合格的Java程序员应该具备哪些技能
1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多线程(并发编程)、反射等。
2、熟悉基于JSP和Servlet的JavaWeb开发,熟练的使用JSTL和EL编写无脚本动态页面,对Servlet和JSP的工作原理和生命周期有深入了解,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发经验。
3、对Spring的IoC容器和AOP原理有深入了解,熟练的使用Spring进行事务、日志、安全性等的管理,熟练的运用Spring框架管理各种Web组件及其依赖关系,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
4、熟悉Hibernate和MyBatis的核心API,熟练的使用Hibernate、MyBatis等ORM框架,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
5、熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验,对Ajax技术在Web项目中的应用有深入理解。
6、熟练的使用SQL和PL/SQL进行数据库编程,熟悉常用的关系型数据库产品(MySQL、Oracle)。
7、熟悉面向对象的设计原则,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验。
8、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
9、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。
说明:上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。但是前6项应该是最低要求,是作为一个Java软件工程师必须要具备的专业技能。
❻ 一名合格Java程序员应该具备哪些技术和素质
胃口真大,JavaSE,JavaEE,JavaME三个方向都要啊!建议JAVA还是走JavaEE,另外两个方面有一些了解就好了!
❼ java程序员就业情况现在怎么样
在各大招聘网站上搜索市场需求量大,可直观看出Java程序员、Java工程师的岗位有很多,薪资待遇普遍偏高。Java应用广泛,PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等行业都离不开Java。
1、Java程序员市场需求缺口大
近年中国在移动互联网这块发展非常迅猛,各种创业公司、小团队如雨后春笋般冒出来,对安卓开发、PHP、Java、Web的需求变大。但存在人才发展跟不上市场的需求的现状,相对应的给优秀Java人才开出的薪资待遇随之水涨船高。
从第三方平台统计的数据可以看到,Java工程师在2019年平均月薪接近20K,其中20K-30K的薪资占比为30.3%。岗位需求方面,从100offer招聘网发布的各技术类岗位企业面邀数占比可以看出,Java工程师企业需求为第一位,占比60%,同比增长了11%。由此可见,Java岗位需求仍然呈现持续上升趋势,供不应求。
2、Java程序员门槛高
要求计算机技术或是相关专业的大学生,Java对从业人员素质,计算机相关行业会了解最基本的互联网的相关知识,以及简单的语言基础;从事Java开发行业,招聘公司对学历有要求,大部分要求是专科以上。
并不排除有非计算机专业的从事Java行业的开发人员,但是万事开头难很多人抱着很大的希望去学习,学习过程中遇到的困难越来越多,慢慢就放弃了,因此有一部分人在入门的路上就淘汰了。学习前就要下定决心,学习不能轻易放弃。
3、Java岗位晋升方向多
大部分Java从业人员起初都是从初级工程师开始入门,随着工作年限、工作经验的不断增加,从初级工程师进阶到中级工程师。
随着自身开发能力的不断提高,开发项目的不断积累从一个从中级工程师到高级甚至是开发组长的一个跳跃,在此基础上再往更高的项目经理、项目总监职位晋升的话就不只是需要娴熟的开发能力,沟通协调能力也是不可或缺的。
最后如果想要成为Java架构师或者是企业CTO,需要不断加强自身技能的基础上具备良好的驾驭管理开发团队能力,有良好的人格修养,提升个人能力才能将企业向更好的方向带领。
如今全国各地重视信息化建设,出现大量的信息化人才缺口尤其是Java软件人才,我国信息化人才培养还处于发展阶段。社会实际需求人才基数大于信息化人才的培养人数,众多中小企业急需全面系统掌握Java软件开发基础技能与知识的软件工程师,Java软件工程师的就业机会和前景是非常广阔的。
以上是针对Java行业、市场环境和Java岗位大致分析,Java程序员就业的情况比较好,对于想要从事Java的朋友看完可以有个大概的了解,虽然Java行业前景好,但是能掌握核心的Java技能和项目经验才是关键。
❽ 一个程序员需要有怎样的自我修养
作为一名程序员,一个“程序员的自我修养”是什么?
尽管我们不一定要像尹天仇那么的认真对待自己的事业,但,一些基本的修养,作为一名新时代的码农,总应该是要具备的吧。不过真要说修养,方面还是挺多的,技术自我提示自不必说。但我并不打算从这个大家都觉得理所当然的技术方面入手,而是谈谈,可读性代码,这个容易被大家忽视的基本素养。
1、遵从所在团队的代码规范。
一个高效、成熟的团队,必定有一个属于自己的代码规范,这个规范是团队的宝贵的财富,它是整个团队从各种坑中爬起来后积累的经验教训。什么是规范,它是人们从无数经验中总结出来的规则,标准。而代码规范,指导团队成员如何以最短的时间写成最高效,可读性强的代码。试想,如果成员不遵从规范,你用驼峰命名,他用下划线,这对程序的可读,将造成多大的影响。我想,应该没有一个人愿意去阅读一段,各种变量命名形式都能见得到,private, public 方法随意排序,甚至常量类都散落在各个角落的代码吧。
代码,一个作用是让机器阅读,另一个重要的作用是让人阅读!!!
2、遵从行业内通用的规范
在团队的代码规范未涉及到的,那请按照行业内的规范来编写代码。规范的一个好处是,可以明显减少学习和交流成本。在java中,当我们看到全大写的变量名时,我们就知道这是常量,而不需要去看注释,不需要去看代码逻辑。为什么这么迅速,因为行业里大家都习惯把常量用大写命名。但假如你用其他命名方式命名常量,比如team_nums命名常量,不仅不能让人迅速知道这是个常量,而且可能让人误会这是个变量,增加了团队成员学习和沟通成本,甚至可能误导他们。就见过一位仁兄,明明用的是工厂模式,偏偏按模版模式的命名方式来命名,问他,他说他知道这是工厂模式,但他觉得,更应该叫模版模式。。。我的天,,你这么任性,以后还能做朋友么?
举个例子,我们需要根据支付类型,来生产多个支付产品,于是,我们写了个工厂类,命名为FactoryPay。当其他人看到一个类叫FactoryPay,他们会猜测,这应该是个工厂类,负责生产各种支付产品的工厂,然后按照这个猜测去阅读代码,就能比较快速的理解整个类的作用。但是,假如我取名PowerPay,别人还不知道是啥,看了半天,才明白,这是个工厂的作用。这就明显增加了他人的学习成本和维护代码的成本。
不管你是新手还是老鸟,务必了解施行行业规范,切勿为了标新立异而违反规范。这么低端的装逼,就没必要采用了,要装也写个高端的框架来提升逼格呗。
3、变量、方法命名要能表达变量作用
在程序员这个圈子很久了,就发现,程序员这货,都喜欢这套,“这个接口干嘛用的,有文档么”,“自己看代码去”。很多时候都是一脸黑。
尽管程序员阅读别人代码技术都是一流,不管你是有没有注释,不管你是怎么循环嵌套,也不管你是怎么命名,他们都能耐心的,把代码分析个所以然来。但,对于程序员这个视时间宝贵如生命,分分钟都能创造几百万价值的群体来说,您行行好,给我们省点时间吧,把变量是干啥用的,说清楚呗,没准节省的这几分钟,多赚个几万,还能请大家出去嗨呢。
每每看到部门的某大神,用一个神一般的变量名“flag”,我就有吐血的冲动,他还这个flag一直雪藏,不用,只是传递到第n个方法才使用,顿时心力交瘁,我的天,这个flag都是是干嘛用的啊,后来才明白,是isPay的意思,用来标识用户是否支付成功了。当时一口老血吐屏幕上,心里狂吐槽,老兄,你命名个isPay会死么,我的脑细胞这么不值钱么。到后来看到,去魔法数字,用int NUM_7 = 7,而不是MAX_MEMBERS来表示最大成员、用x y z来命名变量名,各种只有作者,或者作者后来都忘了的独特命名方式,都见怪不怪了。更有甚者,一个变量命名为passed,作用居然是“未通过”的意思,当时就石化了,作者还真是用心良苦,这都要考我细心不细心。
一个好的变量名,能帮助阅读者了解变量的作用,也辅助了对整段代码的理解。
4、不要show英语,乡下的孩子伤不起唉
LZ所在的团队,英语一直都是团队的硬伤,但总是能看到,某位仁兄,加上大把大把的英文注释,有些变量名也取些高大上的复杂的英语单词。敢问,你这么高的逼格,以后我们怎么和你玩啊。(那位仁兄其实就是LZ,年轻时唉,罪过罪过)
代码是用来沟通的,传递作者意图的,都看不懂,怎么沟通交流。建议英语好的童鞋,英语能力可以放到阅读英文书籍中展示,在代码中,如果团队英语能力很弱,避免使用英文,变量命名也尽量按照团队英语水平来命名
5、添加必要的注释
正如上面LZ说的,经常遭遇“你仔细看看代码,就知道干嘛用的”这样的神回复。尽管阅读代码是每个程序员的强项,但必要的注释,比如逻辑比较复杂的地方,添加必要的注释,对提升团队成员阅读熟悉代码的效率是有很大帮助的。试想,一个类,几百行,没有一行注释,对于阅读者来说,阅读它将是一个多么恐怖的事。
6、注释保持简洁,避免没有必要的注释
即看过一行注释都没有的代码,也看过注释比代码还要多的程序。一个是让人生不如死,一个是让人痛不欲生。(唉,有时不仅感叹,在程序员界混,真的是难)。
LZ就经常看过,一大段注释,啰嗦了半天,要不就是没表达清楚重点,要不就是只为说明它是个循环的作用!!!譬如i++这样的代码,有必要加个“每个计数增加1”这样的注释么,这完全是把读者定位为非程序员啊,或者就是严重鄙视读者的编程水平。
注释是帮助阅读的人更好的理解程序的逻辑,只是辅助,如果不重视通过命名等方式来传递代码的作用,而是依赖于注释,这就是本末倒置了。而且,冗长啰嗦的注释,这到底是帮助人理解,还是阻碍人理解啊,是读程序还是读小说啊。
7、拥有自己的编码规范
规范是为了让团队更快的理解、熟悉代码的,同理,拥有自己的一套规范,就能帮助其他人更快的理解我们所写的功能,减少学习和沟通成本。
8、代码清晰简洁的表达出作者的意思
在我们每次写完一段代码时,一定要问问自己,代码是否表达清楚了我的意思,是否需要添加些注释,名字取得是否恰当了,别人在阅读时是否吃力。。每每看到别人一团糟的费解的代码,就时刻提醒自己,一定要把代码写好咯,我也确实是这么做的,一遍又一编的检查,看变量名、方法名是否表明了它的用途,是否有些不必要的、只是为了提升逼格的代码,别人是否能在短时间内看懂。所有的这些,只是为了写出一段更优美的代码。
9、坚持并捍卫上面的准则
经常能听到,有些公司是代码行数来定义绩效的,但作为一个有操守,并秉承基本自我修养的程序员,我们绝不能为了各种诱惑或者胁迫,甚至是自己的惰性、个性,而放弃写出简洁清晰,可读的代码。
以上的几点,并不是严格的意见或者建议,只是提醒广大程序员同胞们,在痴心与高端的技术时,千万不要忘了,代码不仅机器要阅读,人也需要阅读。就算你写出再复杂的代码,但它让人完全无法阅读,这有什么用呢。这就如同,你很牛逼很牛逼,但别人听不懂你说的话,还不是没用。如果你真的写出了可读性强的代码,但你也不应该鸣鸣得意,我觉得,写出一段优美,健壮,可读性高的代码,是一个程序员最基本的自我修养。
❾ 成为一个合格的Java程序员需要什么要求
想要成为一名优秀的Java程序员,不能像无头苍蝇一样乱转,一些关键技术的掌握是非常重要的,比如说分享的这九点:
一、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。
二、熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发的经验。
三、对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
四、熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
五、熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。
六、熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。
七、熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。
八、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
九、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。
以上!
❿ Java程序员人员应具备哪些素质
掌握java基础、开源框架技术、jsp、javascript、ajax、css、html等技术相关知识
熟悉db2、orcale、ms sql server、mysql数据库其中一种,主要是oracle
有较强的新技术学习能力,和良好的沟通能力和理解能力