您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
java学习零基础,几个月能掌握?
基础,项目,技术java学习零基础,几个月能掌握?
发布时间:2019-02-08加入收藏来源:互联网点击:
除此之外,如果你想要更好地理解Java网络编程,你还需要去了解Tomcat的实现原理。同时,Netty也是值得你去学习的一部分内容,最好有机会去用一用这一网络编程框架,学有余力的同学还可以考虑看看它的源码(笔者没有看)。
推荐资源:我的技术博客,《Java网络编程》,《你不可错过的Java学习资源》
05 Java8
Java的版本一直在更新,但目前在用的主要还是Java8和Java7,等再过几年可能这部分的内容就过时了。但是目前看来,对Java8的学习和了解还是很重要的,毕竟面试也喜欢考。
对这部分内容学习的最好方式就是:看文章+代码实践
推荐资源:《Java8实战》
06 总结
今天的内容貌似有点多,大家会不会感觉有点吃不消呢。没关系,因为这部分内容确实需要花很多时间去学习。对于一个在校的Java学习者来说,可能没有机会接触到多么高大上的项目,所以对内功的修炼显得格外重要。
看书,写demo,读源码,看似简单的事情实际上需要花费大量时间和精力,这个过程是需要你静下心来,慢慢沉淀的,在学习的过程中你也可以和笔者一样,写一些总结和博客,以便更好地回顾自己的学习历程。
总结以下今天所讲的内容吧:
1 计算机基础课程:数据结构,网络和操作系统 2 JVM基本原理 3 设计模式,JDK源码,Spring源码 4 Java并发技术,JUC源码 5 Java网络编程 6 Java8
如果你对上述内容仍有疑问或者有一些建议,也可以和我交流。 关注公众号后在后台回复“少侠”可以获得我的联系方式。欢迎来撩。
Java工程师学习指南
完结篇
先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦。
因为笔者还只是一名在校生,所以写的内容主要还是针对Java初学者或者接触Java后端不久的朋友,不适用于已经工作多年的Java大佬们。所以本文中的方法不一定适合所有人,如有错误还请谅解。
本期的内容是系列文章的最后一部分内容了。这个系列可能还有很多东西没有说清楚,也有很多内容被忽略了。但是这些内容也确实是笔者结合自己经验总结而成的,希望能对大家有用 ~ 当然如果有什么建议也可以随时和笔者交流。
上期回顾
上期我们重点介绍了Java工程师进阶所需要掌握的一些技术内容。特别对于即将参加校招的同学来说,最重要的也是这部分内容,你需要了解JVM虚拟机原理,Java并发原理,并且熟悉JDK的部分源码,了解这些API的底层实现。
之所以把这部分放在Java Web项目之后来讲,是因为我觉得,一开始做项目的时候你不可能已经掌握好上述内容了,所以你完全可以带着问题去做项目,再花时间去学习底层原理,这样你可以很好地结合你之前实践过的代码去理解那些底层技术了。
本期主题
本期主要介绍的是Java后端技术比较“高端”的一些内容,也就是我们经常聊的分布式,架构,缓存,消息队列等内容,另外我们也会介绍一些大后端相关的技术,比如云计算(OpenStack和docker),大数据(hadoop生态),以及一些常用的后端技术。
这些内容其实离我们并不远,只不过在平时的项目中可能用的比较少,所以作为学生党一般也只能通过一些文章或者书本去学习理论知识。那么基于这么一个情况,我们来谈谈怎么学习这部分的内容吧。
01 Web后端架构
Web后端架构
后端进阶第一步,先把Web架构相关的技术学好吧,因为之前大家都做过Java Web项目,想必对这块内容还是比较熟悉的吧。我们需要了解Web架构演化的历史,了解为什么要做服务器集群,为什么要用缓存,为什么要做拆分,做主从,以及为什么要有分布式。
推荐资源:《深入分析Java Web技术内幕》,《大型网站技术架构》
两本都是阿里大佬出的书,两位都是淘宝系的技术大牛。前一本书主要讲述的Java Web的一些技术基础,关于Web架构的内容比较少。
后一本则是李智慧大佬写的架构科普书籍,用非常简单易懂的语言写出了大型Web项目架构之美,分别着眼于高可用,高性能,高扩展等方面讲解了很多设计结构的原则和方法。这本书应该是Web架构小白最好的入门书籍了。
02 分布式理论基础
由于下面的内容或多或少都会涉及到分布式相关的知识,所以这一部分我们主要介绍一下有关分布式的基础知识。笔者对分布式的学习主要也停留在理论上,所以这里讲的也是一些理论的东西。
推荐资源:《从Paxos到zookeeper分布式一致性原理与实践》,我的技术博客专栏“分布式系统理论与实践”
这本书比较好地科普了分布式基础知识,也介绍了zookeeper的原理和使用。了解zookeeper是了解分布式技术很重要的一个环节。
1 CAP 和 BASE
谈分布式就要谈CAP,一致性,高可用,网络分区容忍性为何只能三选二,为什么网络分区容忍性必须要被考虑。CAP在实际应用中真的可靠么?
BASE出现的原因,为什么BASE更容易实现,更适合实际应用,BASE可以通过哪些技术去实现呢?
2 一致性协议和算法
一致性协议也是分布式理论的一个重点,2PC,3PC,分别指的是什么,其中分别有什么问题。3PC解决了2PC的一个问题,却仍然不完美。
Paxos和Raft两种一致性算法,显然前者比后者复杂得多,但是Raft可能更加实用。为什么我们需要一致性算法,它们又有什么用呢。
3 分布式事务和最终一致性
分布式事务是一个复杂的概念,主要指分布式系统中需要强一致场景时所用到的事务。理解和实现它都不是简单的事情。
如果我们退而求其次,不要求强一致性,而选择最终一致性,则可以用更加灵活的方案,比如事务消息。
03 常见分布式技术
推荐资源:《从Paxos到zookeeper分布式一致性原理与实践》,我的技术博客专栏“分布式系统理论与实践”,《深入理解Spring Cloud与微服务构建》,《分布式服务框架原理与实践》。
1 zookeeper
上文说到zookeeper是分布式技术很重要的一块内容,这是因为zookeeper用于管理和协调分布式组件,虽然它出自hadoop生态,却用于很多应用当中,基本上有分布式的地方就有zk的存在。
简单说来,zk可以提供全局统一的节点树结构,通过节点来管理资源,同时zk自身是使用集群方式部署的,所以保证自己是高可用的。根据这一特点,它可以作为服务注册中心,还可以实现分布式锁等功能。
2 分布式服务
分布式服务是一个挺有意思的东西,也很常用,简单来说,就是把服务组件部署在不同节点上,通过rpc的方式访问,为了实现这一功能,我们需要考虑通信协议,序列化方式,进一步来说,我们还要了解如何做服务注册和发现,以及如何做限流,做服务熔断和降级,等等等等。
常见的分布式服务框架有dubbo,以及Spring Cloud这类产品,学会使用他们,然后了解它们的底层实现原理,相信会是一个很有趣的过程。
3 负载均衡
关于负载均衡,说起来其实很简单,就是把一组请求分成多组,按照某种规则分发到多台服务器上。
上一篇:IT培训机构之后还好找工作吗?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |