龙空技术网

Java学到什么程度才能叫精通?学多久可以找工作?

南京网博教育 112

前言:

当前大家对“java一年经验什么水平”都比较着重,姐妹们都需要知道一些“java一年经验什么水平”的相关知识。那么小编在网摘上搜集了一些关于“java一年经验什么水平””的相关知识,希望看官们能喜欢,大家快快来学习一下吧!

很多想学习系统学习Java的朋友,经常会问一个问题,就是Java学到什么地步才能算得上精通?学到什么程度才可以找工作?

今天,我们就从Java不同学习阶段需要学习的主流技术,来看下怎么样才算精通。

第一阶段:基础阶段

首先Java的的第一个学习阶段就是基础知识的学习,这个阶段是入门阶段主要需要学习的是如下的知识:

1.计算机基础:

这部分内容是计算机相关专业同学的课程,但是非科班的小伙伴就需要时间恶补了。特别是计算机网络,操作系统,数据结构这三门课程。

至于编译原理,个人大概懂一点就行了,只需要知道简单的概念和相关的内容,并不是特别重要。

2.Java基础:

这里的Java基础包括基本语法,集合类框架,以及一些高级特性,比如反射,注解等等。

Java基础的知识点非常多,所以要真正搞懂也没有那么简单。另外,随着时间推移,一些新特性也需要得到我们的重视,比如JDK新版本的特性。

3.设计模式:

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。

4.Java Web技术:

Java Web技术包括J2EE,以及web框架,乃至一系列常用的组件。

J2EE主要包括的就是servlet,jsp这些比较复古的web开发组件了。虽然现在直接用它们的情况比较少,但是我们还是需要花一些时间去掌握它们的。

web框架常用的就是Spring了,相应的,hibernate和mybatis也需要了解一下。

同时,JavaWeb开发时的常用类库,比如jnuit单元测试,log4j日志工具,以及构建工具maven,都属于我们要掌握的范畴。

最后,要注意的是,Web相关的一些基本知识,比如HTTP协议,网络安全基础,也是我们要考虑的部分。

第二阶段:进阶阶段

当学习完第一阶段的基础后,下面就是进阶阶段,这个阶段主要需要学习各种主流的框架使用与原理,需要学习的的知识如下:

1.spring:

Spring是一个分层的 full-stack(一站式)轻量级框架,以Ioc(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切片编程)为内核,使用简单的JavaBean来完成以前只能由EJB(Enterprise Java Beans)完成的工作,取代了臃肿、低效的EJB。Spring致力于JavaEE应用各层的解决方案,是企业应用一站式开发很好的选择,在表现层它提供了Spring MVC以及整合Struts的功能,在业务逻辑层可以管理事务、记录日志等,在持久层可以整合Hibernate、Mybatis等框架。虽然Spring贯穿表现层、业务逻辑层、持久层,但Spring并不是要取代那些已有的优秀框架,而是可以高度开放的与其它优秀框架无缝整合。

2.SpringMVC:

SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的。理解是servlet的一个升级,web开发底层是servlet , 框架是在servlet基础上面加入一些功能,让你做web开发方便。

3.Mybatis:

Mybatis是Apache的一个Java开源项目,是一个支持动态Sql语句的持久层框架。Mybatis可以将Sql语句配置在XML文件中,避免将Sql语句硬编码在Java类中。与JDBC相比:

1.Mybatis通过参数映射方式,可以将参数灵活的配置在SQL语句中的配置文件中,避免在Java类中配置参数(JDBC)

2.Mybatis通过输出映射机制,将结果集的检索自动映射成相应的Java对象,避免对结果集手工检索(JDBC)

3.Mybatis可以通过Xml配置文件对数据库连接进行管理

4.SpringBoot:

Spring Boot 是用来简化 Spring 搭建和开发过程的全新框架。Spring Boot 去除了大量的 xml 配置文件,简化了复杂的依赖管理,配合各种 starter 使用,基本上可以做到自动化配置。Spring 可以做的事情,现在就用 Spring boot 都可以做。

5.SpringCloud:

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

第三阶段:精通阶段

最后想要精通Java必须掌握如下知识。

1.Java并发技术

Java的并发技术泛指Java的多线程技术,以及JUC包里的并发类,比如线程池,并发工具类,阻塞队列等等。

Java并发技术完全可以独立出来学习,是Java进阶知识的一大重点。

2.Java网络编程和服务器

这一块内容是Java中比较复杂但也很重要的一块内容。比如BIO,NIO,AIO的一些使用和原理,以及tomcat这类web服务器,甚至是netty这种网络编程框架,都是可以去了解和学习的内容。

3.Jvm基础与调优

JVM是提供Java程序运行的一个进程,学习JVM知识,也是我们的必经之路。除了看懂《深入理解jvm虚拟机》以外,我们还要学习的内容就是JVM调优,使用合适的工具诊断问题,最后解决问题。

这部分内容在面试中呈现的不仅仅是GC,内存分区,以及类加载器,也包括了我所说的JVM调优问题。

4.分布式

最后一个部分,也是内容最多,覆盖面最广泛的部分了。分布式相关的技术实在太多了,我们这里也会做一下简单的归纳。

(1)web架构

先了解web架构的发展会对分布式的学习有更好的理解,毕竟架构的发展也对应着分布式技术的发展。

(2)分布式理论

这部分内容包括分布式的发展演化,base理论和cap理论等等,学习分布式技术之前,最好能对这部分概念有一定了解。

(3)一致性问题

强一致性的解决方案:事务和锁,弱一致性的方案:消息队列。

(4)分布式session

一个常见的问题,也有多种解决方案

(5)分布式缓存

和上面说得缓存一样,只不过这里侧重缓存的分布式方案

(6)分布式数据库

这里指的数据库的分布式方案,也包括hbase这种分布式数据库。

(7)负载均衡

负载均衡也是一个值得探讨的话题,一般我们讨论的是七层和四层负载均衡。

(8)消息队列

消息队列是一个比较复杂的分布式组件,我们可以了解常用消息队列比如amq,kafka等的实现。

(9)服务化

服务化的核心包括rpc,服务注册中心等等。分布式服务相关技术也是后端同学必须掌握的内容。

以上,便是Java不同学习阶段需要学习的主流技术。在学习理论知识之外,同学们还需要结合理论不断去实践练习,才能真正学好java,找到一份好工作。

【网博教育】成立于1996年,至今已有26年时间。从06年开始专注于IT职业教育,办学历史悠久,具有正规的办学资质。多年来深耕长三角地区,且始终坚持线下面授的教学方式和小班制的管理模式。在南京有多个校区,累计上万名学生从网博毕业,非常适合作为零基础小白学习java的第一站。

通过网博java课程的学习,你可以系统掌握Java开发和大数据的专业知识技能和项目实战经验,完成从零基础小白到高薪程序员的华丽转身。

标签: #java一年经验什么水平