java入门难吗,实在是不会?

基础阶段:Java语法、集合、反射、多线程等构建工具:Maven、GradleJavaEE:Spring、SpringMvc、SpringBoot等数据库:这里推荐MySql,ORM框架推荐MyBatis和MyBatis-Plus源代码管理:GitJava进阶:数据结构、设计模式、JUC、JVM、NettyJava高级:RocketMQ、Redis、ELK、分布式原理、SpringCloud、架构设计、源码分析(Spring、MyBatis等)等基础提升:操作系统、组成原理、编译原理写了一篇帖子介绍学习Java的线路图,有对应的B站视频推荐,都是免费的,可以参考下。另外https://roadmap.sh/ 这个网站上有Java学习线路图(下图),也可以参考下。点击对应的项可以跳转到学习文档或学习视频。roadmap上不仅有Java的学习线路图还有Python,前端,机器学习等。基本上涵盖了大多数计算机技术。可以作为参考学习。}
我整理了一下初学Java时常遇到的问题,不多BB开始吧看到了这个问题,就想起了我在大学自学的时候有同样的问题,现在工作了,来写写自己的看法,希望对广大的初学者有所帮助。注:本文非常适合零基础初学者观看如果别人让我介绍我是做什么工作内容的,我可能会用以下的方式告诉他(不知道学Java可以干些什么,可能就不知道下面的流程是怎么样的):“你可以掏出手机,打开微信”“我们都是玩微信的人,要进入微信先得有个账户,所以要先注册““注册实际上就是把你的账号和密码「保存」起来”。“如果你注册成功了,那~~小本本~~「数据库」就有你的账号和密码了。等你登录的时候,就去~~小本本~~「数据库」查一下你输入的账号和密码是否匹配”“看到这里,有没有觉得「程序员」真是容易当,不就把输入的数据记录下小本本,等用到的时候再查一下而已嘛。其实不然,就好比微信的注册页面,拿IOS系统来说,从IOS 6 到现在的IOS 12已经有6个版本了。Iphone手机屏幕的尺寸也一直在变,从3.5英寸到现在的6.5英寸。微信团队需要对不同的「版本」,不同的「屏幕大小」进行兼容,让iPhone4s还是iPhoneXS Max都能用上微信。(起码在不同的手机上,看到的注册功能都是完整的,而不是东一块西一块不整齐的)”“还比如说,~~小本本~~「数据库」记下的密码不能是你输入的「原始密码」。举个例子:某一天,一个在微信团队的小伙子拿到了存放账号和密码的~~小本本~~「数据库」,把~~小本本~~「数据库」的内容给公开了。(或者说一个黑客把微信给攻破了,然后公开~~小本本~~「数据库」),那岂不是谁都可以上我的微信号了?”“程序员们当然可以考虑到这点,他们会这样做,将你输入的密码进行「加密」存到~~小本本~~「数据库」中。无论是谁,拿到加密后的密码,都不能「反推」你原始输入的密码。”“所以,每次比对的都是加密后的密码”一个功能远远没有上面所讲的那么简单,可能一个小小的功能背后是一个大大的团队在支持...收藏等于白嫖,点赞关注才是真情!收藏等于白嫖,点赞关注才是真情!收藏等于白嫖,点赞关注才是真情!给我点赞是对我最大的帮助!我学习Java能做什么?如果题主能继续坚持学习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-->SpringBootLinux基本命令最后我们的项目是这样的:以Maven来管理我们的项目前端通过BootStrap来搭建页面框架SpringBoot来搭建Java后端环境,SpringMVC处理前端请求(SpringBoot整合了)DAO层使用DbUtils组件来完成,MySQL作为数据库怎么样才能找到工作只要你能从零把一个项目搭建起来,能运行在服务器上。用上的技术还不烂,那我认为就可以找到Java的工作了。其实学完上面的,认认真真花一个月从零自己写一个达到找工作的门槛是不难的。但面试之前是一定需要刷面试题的。如果还是学生的同学一定一定要参加校招,一定一定要刷算法题,巩固计算机网络、操作系统、数据库的基础。如果还是学生的同学一定一定要参加校招,一定一定要刷算法题,巩固计算机网络、操作系统、数据库的基础。如果还是学生的同学一定一定要参加校招,一定一定要刷算法题,巩固计算机网络、操作系统、数据库的基础。坚持坚持坚持学习就肯定能找到工作! 最近一直在连载《对线面试官》系列,目前已经连载38篇啦!一个说人话的系列!【对线面试官】HTTP【对线面试官】Java注解【对线面试官】Java泛型【对线面试官】 Java NIO【对线面试官】Java反射 && 动态代理【对线面试官】多线程基础【对线面试官】 CAS【对线面试官】synchronized【对线面试官】AQS&&ReentrantLock【对线面试官】线程池【对线面试官】ThreadLocal【对线面试官】CountDownLatch和CyclicBarrier【对线面试官】为什么需要Java内存模型?【对线面试官】深入浅出 Java 内存模型【对线面试官】Java从编译到执行,发生了什么?【对线面试官】双亲委派机制【对线面试官】JVM内存结构【对线面试官】垃圾回收机制【对线面试官】CMS垃圾回收器【对线面试官】G1垃圾收集器【对线面试官】JVM调优【对线面试官】List【对线面试官】Map【对线面试官】SpringMVC【对线面试官】Spring基础【对线面试官】SpringBean生命周期【对线面试官】Redis基础【对线面试官】Redis持久化【对线面试官】Redis主从架构【对线面试官】Redis分片集群【对线面试官】Kafka基础【对线面试官】使用Kafka会考虑什么问题?【对线面试官】MySQL索引【对线面试官】MySQL 事务&&锁机制&&MVCC【对线面试官】MySQL调优【对线面试官】如何实现幂等和去重?【对线面试官】系统需求多变时,如何设计【对线面试官】设计模式...【大厂面试知识点】、【简历模板】、【原创文章】电子书,共有1263页我把这些上传到网盘,你们有需要直接下载就好了。做到这份上了,不会还想白嫖吧?点赞和转发又不用钱。链接:pan.baidu.com/s/1pQTuKBYs… 密码:3wom收藏等于白嫖,点赞才是真情!}
其实题主的迷茫是正常的,学习完心里没底,其实当你真正入职参加工作之后,就会发现,之前学的陆续会用到,实践可以加速人的成长,建议题主还是要先找个工作,然后去接触实际的工作内容,来快速进步。作为程序员,可能经常会讨论有关求职面试、职业发展、升值加薪等话题,那么我们给大家带来了关于程序员求职面试与职业发展这门课程;我们公司的Cat老师在不同的公司待过很多年,对不同公司的招聘及技术面试都有所了解,同时也作为面试官面试过很多技术人员;那么在本套视频课程中,老师将把自己的一些经验、心得、体会、以及一些观察和思考,做了一个总结和梳理,以视频的方式分享给大家,希望能为大家解决一些有关求职面试及职业发展的困惑,能对大家有所帮助、有所启发;分享的大纲内容主要包括:1、个人努力和选择的问题2、如何制作符合市场的简历3、如何准备面试4、Java程序员高频面试问题既然你们的培训机构都给你看过黑马的编程视频,我们也算认识啦。今天黑马程序员就给你梳理一套自学到就业的方法。一、Java学习路线图入门:Java SE基础-->Java Web(含数据库+H5+js+vue)中级:Maven-->Git-->SSM框架 -->MybatisPlus-->Spring Boot-->传智健康【项目实战】进阶:Spring Cloud(微服务开发,学这一套就够了) 也可分技术点学: (Dubbo-->Zookeeper-->RabbitMQ-->RocketMQ-->Docker-->Redis -->MongoDB-->搜索技术Elasticsearch-->MySQL进阶)项目:SaaSiHRM【企业服务】-->好客租房【生活服务】-->万信金融【金融行业】-->闪聚支付【聚合支付】-->权限管理一体化解决方案-->短信网关平台以上技术,足以支撑找一份好的java开发工作。如想工作后再提升,页面底部还有30+套,工作后再学习提升的技术:【JDK8-15新特性】【编程强化】【数据库强化】【安全框架SpringSecurity】【报表技术】【模板引擎VelocityTools】【工作流Activiti7】…以上是文字版本的课程分享,下图是相关的全套知识点。题主这种情况,想要快速就业的话可以完了SSM框架,结合框架做一个项目。之后就梳理简历,先找一份实习工作。毕竟在职场上实际通过工作的学习,比自学更有用。二、学到什么程度找工作以题主这种情况,在校期间以及出去培训应该都学过Java相关的基础知识了。但是再开始后面的学习之前,还是可以把基础内容快速过一遍。推荐一套比较适合的课程:可以用1.5倍速播放课程,主要这套课程是采用一线大厂的真实需求驱动知识的学习。内置了大量的实战案例,可以保证大家的学练合一。学到能跑通一个项目就可以就业了:1、能跑的通一个spring boot项目;2、项目里的各种语言,不要一下就能看懂,但是对于不熟悉的语法和Api能够通过查询资料之后理解含义。3、spring boot项目运行启动之后,能够通过url请求拿到结果,发出url请求后,这个请求经过了哪些模块,是怎么访问的数据库,然后返回,处理中出现了异常怎么办。这些流程要明白。我说的是找到初级开发的工作。如果非要说还要去学习各种组件,比如redis或者是spring cloud alibaba组件等等。也没有说错,这些内容是提高竞争力的。能够达到我说的程度,就去参加面试,还可以通过面试中了解到大概什么级别的程序员会被问到其他分布式组件等问题。这样可以更有效的接下来的学习,绝对要比脱离了实际光听别人说要学什么,第一不知道自己的学习进度,第二不知道市场对初级开发的要求。总结一下来说,初学者可以会spring boot增删改查的技能之后就可以去面试了,通过面试得知自己缺啥补啥。三、Java学习的简历应该怎么写错误示范:信息提炼:基本信息,如果你有好的名牌学校就写上,其实学校并不是很有名,直接写学历和专业也是可以的。如果你有自己GitHub和博客一定要在简历里面体现,领导都喜欢爱学习爱总结分享的人。如果他对你简历有兴趣,还可以提前看一下你的分享。如果你是一个高产博主,可以写上原创技术文章xx。自我评价,很多人说不要写自我评价。觉得这个版块非常没有用。我认为恰恰相反,千篇一律的自我评价,什么认真啊踏实啊确实让人反感。但是如果可以写成【敏捷开发的忠实粉丝,单元测试驱动开发的实践者,曾主动重构代码】,【看书爱好者,年度目标5本书,已完成4本,正在看《领域驱动设计》】。有没有感觉这样的自我评价,就非常有意思?技能水平,大家看多了技术专家分享,对于精通、熟练掌握等词汇已经拿捏的非常好了。这里就一点希望大家注意,既然是要改变薪资而跳槽,那就注意人家的招聘需求!别写了一堆技能,和岗位匹配度却不高。项目经历,项目经历少就可以都罗列出来,项目经历多选择性罗列。有的人光写项目,却不想着写经历。经历是你在项目中做了什么。建议参考STAR原则,可以百度一下。另外别动不动就用英文缩写,写个ERP大家还能明白,写个SCF,what?(此处配图黑人问号脸)。完整内容参考:四、面试前去哪里刷题?力扣:https://leetcode-cn.com/problemset/all/牛客:https://www.nowcoder.com/趣IT官网-互联网求职刷题神器 比较推荐最后这个刷题网站,因为它包含了企业真题,还有各个阶段的能力测评、专项练习、面试题升中有一些求职人员的面经。在面试当中有一些答案基本就是固定,比如比如final在Java中有什么用?这类题只能通过背下来,做到熟能生巧。也有一些面试题是没有固定答案的,可以和同学一起模拟面试。【一些Java学习资源】Spring 官方社区(https://spring.io/projects/spring-boot)Mybatis官网文档 (https://mybatis.org/mybatis-3/zh/index.html)Mybatis-Spring文档介绍 (http://mybatis.org/spring/zh/index.html)Mybatis中文社区(非官方) (http://www.mybatis.cn/)SpringBoot中文社区(非官方)(https://springboot.io/)方志明的个人博客(SpringBoot,SpringCloud教程) https://www.fangzhipeng.com/)孤傲苍狼的Mybatis专栏:(https://www.cnblogs.com/xdp-gacl/category/655890.html)纯洁的微信SpringBoot Github仓库:(https://github.com/ityouknow/spring-boot-examples)除了以上框架,还要学习Java后端必学的安全框架(Shiro或者Spring Security,可以学习其一);Redis缓存,消息队列(选一种消息队列学习),后面有时间再学习其他中间件。还有一些想要给大家分享的,有一些针对初学者的内容:零基础学习编程,需要买一台什么配置的笔记本,三种语言Java,C/C++,Python从那开始?1年多经验的 Java 开发,该如何提升自己比较好?如果让你重新开始学计算机,你的学习路线会是怎么选择?作为一个程序员,有什么想对新人说的吗?Java开发如何知道自己是什么级别?有关2022年一些新的学习路线图:Java全栈0基础到入门,还有在职提升课: 2022年Java学习路线图上线!Python+大数据,全面更新课程以及学习路线:可以自学Python吗?专项技术学习之框架:Spring Boot 是否很难用?为什么?专项技术学习之框架:如何系统的阅读比较大的框架的源码,如spring mybatis 等?有关大学生的必读好文:大一计算机专业学生如何在寒假充电?测试还是前端你纠结吗?男27,想转行互联网,是学习软件测试好,还是前端编程?科班的你选择Java还是C++?大四实习学Java还是c++?对了,你会不会GitHub?玩转它必看:如何开始在 github 上学习东西?最后有一些真心话对你说:黑马程序员交2W学费的课程竟然在淘宝被人卖199,大家怎么看?无论你付费不付费,我们都希望成为你路上的撑伞人。学编程有任何问题找 @黑马程序员,有问必答,免费答疑!祝好,祝高薪!}

我要回帖

更多关于 学java 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信