高校招生热点问题
更多>>- 泉州纳税事务和会计事务有区别吗?中职学财
- 当今社会,会计行业因与企业经济利益密切相关而备受关注。其中,纳税和会计事务都...查看更多>>
- 泉州学国际商务专业要学外语吗?需要学生具
- 中国经济发展的过程就是不断对外开放和对外贸易的过程。在国际国内双循环不断完善...查看更多>>
- 泉州计算机与数码设备维修是什么专业?有什
- 科技的发展给生活带来了便利,电脑和数码设备的普及率越来越高,人们的日常生活已...查看更多>>
- 泉州中专学舞蹈毕业可以干什么?有什么相关
- 舞蹈是人类以体育锻炼的形式表达情感的一种方式。如今,人们安居乐业,舞蹈成为人...查看更多>>
在我看来,作为一名合格的程序员,掌握一门语言只是一个比较基本的要求。此外,基础知识扎实,了解主流技术框架,具备快速学习的能力也很重要。语言是帮助你实现想法的工具,而作为程序员更重要的是你在语言背后的想法,而这些想法需要通过长期的基础积累和经验积累来获得。
大二开始编程,到现在五年了。这五年,我走了很多弯路,踩了很多坑。至此,我收到了阿里offer,也算是人生第一阶段的目标。我把这一年五踩过的坑分享给大家。希望你能少走弯路,在技术的道路上越走越远。
回到正题,我认为Java的学习过程可以分为三个阶段:
第一阶段目标:夯实基础。
当你准备开始接触Java的时候,你要等一段时间,因为你首先要做的是打好计算机基础,而不是直接学习语言。做的项目越来越多,越来越感受到计算机基础对程序员的重要性。这就像一个武术家一遍又一遍的练马步就像达芬奇画鸡蛋一样。短期内,基本功的练习不会产生立竿见影的效果。也许这个过程会伴随着厌倦,但我们不能短视。从长远来看,一个程序员基本功的扎实程度,决定了这个程序员的技术之路能走多远,走多长。
所以我觉得,如果时间允许,花半年甚至一年的时间学习基本功,一点都不为过。学习任何技术都是一样的,需要耐得住寂寞。学习基本功的过程必然是枯燥的,但对我们未来的发展影响深远。所以大家一定要耐得住寂寞,做好做稳做程序员的第一步。
计算机基础主要课程有五:操作系统、计算机网络、数据结构、算法、数据库。你需要多少时间来学习这些基础课程,取决于你目前的状态。如果你是计算机专业,还在读大一大二,请珍惜每一次上课的机会。听老师讲一遍,自己再学一遍,有问题和老师沟通。这种机会真的很难得,可以好好珍惜。
如果你不是计算机专业的,很容易。调动自己的情报搜集能力,翘掉邻近名校的计算机专业课。当我的学校离南大很近的时候,很多学生溜进南大学习周志华。去了之后发现200人的教室已经坐满了人。原来都是来蹭课的同路人。
如果你即将找工作,你应该更加重视这些基础课程。现在的互联网公司都很重视学生的基本功,因为在学校做的项目在面试官眼里大多只能算是“玩具”(除了『PS:大Boss』),所以项目经验只能算是你的加分项,基本功是第一位的。
第二阶段目标:精通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、MyBatis、Shiro……...学习这些技术比较好的方法是理论与实践相结合,以项目驱动的方式学习。毕竟编程是一门熟能生巧的技术。多做可以加深你对技术的理解,多思考也可以提高你的编码能力。两者相辅相成。并且在学习这些技术的过程中,可以有意识地采用这种“2-8原则”的学习方法,培养自己快速学习的能力。以栗子为例。如果你即将要做的项目需要使用Spring,你首先要做的就是花点时间去寻找和识别作为Spring核心的20%知识点——IOC和AOP(这些信息可以通过Daniel的博客和Spring的官网获得)。好吧,那就不用担心Spring的其他技术了。你需要做的是理解Ioc和AOP这两个概念,包括它们的用法和背后的思想。(PS:学习技术比较好的方法是看它的官网。不过官网一般都是英文的。对于英语抓鸡的,可以看一些大牛的博客或者视频教程。)理解了这两个概念,Spring基本上就可以被我们使用了。接下来,我们可以利用项目的空窗期,慢慢补充Spring剩下的80%知识点,这样一段时间后,Spring的整个架构就被我们掌握了。但是,在这整个过程中,也会涉及到你的信息搜索能力和信息理解能力。这些软实力需要你通过大量的练习慢慢积累。所以,小子,赶快行动吧。
顺便说一下,我目前是一名Java开发人员。如果你现在正在学习Java,了解Java,渴望成为一名合格的Java开发工程师,并且在学习Java的过程中缺乏基本的入门视频教程,可以关注一下,私信我:01。去拿。我这里有一套相对较新的Java基础视频教程。
- 2023-07-07 泉州纳税事务和会计事务有区别吗?中职学财会有前途吗?
- 2023-06-17 泉州学国际商务专业要学外语吗?需要学生具备什么品质?
- 2023-06-17 泉州计算机与数码设备维修是什么专业?有什么就业岗位?
- 2023-06-17 泉州中专学舞蹈毕业可以干什么?有什么相关专业?
- 2023-06-17 泉州淡水养殖要学什么内容?学生好就业吗?