java建立项目步骤,java项目开发流程
在我看来,作为一个合格的程序员,掌握一门语言只是最基本的要求。除此之外,基础知识扎实,了解主流技术框架,有快速学习的能力也很重要。语言是帮助你实现想法的工具,对于一个程序员来说,最重要的是语言背后的想法,需要通过长期的基础积累和经验积累才能获得。
大二开始接触编程,到现在已经五年了。这五年,我走了很多弯路,踩了很多坑。至此,我通过接受阿里的offer,达到了人生第一阶段的目标。我和大家分享一下我这五年踩过的坑。希望你能少走弯路,在科技的道路上越走越远。
回到主题,我认为Java的学习过程可以分为三个阶段:
#第一阶段目标:夯实基础。
在你开始接触Java之前,你应该先等等,因为你需要做的第一件事是在计算机方面打下坚实的基础,而不是直接学习语言。当我做越来越多的项目时,我越来越感觉到计算机基础对程序员的重要性。就像武术家反复练习“马步”和达芬奇画鸡蛋。短期内,基本功的练习不会产生立竿见影的效果。也许这个过程会很无聊,但我们不能短视。从长远来看,程序员基本功的扎实程度决定了程序员的技术道路能走多远,走多长。
所以我觉得,如果时间允许,花半年甚至一年的时间学习基本功也不算太多。学习任何技术都一样。我们需要能够承受孤独。学习基本功的过程必然是枯燥的,但却对我们未来的发展有着深远的影响。所以我们一定要耐得住寂寞,善于耐得住寂寞,稳如程序员的第一步。
计算机基础主要有五门课程:操作系统、计算机网络、数据结构、算法和数据库。学习这些基础课程需要多少时间,取决于你目前的状态。如果你是计算机专业的学生,还在读大一大二,请珍惜课堂上的每一次机会。听老师讲一遍,自己再学一遍,有问题和老师沟通。这样的机会真的很难得,可以做,可以珍惜。
如果你不是计算机专业的学生,很容易做到,调动你的情报搜集能力,去你身边的名牌大学的计算机专业。我的学校离NTU很近,所以很多学生溜进NTU蹭周志华的机器学习。去了之后发现200人的教室坐满了人,所以都是同道中人来蹭课。
如果你即将找到工作,你应该更加关注这些基础课程。现在互联网公司非常重视学生的基本功,因为学校里做的项目大部分在面试官眼里只能算是“玩具”(PS: Big Brother除外),所以项目经验只能算是你的加分项,基本功是第一位的。
#第二阶段目标:精通Java
作为一名Java程序员,必须精通Java这种吃饭的语言。因为下班后,每天最常联系的是Java,其次是你的女朋友(当然,如果你有女朋友,就跑路)。所谓“精通”,就是你不仅要知道如何使用Java,还要了解它背后的原理,也就是你要“知道它是什么,为什么”。例如,我们都知道使用关键字new可以创建一个对象,但这远远不够。我们还需要知道对象创建过程是怎样的。对象创建后存储在哪里?什么时候被GC回收?只有理解了背后的原理,才能写出更高质量、更高性能的代码。
当然,学习Java不是一步到位的过程。它可以分为两个阶段。第一阶段是先用Java,也就是你只需要知道它是什么。当你熟悉了Java的所有语法和API之后,就可以用几个项目来练手了。这个项目可以帮助你加深对基本语法和API的理解。当你对Java有了一些项目经验和自己的见解,那么你就可以深入到Java背后的原理,也就是开始“知其所以然”的过程。你需要学习JVM,了解Java的内存模型、内存管理、垃圾收集和类加载机制。你需要学习并发编程,知道如何在保证线程安全的前提下提高程序的处理速度。您还需要尝试阅读JDK源代码,了解在Java容器中使用什么数据结构,以及在什么业务场景下选择什么数据结构。PS:Java的整体架构见上图。
学习Java确实是一个漫长的过程,只有你的时间、耐心和思考才能慢慢打开Java世界的大门。
#第三阶段目标:培养快速适应新技术的能力。
我觉得一个程序员的水平不是用他擅长多少种技术和框架来衡量的,而是看他有没有快速学习的能力。因为现在的技术一个接一个的涌现,技术更新迭代的速度远远超过我们学习的速度。因此,快速学习的能力尤为重要。当你有了一定的计算机基础,你就可以有意识地锻炼自己的能力。你如何锻炼?让我们分享一下我的学习经验。
我认为任何技术都遵循“2-8原则”,即在一个技术的整个架构中,最核心、最重要的部分可能只占该技术整个架构的20%,剩下的80%相对较小。因此,如果我们需要在相对较短的时间内快速上手一项新技术,那么最重要的是找出这项技术中20%的核心知识点,并首先理解并彻底理解它们。所以你可以马上使用这项技术。然后剩下的80%的知识点可以在项目的空窗口慢慢添加。过了这么一段时间,这项技术的整个架构都会被我们掌握。
在这个阶段,你可以开始接触一些应用层技术,比如Spring和MyBati。
s、Shiro……学习这些技术最好的办法就是理论结合实践,以项目驱动的方式去学习。毕竟编程是一项熟能生巧的技术,多多动手能加深你对技术的理解,多多思考也能提高你编码的能力,两者相辅相成。并且在学习这些技术的过程中,可以有意识地采用这种『2-8原则』学习方法,培养自己快速学习的能力。举个栗子,如果你正要做的这个项目需要使用Spring,那么你首先要做的就是要花点时间,找到、并且找准Spring中最为核心的20%知识点――Ioc和AOP(这些信息可以通过大牛的博客、Spring的官网获得)。OK,那么Spring其他的技术先不用管,你要做的就是先把Ioc和AOP这两个概念搞懂,包括它们的使用方式、背后的思想。(PS:学习技术最好的途径就是看它的官网,然而官网一般都是英文,对于英文比较捉鸡的同学可以看一些大牛的博客、或者视频教程)当把这两个概念搞懂之后,Spring基本就可以为我们所用。接下来,我们可以利用项目的空窗期把Spring剩余80%的知识点慢慢地补充,这样一段时间后,Spring的整个体系结构就被我们掌握。然而在这整个过程中,还会涉及到你的信息搜索能力、信息理解能力,这些软实力都需要你通过大量的练习慢慢积累。所以,少年,抓紧时间,赶紧行动吧。
> 对了,在这里说一下,我目前是在职Java开发,如果你现在正在学习Java,了解Java,渴望成为一名合格的Java开发工程师,在入门学习Java的过程当中缺乏基础入门的视频教程,可以关注并私信我:01。获取。我这里有最新的Java基础全套视频教程。