如何学习java?
更新时间:2022-11-04
java的方向
一些初学者在学习java,但是我不知道怎么学java能做什么?让我粗略总结一下。
做桌面程序
桌面程序是我们通常使用的客户端。java它是一种跨平台语言,因此使用java写的桌面程序自然是跨平台的。但是,不得不说,awt和swing做桌面程序太痛苦了,javafx也不是很好。所以,除非你紧张或者只是想学习。这条路不推荐。
做游戏
在我的印象中java只写游戏mc。。。我知道一定还有别的,但我不应该很出名(也可能是我无知)。因此,很明显,这不是一条有前途的道路,除非你能写出来mc出来。现在玩游戏。c ,lua,js,c#多一点。我不太熟悉讲道理,但我知道,用java写游戏不靠谱。
写服务端
这是学java三大最佳选择之一。现在大型网站基本都是用的java写的。虽然现在服务端百花齐放,php,nodejs,go,ror,python都在抢这块饭碗,但是java还是很有竞争力的。bat现在在春招,去看看岗位,有招聘。java但是别的呢?反正我没看到。
当然,我不是在说java无敌,宇宙第一,但说,java服务端的前景还是很好的。
唯一的缺点是学的人有点多,初级程序员到处跑,没有一定的实力还是不容易混。但是,我觉得现在java服务端找工作没关系。。反正我找了两天实习(可能是我要求不高。
android
这是最好的选择之二。不多说,是的google爸爸支持,android未来n年不会死。虽然现在也可以用了kotlin开发,google也在推自己dart语言。但是java地位不可动摇。
不幸的是,最近听说了android找工作不容易。当然,我只是听说我不专业。
嵌入式
n年前,还是直板手机的时代。我记得有些手机支持java。。后缀可以安装.jar软件。当时我觉得这种手机太棒了。因为在使用这种手机之前,我一直在使用辣鸡。那种叫斯凯平台的?我忘了我的名字。不管怎样,我用键盘输入*#220807#,可以召唤神龙的手机。
拉远了,当时那种支持java手机是一种叫做的手机javame的技术。javame是轻量级的java,可在移动设备(手机、车载设备、机顶盒等)运行java程序。
不过现在javame差不多死了,不清楚。。反正我没碰过,哈哈哈。
大数据
这是我推荐的最后一个方向。据说现在是数据时代。各种大数据技术层出不穷。目前有处理大数据的技术python,java,R等。虽然说java没有绝对的优势,但也是霸主。拒绝接受?hadoop就是用java要实现,还要多说什么?
学什么?
让我们先解释一下。我的下一个建议是针对大学生或有足够时间改变职业的人。这可能不适合那些想快速改变职业并找到工作的人,因为我的建议或经验需要很多时间。
首先,无论你将来选择什么方向。基础永远是最重要的!!!不要以为看了一套视频或者看了一本入门级的书就能写出简单的代码。你还很远。工作几年的人不敢说对java基础知如指掌。因此,无论时间段如何,你的职业生涯的任何时候都应该巩固基础。而且,基础不仅仅是java还有一些基本算法、数据结构、计算机网络、计算机组成原理等。
所以,首先要学的是基础!(不断学习)
其次,互联网每天都在前进。无论是网站还是网站。app所有服务端都需要运行(单机和静态网站不多)。所以,不管你以后会不会从事java我觉得了解后台工作很好。而且,普通大学也应该开放javaweb这门课吧。
所以,我觉得每一个学习java有足够时间的人可以学习javaweb。当然,如果你想朝着这个方向发展,更不用说了。
最后,我建议你了解大数据。为什么?现在是大数据时代。无论你是否想朝着这个方向发展,了解更多总是好的。多接触分布式文件系统、分布式数据库、负载平衡等前沿技术总是好的。
因此,我也建议你多了解大数据。
当然,以上是我个人的看法。每个人都应该有自己的人生计划,你也可以按照自己的计划。
怎么学习
事实上,我主要想谈谈这部分。每个人都有自己的学习方让我分享一下我的。
大一
这时,刚接触到电脑,你可能什么都不懂,听课也是一脸懵逼,什么?for循环,if陈述太恶心了。这个时候你要做的不是抱怨,而是努力寻找乐趣。因为你已经进入了这个坑,除非你转专业,否则你摆脱不了。
如何找到乐趣?在我看来,编程最大的魅力在于当你成功时,你发自内心的成就感。我不知道你是否还记得第一次写作helloworld当各种错误——分号写成中文,大括号少了一个——但最终成功输出了结果的喜悦。
对于一个刚接触编程的人来说,我认为写游戏是最容易获得成就感的。这是一个专栏— 玩游戏,学编程(C语言)。专栏作者让一些学生玩游戏来学习C语言。我认为这是一种很好的学习方法,即挑战性和成就感。
大学的入门语言几乎是c或c 。。如果没有,也可以参考专栏里的小游戏,然后试着用自己的语言写。
但是,我想关注的是。写游戏其实是一件很有挑战性的事情。有些人一开始可能会陷入困境,不知道如何继续下去。这个时候,如果你能坚持下去,多问问老师,学长,百度,google,如果你解决了问题,你将来会很好。如果你放弃了,不要灰心,因为不是每个人都适合通过游戏来培养兴趣,你也可以做一些事情acm提高自己。每个学校都应该有相关的网站。如果没有,可以去浙大看看。(也可以来我们学校。。。http://cpp.zjut.edu.cn 或者 http://acm.zjut.edu.cn) 。在自己的能力范围内做一些题,也能提高自己的兴趣。
当然,这些只针对一些学生。毕竟,很多人对代码没有感觉。。我不忍心写代码。对于这些学生,我建议学习html 和 css。因为它们的介绍非常简单,所以它们被用来写网页。逻辑几个标签,几个标签css你可以设计一个漂亮的网页,我觉得会有成就感。
大一是打基础,培养兴趣的一年。你不需要取得多大的成就,写出多么强大的程序。只要你能培养兴趣,愿意走编程之路,你的任务就完成了。
所以,今年你要做的就是培养兴趣,让自己爱上编程(最基本的要求)。
大二
假设你现在喜欢编程了。但一般大一只学一门语言(默认情况下)c/c ,别问我为什么,因为我就是这样学的。。)。所以你可能只是写了几个小游戏,写了一个小管理系统或刷了一些问题。你对现状不满意,你想做更有趣、更好的事情。同时,学校也应该在这个时候开学java课了。(如果不开,自学。毕竟这篇文章是关于的java,如果主角不再出现,就没有太多机会露脸)。
写在前面:大二要做的就是拓宽你的广度!!!广度!
首先,你要努力学习java。也许学校的进步是一个学期。但我建议你花一个月的时间完成学业。因为c和c 的基础,java其实很容易学(入门级学习)。更好的情况是,在大一结束的暑假,你花时间先搞定java基础。这样,当学校开始时,其他人还没有联系java,而且你可以自豪地告诉别人,你已经学完了。充满成就感。
那怎么学呢?java基础呢?我的建议主要是视频,辅入门书,自己写代码。
读书其实是一件很无聊的事情,如果你是初学者java,如果你只是读书,你可能需要很长时间才能配置环境变量,这会打击你的自信心。不要低估环境变量配置的过程。我记得很多人在两天内无法匹配环境变量,最后让我帮忙。但视频要好得多,因为老师会亲自向你展示。你会少走弯路,比书有趣得多。
辅以书籍,因为老师不能记住所有的知识,总是有遗漏或不太好的地方,这次 这本书可以派上用场。看完一节课的视频,然后关掉视频,自己写相应的代码。如果你犯了错误,试着先解决它们。如果没有,再看一遍视频,直到跑通。然后去看书中对这部分知识的讲解,加深印象,查漏补缺。
这里的重点是,你必须自己写代码。当你的时候,你觉得你可以,但大多数时候,你写的都是错误的。所以一定要自己写。当你第一次学习时,不要使用编译器(eclipse idea NetBeans等),使用notepad 可以使用这种类型的编辑器。
这个过程最大的缺点是耗时长,但效果很好。java有很多和谐c/c 同样,比如一些句子,如果你掌握得很好,也可以直接忽略它们,这取决于你自己的情况。
推荐一些学习资料(以后会给出)。视频: 毕向东、马士兵、韩顺平的视频都很好。口碑也不错,不信可以自己去百度。我看着毕向东,说得很有趣。但是每个人都有不同的口味。你可以下载更多的套件,听听,然后选择你喜欢的套件。 书籍:入门推荐《head first java 》。head first 这一系列书最大的特点就是图文并茂,案例驱动,读书过程不那么枯燥。《疯狂java据说讲义挺好的,但是没看过,也没评价。 编辑推荐:notepad 免费,小巧。初学者够了,直接下载百度就好。sublime , vs code, atom 也可以,选一个你喜欢的。
一个月,干掉java基础!这是你大二的第一件事。
正如我前面所说,今年你要做的就是扩大你的广度。这是什么意思?换句话说,你应该尽可能多地接触技术,学习更多的知识,因为将来很难找到这么多你可以自由控制的时间。
java基础完成。接下来,学习java web。
你知道,优秀的人总是走在大军的前面。不要学习学校安排的东西。如果学校不安排,你就不会学习。事实上,有些老师说得不是很好。他们自己学习大学里真正有用的知识。因此,下一步要做的是自学java web。
依旧是视频 书 写代码。
java web更重要的是实践。我当时学的书是学校的教科书。。我基本上没有读书。一步一步跟着视频,有问题google。大二上学期结束时,完成javaweb的学习。
因为你需要与前台进行一些互动,你必须学习一些前端知识(html css js)。在正式学习web先学点前端知识(资料都准备好了,自取不谢)。然后一步一步学习javaweb。
在这个过程中,遇到了各种各样的问题。我记得当时我有一个小问题google一天都解决不了,终于知道是jar包装版本的问题。。因此,遇到问题是正常的,遇到难以解决的问题很正常,只要你愿意问,肯查总能解决。
好了,你现在有能力自己写一个小网站了(丑点没关系)。接下来会很厉害。去参加比赛!进入实验室!做项目!没有什么比做项目更能提高水平。
因此,你大二的任务是尽可能多地做项目,依次巩固你的技能。你可以参加一些比赛,或者加入实验室,或者寻求老师的帮助。简而言之,你必须做这个项目!
另外,你需要继续拓展你的视野。前端(不是你以前学的简单)html!),python,android,ios,cocos。。。只要你感兴趣,就去联系。你不需要学习太多,也不需要完全掌握它。只是为了开阔你的视野,知道有那么多技术,还可以。
在大二的一年里,你需要学习java和javaweb,至少做一个项目。同时,尽可能提高你的视野。当你认为自己一无所知时,你仍然是一个新手,今年的任务就完成了。
大三
这是关键的一年,因为你将决定今年是否参加研究生入学考试。我不在乎研究生入学考试。。下一步是为准备毕业后工作的学生准备。
写在前面:今年,你要做的就是深度!
通过大二的努力,你的广度就足够了。在这个过程中,你也应该找到你最感兴趣的方向。如果没有,继续研究java总比你不知道该学什么好。无论如何,今年,你的重点应该放在一条路上。java为例。
首先,巩固基础!
这是最重要的。怎么做?高级书籍 看博客 写总结 写开源项目。
这个阶段的视频不是很多,也没有必要了。直接看书+看博客+开源项目,最后再总结就够了。我举个例子,比如,我现在要学设计模式,我买一本《head first 设计模式》然后一个模式一个模式的学,每学一个模式,看一遍书,然后google一下这个模式,看几篇高质量博客,结合书和博客自己写一个总结,甚至可以自己写一个博客专栏,让后来者也能享受到你的学习成果。同时,可以好好整理一下自己学习过程中的代码,放到github上,最好可以试着封装一下这个模式,让其他人更方便的使用这个模式。当你收获一个又一个的star时,你会非常有成就感的。
上面是学习的大致方式。学完了,怎么检查自己有没有学好呢?给大家提供一个网站牛客网,你打开就知道怎么用了。
基础都包括什么呢?
面向对象的思想。java常用类。 ** 框架。ionio多线程并发设计模式算法jvm计算机网络springorm框架。。。
每个知识点,不只是要会用,更要能理解一下底层的原理,有必要的话可以看看jdk源码或者框架源码。
推荐一波资料。《java编程思想》《java核心技术》《head first 设计模式》《设计模式之禅》《java并发编程实战》《重构 改善既有的代码设计》《算法导论》
你要知道,bat等大厂每年会有两次招聘,一次春招,在每年3-5月,一次秋招8-10月。春招是招实习生的,秋招是招正式员工。所以,如果你想进这些公司,就要提前做好准备。至少,上面的那些基础你是必须得都掌握的。
大三这一年,要让你的深度足够,有能力的可以继续延伸自己的广度。这个阶段,最忌讳的是朝三暮四。早上看python,下午发现go很有趣,看了一下午go,晚上听说R很厉害,又去研究R了。千万不要这样!不要成为各个领域的杂牌军,你现在要做的,是在一个方向有一些建树。
大四
实习。。。
实习的话我能给的建议不多,虽然我的实习经历还蛮多的。但是毕竟不是混迹职场多年的人,就不乱说了。
找工作,待遇,环境挺重要的。但是我觉得,这个公司的技术栈,行业背景也是很重要的。我实习的三家公司是三个不同的行业,所以我知道,不同的行业差距还是很大的。有的公司招聘的时候会要求你在这个行业有过经验啥的。所以,行业背景还是有必要注意一下的。同时,为了自己为了的前途,一定要问清楚公司的技术栈!
当然:作为一个有抱负的人,毕业设计一定要向着优秀发展!并且依旧要不断提高自己的水平。这个时候,学什么可能得根据公司的需求来了,但是,永远不要停止学习!
推荐课程
-
唐山现代多元Design全能班
346人 报名小编
-
唐山现代多元Design精英班
393人 报名小编
-
唐山现代艺术设计全能班
373人 报名小编
-
唐山电商课程培训班
331人 报名小编
-
唐山专业盲打指法训练
251人 报名小编