java开发都需要学什么

近期关于java开发都需要学什么的讨论热度持续攀升 ,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸 。

首先要明确后端包括哪些职业:DBA(数据库维护优化专家) ,Developer(程序猿),Architect(构架师),Scrum master及类似(敏捷开发专家) ,Project Manager(产品狗) ,Maintenance&IT support(通讯和服务器相关),当然这只是一个大致的分类,并没有一个清晰的界限。

按程序猿内功而言:关系型数据库 ,领域驱动设计(Domain-Driven Design),设计模式Design Pattern,算法Algorithm ,面向对象编程OOP(SOLID),线程安全,事件驱动 ,测试驱动开发,依赖注入框架,等等。

对于初学Java并且有志于后端开发的同学来说 ,需要重点关注以下几个部分:

基础:比如计算机系统、算法 、编译原理等等

Web开发: 主要是Web开发相关的内容,包括HTML/CSS/js(前端页面)、 Servlet/JSP(J2EE)以及MySQL(数据库)相关的知识 。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面)。

J2EE:你需要学习的是Servlet/JSP(J2EE)部分 ,这部分是Java后端开发必须非常精通的部分 ,因此这部分是这三部分中最需要花精力的。关于Servlet/Jsp部分视频的选择,业界比较认可马士兵的视频 。

最后一步,你需要学会使用数据库 ,mysql是个不错的入门选择,而且Java领域里主流的关系型数据库就是mysql 。这部分一般在你学习Servlet/Jsp的时候,就会接触到的 ,其中的JDBC部分就是数据库相关的部分。你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat ,sqlyog,二选一即可。

开发框架:目前比较主流的是SSM框架,即spring、springmvc 、mybatis 。你需要学会这三个框架的搭建 ,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。但你一定要可以快速的利用它们三个搭建出一个Web框架 ,你可以记录下你第一次搭建的过程 ,相信我,你一定会用到的 。还要提一句的是,你在搭建SSM的过程中 ,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。在你目前这个阶段 ,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的 。

因此 ,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话 ,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口 ,它看起来好像很多余?由此也可以看出 ,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了 ,或者说是一步慢步步慢 。而且我很负责的告诉你,我在这个阶段的时候,所学习的东西远多于这里所罗列出来的。

总而言之 ,这个阶段,你需要做的是深入了解Java底层和Java类库(比如并发那本书就是Java并发包java.concurrent的内容),也就是JVM和JDK的相关内容。而且还要更深入的去了解你所使用的框架 ,方式比较推荐看源码或者看官方文档 。

怎么样才能成为一个优秀的程序员?这是一个颇为奇怪的问题 。怎样才是一个优秀的软件开发人员,在今天,你该怎样发展你的职业生涯?以下是DevStore总结的优秀程序员必备十大习惯。按照这些技巧和规则,你可以改善你的现状,由一个普通的程序员,成为一名优秀的程序员。

学会学习

就算是你有了10年以上的程序员经历,你也得要不断地学习,因为你在计算机这个充满一创造力的领域,每天都会有很多很多的新事物出现 。你需要跟上时代的步伐。你需要去了解新的程序语言,以及了解正在发展中的程序语言,以及一些编程框架。还需要去阅读一些业内的新闻,并到一些热门的社区去参与在线的讨论,这样你才能明白和了解整个软件开发的趋势 。

掌握多种语言

程序语言总是有其最适合的领域。当你面对需要解决的问题时,你需要找到一个最适合的语言来解决这些问题。比如,如果你需要性能,可能C/C++是首选,如果你需要跨平台,可能Java是首选,如果你要写一个Web上的开发程序,那么PHP,ASP,Ajax,JSP可能会是你的选择,如果你要处理一些文本并和别的应用交互,可能Perl, Python会是最好的 。所以,花一些时间去探索一下其它你并熟悉的程序语言,能让你的眼界变宽,因为你被武装得更好,你思考问题也就更为全面,这对于自己和项目都会有好的帮助。

理性面对不同的操作系统或技术

程序员们总是有自己心目中无可比拟的技术和操作系统。只有一部分优秀的程序员明白不同操作系统的优势和长处和短处,这样,在系统选型的时候,才能做到真正的客观和公正,而不会让情绪影响到自己 。同样,语言也是一样,有太多的程序员总是喜欢纠缠于语言的对比,如:Java和Perl。哪个刚刚出道的程序员没有争论去类似的话题呢?比如VC++和Delphi等等。争论这些东西只能表明自己的肤浅和浮燥 。优秀的程序并不会执着于这些,而是能够理性的分析和理心地面对,从而才能客观地做出正确的选择 。

别把自己框在单一的开发环境中

再一次,正如上面所述,每个程序员都有自己忠爱的工具和技术,有的喜欢使用像VC++一样的图形界面的调试器,而我更喜欢GDB命令行方面的调式器。等等等等。程序员在使用什么样的工具上的争论还少吗?到处都是啊 。使用什么样的工具本来无所谓,只要你能更好更快地达到你的目的。但是有一点是优秀程序员都应该了解的——那就是应该去尝试一下别的工作环境。没有比较,你永远不知道谁好谁不好,你也永远不知道你所不知道的 。

使用版本管理工具管理你的代码

