java学不进去怎么办?
Ⓕ≊java学不进去怎么办?
学不进去很多时候是因为没有一个可以短期实现的目标,以及没有一套完整的体系。你按照下面这个我们出的最新体系学就会改善很多,学习过程似懂非懂,那就好好梳理,没有条理的知识利用率不会超过50%。
另外下面的一些资源,关注我私聊发送“中级程序员”就能获得了哦。
一、Java基础
JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。
在Java基础板块中有6个子模块的学习:
基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发,提高程序效率;异常,编写代码逻辑更加健全;网络编程,应用服务器学习基础,完成数据的远程传输。学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。配套学习视频:
Java教程|Java基础班-小白的福音(冯老师)
二、数据库
数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。用于对交互过程中客户的数据进行存储。
该板块包括关系型数据库和非关系型数据库。
例如:MySQL、oracle、redis、MongoDB等。数据库学习完毕后,可以将数据存储到数据库中,也可以通过SQL语句从数据库中查询数据,结合Java项目可以实现动态站点的数据的保存。
技术树
配套学习视频:
5天玩转MySQL
Sharding-JDBC从入门到精通
java进阶教程4天oracle快速入门
三、前端技术
Javaweb阶段包括前端、数据库和动态网页。Javaweb是互联网项目的入门课程,是学习后面高进阶课程的基础。
首先,我们先看一下前端板块。该板块主要包括如下几个模块:
HTML5,网页制作标记语言;CSS,对HTML制作网页进行美化;JavaScript,嵌入在页面中的脚本语言,具备逻辑性;Vue,前端框架,简化了与服务器端交互的操作,用户良好的交互体验是必不可少的。学习前端技术后,可以完成类似京东、淘宝的前端工程的编写。
技术树
配套学习视频:
Ajax从入门到精通|黑马程序员
2018年Vue.js深入浅出教程
PHP HTML+CSS+JavaScript教程
零基础玩转微信小程序
四、动态网页技术
动态网页是中级程序员服务器端编程的基础,是高级框架学习的必备课程,后期学习的框架、服务底层都是基于动态网页技术之上的。
该板块包括Javaweb核心技术、包括Servlet、Request、Response、Cookie和Session等,通过这些技术的学习可以完成动态站点开发,可更好的完成服务器端与客户的交互,让页面的数据“动”起来,做出小型的应用系统。
技术树
配套学习视频:
JavaWeb教程_JavaWeb入门教程|黑马程序员
servlet4.0新特性
五、编程强化
编程强化是对解决实际问题方面做一个深入的了解和应用,是对JavaSE基础的加强,对后期自动以框架和对一些服务框架的底层理解做支撑。
编程强化板块主要包括如下几个模块:多线程高级、涉及线程内存、线程通信等;JVM优化,对JVM底层进行调优来提高项目执行效率;NIO,同步非阻塞IO来提高效率。
学习该阶段,可以对原有项目进行优化从而使程序更快更稳定。
技术树
配套学习视频:
Java多线程与并发库高级应用
java程序算法与实际运用--刘意老师
匠心之作java基础强化之JVM内存结构
匠心之作java基础强化之强转溢出&浮点数运算精讲
六、软件项目管理
JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。
在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发,提高程序效率;异常,编写代码逻辑更加健全;网络编程,应用服务器学习基础,完成数据的远程传输。
学习该阶段,可以完成一些简单的管理系统、坦克大战游戏、QQ通信等。
技术树
配套学习视频:
Maven教程_Maven视频教程|黑马程序员
Git零基础入门到实战详解
七、热门技术框架
使用Javaweb进行企业级开发是完全可以的,但是开发效率比较低,所以对常用的逻辑操作进行封装就形成了框架,因此框架是企业开发的入门技能。
热门框架板块主流框架有如下几个:Spring框架,占据统治地位,其生态系统涉及各个方面解决方案;MyBatis框架,使用ORM思想对数据库进行操作。
该板块学习后,就可以进行真实企业级项目开发了,做出的项目也会更加符合企业要求。
技术树
配套学习视频:
Java教程|Springmvc由浅入深教程
java进阶教程Mybatis由浅入深教程
JPA教程_JPA视频教程|黑马程序员
数据层全栈方案 SpringData 高级应用
八、分布式架构方案
随着互联网的发展,业务的复杂性和用户的体验性都需要提高,所以分布式架构出现了。该板块主要讲解的是分布式架构的相关解决方案。
主要包括如下模块:Dubbo,高性能的 RPC 服务发布和调用框架;SpringBoot,简化Spring应用的初始搭建以及开发过程;Spring Cloud,一系列框架的有序集合,如服务发现注册、配置中心、负载均衡、断路器、数据监控等。
该板块的学习,可以具备大型互联网项目开发的必备技术和实际经验,为进入BATJ打下基础
技术树配套学习视频:
java中级程序员教程快速入门Zookeeper+dubbo
两小时由浅入深搞定springboot
4天从浅入深精通SpringCloud 微服务架构
九、服务器中间件
中间件板块是大型互联网项目中必备的。服务中间件可以帮助各子模块间实现互相访问,消息共享或统一访问等功能。其包括远程服务框架中间件,例如阿里(Apache)的RPC框架Dubbo等;消息队列中间件,例如:阿里巴巴开源分布式中间件RocketMQ、高吞吐量消息发布和流处理服务Kafka等。
学习服务中间件是中级JavaEE工程师必要技术,也是JavaEE架构师必须精通的技术。
技术树
配套学习视频:
MongoDB基础入门到高级进阶
REDIS高级应用:使用redis消息队列完成秒杀过期订单处理
十、服务器技术
不管是使用原生Javaweb进行开发,还是使用框架进行开发,项目最终需要对外发布才能供全世界的人访问到,而服务器板块就可以解决这个问题,所以服务器是项目发布的必要技术。该板块包括虚拟化和web应用服务器的学习,主要包括如下几个模块:Vmware,虚拟机软件;Linux,专门用于服务器的系统;Nginx,集群部署时反向代理服务器;Tomcat,项目发布时主要使用的服务器。
该板块学习后,我们就可以把开发好的项目发布到服务器中,然后供你的小伙伴远程访问了,超酷!
技术树
配套学习视频:
高可用的并发解决方案nginx+keepalived
Linux运维189讲系统教程
服务器tomcat(Java开发必会)
利刃出鞘-Tomcat核心原理解析
十一、容器技术
容器化技术是近两年超级火的一个专题,通过容器化技术可以对环境进行打包,方便移植,大大提高了开发效率。该板块包括容器化技术Docker和其平台管理引擎Kubernetes,其中,Docker 是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。而Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效。通过该板块的学习,你可以通过上述技术快速搭建环境,节省开发时间,提高开发效率。
技术树
配套学习视频:
深入解析docker容器化技术
十二、业务解决方案
虽然我们已经具备了基础技术和高阶技术,但是要想与企业开发相接轨,还需要对实际项目的业务解决方案进行探究。而此版块就是在实际业务场景中的真实解决方案集合,常用的业务解决方案有如下:搜索业务场景解决方案、日志收集与分析场景解决方案、工作流引擎场景解决方案、任务调度场景解决方案、地图开发平台场景解决方案、支付开放平台场景解决方案、图表可视化场景解决方案。通过分析实际业务来学习这个解决方案技术集,完全可以达到中级甚至高级工程师水平。
技术树
好了,学习线路图分享到这里, 如果有最新学习视频,我会继续更新!
不要忘记关注私聊发送“中级程序员”领取资料了哦
↗Ⓦjava学不进去怎么办?
一、学什么
1. 基础与应用
近些年诞生了许多新技术,比如最时髦的AI(目前还在智障阶段),数学基础是初中就接触过的概率统计。万丈高楼从地起,不要被新工具或者中间件迷住双眼,一味地追新求快。基础知识是所有技术的基石,在未来很长的时间都不会变化,应该花费足够的时间巩固基础。
以数据结构和算法为例,大家阅读一下Java的BitSet的源码,里面有大量的移位操作,移位运算掌握的好,看这份源码就没问题。Java同步工具类AQS用到了双向链表,链表知识不过关,肯定搞不懂它的原理。互联网大厂都喜欢考算法,为了通过面试也要精通算法。
以Java工程师应该掌握的知识为例,按重要程度排出六个梯度:
第一梯度:计算机组成原理、数据结构和算法、网络通信原理、操作系统原理;第二梯度:Java基础、JVM内存模型和GC算法、JVM性能调优、JDK工具、设计模式;第三梯度:Spring系列、Mybatis、Dubbo等主流框架的运用和原理;第四梯度:MySQL(含SQL编程)、Redis、RabbitMQ/RocketMQ/Kafka、ZooKeeper等数据库或者中间件的运用和原理;第五梯度:CAP理论、BASE理论、Paxos和Raft算法等其他分布式理论;第六梯度:容器化、大数据、AI、区块链等等前沿技术理论;有同学认为第五梯度应该在移到第一梯度。其实很多小公司的日活犹如古天乐一样平平无奇,离大型分布式架构还远得很。学习框架和中间件的时候,顺手掌握分布式理论,效果更好。
2. 广度与深度
许多公司的招聘JD没有设定技术人员年龄门槛,但是会加上一句“具备与年龄相当的知识的广度与深度”。多广才算广,多深才算深?这是很主观的话题,这里不展开讨论。
如何变得更广更深呢?突破收入上升的瓶颈,发掘自己真正的兴趣。
大多数人只是公司的普通职员,收入上升的瓶颈就是升职加薪。许多IT公司会对技术人员有个评级,如果你的评级不高,那就依照晋级章程努力升级。如果你在一个小公司,收入一般,发展前景不明,准备大厂的面试就是最好的学习过程。在这些过程中,你必然学习更多知识,变得更广更深。
个人兴趣是前进的动力之一,许多知名开源项目都源于作者的兴趣。个人兴趣并不局限技术领域,可以是其他学科。我有个朋友喜欢玩山地自行车,还给一些做自行车话题的自媒体投稿。久而久之,居然能够写一手好文章了,我相信他也能写好技术文档。
3. 哲学
哲学不是故作高深的学科,它的现实意义就是解决问题。年轻小
伙是怎么泡妞的?三天两头花不断,大庭广众跪求爱。这类套路为什么总是能成功呢?礼物满足女人的物欲,当众求爱满足女人的虚荣心,投其所好。食堂大妈打菜的手越来越抖,辣子鸡丁变成辣子辣丁,为什么呢?食堂要控制成本,直接提价会惹众怒。
科学上的哲学,一般指研究事物发展的规律,归纳终极的解决方案。软件行业充满哲学味道的作品非常多,比如《人月神话》。举个例子,当软件系统遇到性能问题,尝试下面两种哲学思想提升性能:
空间换时间:比如引入缓存,消耗额外的存储提高响应速度。时间换空间:比如大文件的分片处理,分段处理后再汇总结果。设计稳健高可用的系统,尝试从三个方面考虑问题:
存储:数据会丢失吗,数据一致性怎么解决。计算:计算怎么扩容,应用允许任意增加节点吗。传输:网络中断或拥塞怎么办。从无数的失败或者成功的经验中,总结出高度概括性的方案,让我们下一步做的更好。
4. 英语
英语是极为重要的基础,学好英语与掌握编程语言一样重要。且不说外企对英语的要求,许多知名博客就是把英文翻译成中文,充当知识的搬运工。如果英语足够好,直接阅读一手英语资料,避免他人翻译存在的谬误。
二、怎么学
1. 知识体系
体系化的知识比零散的更容易记忆和理解,这正如一部好的电视剧,剧情环环相扣才能吸引观众。建议大家使用思维导图罗列知识点,构建体系结构,如下图所示:
2. 克服遗忘
高中是我们知识的巅峰时刻,每周小考每月大考,教辅资料堆成山,地狱式的反复操练强化记忆。复习是对抗遗忘的唯一办法。大脑的遗忘是有规律的,先快后慢。一天后,学到的知识只剩下原来的25%,甚至更低。随着时间的推移,遗忘的速度减慢,遗忘的数量也就减少。
每个人的遗忘程度都不一样,建议第二天复习前一天的内容,七天后复习这段时间的所有内容。
3. 碎片时间
不少朋友利用碎片时间学习,比如在公交上看公众号的推送。其实我们都高估了自己的抗干扰能力,如果处在嘈杂的环境,注意力容易被打断,记忆留存度也很低。碎片时间适合学习简单孤立的知识点,比如链表的定义与实现。
学习复杂的知识,需要大段的连续时间。图书馆是个好地方,安静氛围好。手机放一边,不要理会QQ微信,最好阅读纸质书,泡上一整天。有些城市出现了付费自习室,提供格子间、茶水等等,也是非常好的选择。
三、用起来
1. 技术分享
从下面这张图我们可以看到,教授他人是知识留存率最高的方式。
准备PPT和演讲内容,给同事来一场技术分享。不光复习知识,还锻炼口才。曾经有个同事说话又快又急,口头禅也多,比如"对吧、是不是”,别人经常听不清,但是他本人不以为然。领导让他做了几次技术分享,听众的反应可想而知,他才彻底认清缺点。
坚持写技术博客,别在意你写的东西在网上已经重复千百遍。当自己动手的时候,才会意识到眼高手低。让文章读起来流畅清晰,需要呕心沥血的删改。写作是对大脑的长期考验,想不到肯定写不出,想不清楚肯定写不清楚。
2. 造个轮子
我们经常说不要重复造轮子。为了开发效率,可以不造轮子,但是必须具备造轮子的能力。建议造一个简单的MQ,你能用到通信协议、设计模式、队列等许多知识。在造轮子的过程中,你会频繁的翻阅各种手册或者博客,这就是用输出倒逼输入。
ⒷⓌjava学不进去怎么办?
学不进。那就是不够认真。要么就是不够很认真,再则除非思维很差。那就换行吧
❆❦java学不进去怎么办?
要么努力努力再努力,要么考虑改行了
Ⓢ┬java学不进去怎么办?
我也是自学的,学了有2年多,白天上班,晚上回家就学习,java基础一定要学好,不然后面都是扯。在学数据库 JAVA web 然后学ssm框架。学完这些一边做项目,一边学并发编程,设计模式,数据结构和数法和jvm,不需要深。spingboot前后端分离项目和微服务项目做一边
------------------
推荐阅读:
九指神丐洪七公因为贪吃误了大事,所以自断一根手指,到底误了什么事?