本文非常适合零基础初学者观看
如果别人让我介绍我是做什么工作内容的,我可能会用以下的方式告诉他(不知道学Java可以干些什么,可能就不知道下面的流程是怎么样的):
“你可以掏出手机,打开微信”
“我们都是玩微信的人,要进入微信先得有个账户,所以要先注册“
“注册实际上就是把你的账号和密码「
保存
」起来”。
“如果你注册成功了,那
小本本
「数据库」就有你的账号和密码了。等你登录的时候,就去
小本本
「数据库」查一下你输入的账号和密码是否
匹配
”
“看到这里,有没有觉得「程序员」真是容易当,不就把输入的数据记录下小本本,等用到的时候再查一下而已嘛。其实不然,就好比微信的注册页面,拿IOS系统来说,从
IOS 6
到现在的
IOS 12
已经有6个版本了。Iphone手机屏幕的尺寸也一直在变,从
3.5
英寸到现在的
6.5
英寸。微信团队需要对不同的「版本」,不同的「屏幕大小」进行
兼容
,让iPhone4s还是iPhoneXS Max都能用上微信。(起码在不同的手机上,看到的注册功能都是完整的,而不是东一块西一块不整齐的)”
“还比如说,
小本本
「数据库」记下的密码不能是你输入的「原始密码」。举个例子:某一天,一个在微信团队的小伙子拿到了存放账号和密码的
小本本
「数据库」,把
小本本
「数据库」的内容给
公开
了。(或者说一个黑客把微信给攻破了,然后公开
小本本
「数据库」),
那岂不是谁都可以上我的微信号了
?”
“程序员们当然可以考虑到这点,他们会这样做,将你输入的密码进行「
加密
」存到
小本本
「数据库」中。
无论是谁
,拿到加密后的密码,都
不能「反推」
你原始输入的密码。”
“所以,每次比对的都是加密后的密码”
一个功能远远没有上面所讲的那么简单,可能一个小小的功能背后是一个大大的团队在支持...
收藏等于白嫖,点赞关注才是真情!
我学习Java能做什么?
题主目前你学了四天有这种情况是非常常见的。我当时学了四天学了什么?
-
安装Java开发环境用了一天
-
学习基础的语法:基本的面向对象概念、for循环、if、三目运算符,简单的API(能输出HelloWorld)
如果题主能
继续坚持
学习Java基础,发现可能
将近一个月
都是对着黑窗口在玩。
-
无论这个黑窗口是系统自带的,还是题主已经在用IDE了
集成开发环境 ( IDE ,Integrated Development Environment )是用于提供程序 开发环境 的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具
学习Java基础的确不能做出些有趣的东西,学着学着会有
枯燥
的感觉。面向对象-封装继承多态、集合、多线程、反射、网络编程、内部类等等这些Java基础都是在黑窗口上学习和实践的。
这些玩意有意思吗?
是没什么意思
,学完这些知识会让自己产生疑问 “
这些基础能写成一个应用吗”
(无论是现在用的知乎APP还是PC版的知乎)。
这是一个非常正常的疑问,我在初学的时候也经常问自己:”我学这些东西好像没什么卵用啊,为什么网上(知乎、贴吧等论坛)的都在说 “
初学要打好基础
,
等你学好Java基础,那工作就不愁了
”
但是我当时一点都不知道这些基础用在哪里,
迷茫
。
我看视频还是看书?
题主能够在知乎上提问了,我也默认题主已经在知乎看到过不少类似的问题,可能还没找到自己想要的答案。在搜索的时候应该能看到类似的问题《
自学Java看视频还是看书
》
这个问题在初学的时候我也经常纠结。纠结的原因很简单:
-
会有一部分人说: 看视频没用,视频讲得太简单了,都是骗你去培训班的。看视频也太慢了,学习最快还是看书好
-
会有一部分人说: 零基础看书看不进去,学不会的,看视频好,一个老师带着你学习
这个问题我在工作了以后还跟同事讨论过,我是支持
零基础学习看视频
,他是支持
直接看书籍
。
我俩
谁也说服不了谁
。那到底是初学看视频比较好,还是看书籍比较好?
知识点好多,我记不住
随便找一本评分比较高的
Java基础
的书籍来看一下,都是非常
厚
的。以《Java疯狂讲义》为例,有889页。拿着他比砖头还要重。
今天跟着书籍/视频学习了「内部类」,等学到多线程的时候再看一下这个「内部类」,发现已经看不懂他的语法了。昨天跟着书籍/视频学习了「网络编程」,发现上周学完的集合API全忘掉了....
咋整?知识点这么多,有这么多的API,我不可能全部能记得住啊...学完很容易就忘记了。
哪些需要重点学习,工作中常用的知识点有哪些
在初学Java的时候然后去相关的IT论坛逛逛,
发现全都看不懂
。明明是在学编程,但IT论坛的问题一个都看不懂。看着一大堆的专业名词,就犹如明明是中国人但看不懂
奰媕鳏魍谶觳豳
这些字一样。
初学者在论坛上看到
面向切面编程、高并发、AOC、IOC、Mybatis、Linux
这些可能都不知道是干嘛的,明明是
Java
的标签,但出来专业名词的好像都看不懂。
Java要学的东西也太多了吧,基础已经这么多了,后面的怎么学,我应该学习哪些重点啊?
我学到怎么样的程度可以找到一份工作
我耗时几个月熬过头了,已经学了Java基础、JavaWeb、简单的数据库、SSM框架等等一些基本的使用了。现在想要找一份工作,但不知道企业招人的标准是什么。
现在我学得这些,我觉得还有点虚,感觉跟实际工作的内容有较大的差距,学了这么多还是没有一点儿的底气,怎么办?
会写一点点的SSM和增删改查,简单的会写,难的就不会了
。很急,在线等,怎么办
。
我的理解
学习Java能干什么?
现在Java按简单来说有两种方向:
后端和客户端
-
对造APP感兴趣的可以学Android
-
对服务端感兴趣的可以学Java后端
-
(后端延伸出去也可以学大数据...
既然你会在知乎上提问了,你有没有想过你输入完内容,点击
发布问题
按钮的时候程序员为你做了些什么?
-
点击发布问题的时候,至少你提的这个问题是 需要能被你再次打开 ,看看有没有相关回答者的吧?那是不是知乎要 拿小本本把你这个问题给记录下来 ,后续找到了这个问题然后给你下一次打开。
-
那至少要做的就得把你发布的问题记录下来(记下),等你再次点开的时候再找到你的问题(查找),如果你把问题给删除了,那就得把记下的问题给删掉(删除),如果你把问题给修改了,那就得把你记下的问题给修改了。总之,你先要把问题给发布(存到小本本里边),你才能 删改查
-
上面这些工作谁来干?程序员写代码来做。可能用Java,可能用Python,可能用Go,可能用全世界最好的语言PHP...
扯了一大堆,那我为啥还天天对着黑窗口在学习?而不是直接学习《如何实现类似知乎的发布问题功能》
显然你读懂一篇英文课文之前,你总得认识单词。你连单词都不认识,怎么做阅读理解呢?学习Java能做很多东西,你日常用到的APP/浏览的网页背后很可能就是用Java写的代码。
总之,学习Java了可以能让你了解一个网站和APP的基本运行原理,点了一个按钮会发生什么,为什么会这样。
知道为什么今年淘宝双十一在添加购物车的时候,有时会出现失败 知道为什么我在查飞机票的时候,查不到信息 知道为什么..
看书还是看视频
我是建议零基础看视频入门的,原因有以下:
-
大部分零基础学Java的同学都没有比较好的理解能力,看视频可以帮助你快速入门(视频可以加速观看)
-
避免踩坑。书上讲的知识点的确是非常全,但有两个问题:
-
①初学者抓不到重点,可能对着细小的知识点猛学一顿,发现这个知识并没多大的卵用。
-
②初学者不知道学习路线。看书不是完完整整从头看到尾的,很可能书上一段的知识点现在已经没用了,但是你还是费劲去学(比如AWT SWING 现在就用得很少了,但书还是有大篇幅去讲解,如果你顺着学可能就浪费很多时间在里边)
看视频能让你
抓住重点,快速了解知识点
。但总的来说是
因人而异
,有的人理解能力就是好,看书就很快就学会了。
知识点太多,学完就忘,记不住
要明确的是,我们写代码的不是背书,不是让你将所有的API给记下来。现在开发工具,提示功能已经是比较好的了。在工作的时候忘了,也可以查百度/Google。
我们并不需要把所有的东西给记下来,重要的是:
我们知道有这项技术,这项技术能帮我们解决掉什么问题
。
所以,在学习一项技术之前,必须要知道
为什么
。为什么需要学习这项技术,不学的话行不行。学了这项技术,我能解决什么问题。
如果不理解为什么要学习某项技术,就去学用法和API。我认为如果隔一阵子不用,的确是会忘记的。
比如说,如何你连“为什么要用多线程”你都无法用通俗的话来解释清楚。即便你 当时 学习的时候知道多线程可以用xxx方式来创建,多线程的xxx的api。那再过两个月,人家问你”Java多线程有什么用啊?”。 你想想你还能答什么,我认为你是记不住“多线程可以用xxx方式来创建、多线程的xxx的api”这些知识点了。
-
如果你不知道学习某项技术是干嘛用的,那先不要学
-
如果你不知道学习某项技术是干嘛用的,那先不要学
-
如果你不知道学习某项技术是干嘛用的,那先不要学
重点的东西可以
写笔记
记录下来(这个也是因人而异,我身边的大佬很多也不写笔记。但是我是推崇写笔记的)。
哪些需要重点学习,工作常用的知识点
我简单整理了一下画成了思维导图:
总结一下我认为学习Java的路线:
-
Java基础-->流程控制-->面向对象(包括Java语法)-->Java集合-->Java IO流-->异常-->多线程-->网络编程-->反射
-
JavaWeb基础-->HTML/CSS/JavaScript/jQuery-->Tomcat-->XML/注解->Servlet-->HTTP-->Filter过滤器和监听器-->JSP-->AJAX/JSON-->数据库(MySQL)-->JDBC和DbUtils
-
项目管理和框架-->Maven-->SpringBoot
-
Linux基本命令
最后我们的项目是这样的:
-
以Maven来管理我们的项目
-
前端通过BootStrap来搭建页面框架
-
SpringBoot来搭建Java后端环境,SpringMVC处理前端请求(SpringBoot整合了)
-
DAO层使用DbUtils组件来完成,MySQL作为数据库
怎么样才能找到工作
只要你能从零把一个项目搭建起来,能运行在服务器上。用上的技术还不烂,那我认为就可以找到Java的工作了。
其实学完上面的,认认真真花一个月从零自己写一个达到找工作的门槛是不难的。但面试之前是一定需要
刷面试题
的。
如果还是学生的同学一定一定要参加校招,一定一定要刷算法题,巩固计算机网络、操作系统、数据库的基础。
如果还是学生的同学一定一定要参加校招,一定一定要刷算法题,巩固计算机网络、操作系统、数据库的基础。
如果还是学生的同学一定一定要参加校招,一定一定要刷算法题,巩固计算机网络、操作系统、数据库的基础。
原作者:
Java3y
来源:https://segmentfault.com/a/1190000021667206
坚持坚持坚持学习就肯定能找到工作!
喜欢的伙伴点赞关注一下哦
来源:oschina
链接:https://my.oschina.net/u/4439493/blog/3165468