千万不要告诉我你不知道源码的版本管理,如果你的团队开发的源代码并没有版本管理系统,那么我要告诉你,你的软件开发还处于石器时代。赶快使用一个版式本管理工具吧。使用什么样的版本管理工具依赖于你的团队的大小和地理分布,你也许正在使用最有效率或最没有效率的工具来管理你的源代码 。但一个优秀的程序员总是会使用一款源码版本管理工具来管理自己的代码。

做一个优秀的团队成员

除非你喜欢独奏,除非你是孤胆英雄。但我想告诉你,今天,可能没有一个成熟的软件是你一个人能做的到的,你可能是你团队中最牛的大拿,但这并不意味着你就是好的团队成员 。你的能力只有放到一个团队中才能施展开来。你在和你的团队成员交流中有礼貌吗?你是否经常和他们沟通,并且大家都喜欢和你在一起讨论问题?想一想一个足球队吧,你是这个队中好的成员吗?当别人看到你在场上的跑动时,当别人看到你的传球和接球和抢断时,你的团员成员能因为你的动作受到鼓舞吗?

把你的工作变成文档

这一条目当然包括了在代码中写注释,但那还仅仅不够,你还需要做得更多。有良好的注释风格的代码是一个文档的基础,他能够让你和你的团队容易的明白你的意图和想法 。写下文档,并不仅仅是怕我们忘了当时的想法,而且还是一种团队的离线交流的方法,更是一种知识传递的方法 。记录下你所知道的一切会是一个好的习惯。因为,我相信你不希望别人总是在你最忙的时候来打断你问问题,或是你在休假的时候接到公司的电话来询问你问题。而你自己如果老是守着自己的东西,其结果只可能是让你自己长时间地深陷在这块东西内,而你就更本不可以去做更多的事情 。包括向上的晋升。你可能以为“教会徒弟能饿死师父”,但我告诉你,你的保守会让你失去更多更好的东西,请你相信我,我绝不是在这里耸人听闻。

注意备份和安全

可能你觉得这是一个“废话 ”,你已明白了备份的重要性 。但是,我还是要在这里提出,丢失东西是我们人生中的一部份,你总是会丢东西,这点你永远无法避免。比如:你的笔记本电脑被人偷了,你的硬盘损坏了,你的电脑中病毒了,你的系统被人入侵了,甚至整个大楼被烧了,等等,等等。所以,做好备份工作是非常非常重要的事情,硬盘是不可信的,所以定期的刻录光盘或是磁带可能会是一个好的方法,网络也是不可信的,所以小心病毒和黑客,不但使用软件方面的安全策略,你更需要一个健全的管理制度 。此外,尽量的让你的数据放在不同的地方,并做好定期(每日,每周,每月)的备份策略。

设计要足够灵活

可能你的需求只会要求你实现一个死的东西,但是,你作为一个优秀的程序,你应该随时在思考这个死的东西是否可以有灵活的一面,比如把一些参数变成可以配置的,把一些公用的东西形成你的函数库以便以后重用,是否提供插件方面的功能?你的模块是否要以像积木一样随意组合?如果要有修改的话,你的设计是否能够马上应付?当然,灵活的设计可能并不是要你去重新发明轮子,你应该尽可能是使用标准化的东西。所谓灵话的设计就是要让让考虑更多需求之外的东西,把需求中这一类的问题都考虑到,而不是只处理需求中所说的那一特定的东西 。比如说,需要需要的屏幕分辨率是800×600,那么你的设计能否灵活于其他的分辨率?程序设计总是需要我们去处理不同的环境,以及未来的趋势。我们需要用动态的眼光去思考问题,而不是刻舟求剑。也许有一天,你今天写的程序就要移植到别的环境中去,那个时候你就能真正明白什么是灵活的设计了 。

不要搬起石头砸自己的脚

程序员总是有一种不好的习惯,那就是总是想赶快地完成自己手上的工作 。但情况却往往事已愿违。越是想做得快,就越是容易出问题,越是想做得快,就越是容易遗漏问题,最终,程序改过来改过去,按下葫芦起了瓢,最后花费的时间和精力反而更多。欲速而不达 。优秀程序员的习惯是前面多花一些时间多作一些调查,试验一下不同的解决方案,如果时间允许,一个好的习惯是,每4个小时的编程,需要一个小时的休息,然后又是4个小时的编码。当然,这因人而异,但其目的就是让你时常回头看看,让你想一想这样三个问题:1)是否这么做是对的?2)是否这么做考虑到了所有的情况?3)是否有更好的方法?想好了再说,时常回头看看走过的路,时常总结一下过去事,会对你有很大的帮助。

关于java开发都需要学什么的相关内容介绍到此告一段落,若这些信息对您有所启发,欢迎持续关注本站获取更多优质内容 。

本文来自作者[零筒]投稿,不代表幺幺号立场,如若转载,请注明出处:https://yyhz.net/yaoyao/1512.html

(29)
零筒的头像零筒签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 零筒的头像
    零筒 2025年09月20日

    我是幺幺号的签约作者“零筒”

  • 零筒
    零筒 2025年09月20日

    本文概览:近期关于java开发都需要学什么的讨论热度持续攀升,我们通过多方渠道收集整理了相关资讯,并进行了系统化的梳理。若这些内容恰好能为您提供参考,将是我们最大的荣幸。首先要明确后端包...

  • 零筒
    用户092008 2025年09月20日

    文章不错《java开发都需要学什么》内容很有帮助