【云驻共创】学习Java,想要达到胜任常规工作需要掌握哪些技术(建议收藏)

举报
小小张自由--张有博 发表于 2021/12/22 20:29:25 2021/12/22
【摘要】 【云驻共创】学习Java,想要达到胜任常规工作需要掌握哪些技术(建议收藏)

学习Java,都是为了找一个好工作,那我们看看现在Java岗位需要具备的Java技术有哪些,通过查询公司的用人需要,去推导我们需要掌握的技术。

这是北京某公司的招聘要求,月薪7-11K


1、熟练掌握Java、Java Web基础,具备面向对象编程思想;

2、熟练使用Oracle、MySQL数据库,具备较强的SQL语句编写能力,具备数据库方面优化经验者优先;

3、熟练掌握Spring、SpringMVC、Mybatis、Springboot等技术框架;

4、具备较强的学习能力,能吃苦耐劳。

下面我们就挨个剖析一下,学习java要掌握的常规技术。

1、熟练掌握Java、Java Web基础,具备面向对象编程思想

入门

Java基础阶段我们要学习Java语言的语法,常量、变量、方法、类等。学习流程控制语句:顺序结构、选择结构、循环结构。常见的运算符:算术运算符、赋值运算符、比较运算符等。学习基本数据类型:“四类八种”char、boolean、byte、short、int、long、float、double。

Java是一门面向对象的语言,接下来就要学习Java我们要知道面向对象的三大要素:封装、继承、多态。

学完这些就要学习一些进阶性的内容了,比如说业务开发中我们常用的类、API等,能使用Java的八种基本数据类型的包装类,进行数据处理。

入门了解一些数据结构、集合:List,Set,Map等,能对数据进行结构化和非结构化分析,熟练运用 List、Set、Map 等接口及其子类存取复杂数据对象。

线程肯定也要学习的啦,这是我们解决并发的基础、学习多线程的运行原理、Thread类的API,以及如何线程安全问题,能进行线程优先级的设置和获取,能运用多线程的基本调度方法进行线程调度。

学习处理文件的类File类、字节流、字符流、缓冲流、序列化,能够使用字节流和字符流的具体方法进行编程,能够使用对象序列化和反序列化实现完成序列化传输需求。

在学习网络编程的一些知识,通过ip+端口+协议利用进行基础的网络编程,能熟悉用于UDP、TCP进行开发。学到这里Java的基础阶段就要学完了。

一些链接供大家学习:

面向对象: https://bbs.huaweicloud.com/blogs/312986

Java常用类:https://bbs.huaweicloud.com/blogs/312985

集合框架:https://bbs.huaweicloud.com/blogs/312833

异常机制:https://bbs.huaweicloud.com/blogs/312832

多线程:https://bbs.huaweicloud.com/blogs/312831

网络编程:https://bbs.huaweicloud.com/blogs/312830

进阶

学完Java基础,也就是J2SE,后面就要学习J2EE了,这部分重点是JavaWeb的内容,学习Web之前首先要知道HTML,CSS,JavaScript的内容,这仨被称为前端三剑客,学习JavaWeb就是配合三剑客工作。

1. HTML 定义了网页的内容

2. CSS 描述了网页的布局

3. JavaScript 网页的行为

学习完“三剑客”之后,就要学习Java的内容了。

Tomcat:Tomcat是APACHE 软件基金会(APACHE SOFTWARE FOUNDATION)的JAKARTA 项目中的一个核心项目,由APACHE、SUN 和其他一些公司及个人共同开发而成。因为TOMCAT 技术先进、性能稳定,而且免费,因而深受JAVA 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的WEB 应用服务器。

Servlet:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

HTTP协议:HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

Request:客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

Response响应信息由Web服务器发送给浏览器,HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

这些内容是Web框架的基础、要学习透彻、清晰。之后才能学懂框架。

2、熟练使用Oracle、MySQL数据库,具备较强的SQL语句编写能力,具备数据库方面优化经验者优先

能遵循三大范式进行数据库表设计;

第一范式(1NF):每一列都是不可分割的原子数据项

第二范式:在1NF基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)

第三范式(3NF):在2NF的基础上,任何的非主属性不依赖于其他非主属性 (在第二范式基础上消除传递依赖)

能熟练的进行表的创建和管理、约束的管理和表数据的CRUD操作,能编写SQL对数据进行内连接查询、外连接查询、自连接查询、子查询和分页查询等;

基本业务的CRUD,是每一个程序员必须要掌握。但是要在基本的CRUD上要有所进步,就需要苦练复杂查询、使用复杂查询能够提高查询数据,当然很大的技巧。比如说 select子句中尽量避免使用*, where子句比较符号左侧避免函数,尽量避免使用in和not in, 尽量避免使用or等等。

3、熟练掌握Spring,SpringMVC、Mybatis、Springboot、SpringCloud,等技术框架

学懂Spring家族的框架是每一个Java程序员的必修课。

Spring

Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。

核心容器(Core Container):Spring的核心容器是其他模块建立的基础,有Spring-core、Spring-beans、Spring-context、Spring-context-support和Spring-expression(String表达式语言)等模块组成

数据访问/集成(Data Access)层:数据访问/集成层由JDBC、ORM、OXM、JMS和事务模块组成。

Web层:Web层由Spring-web、Spring-webmvc、Spring-websocket和Portlet模块组成。

AOP(Aspect Oriented Programming)模块:提供了一个符合AOP要求的面向切面的编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以便干净地解耦。

植入(Instrumentation)模块:提供了类植入(Instrumentation)支持和类加载器的实现,可以在特定的应用服务器中使用。

消息传输(Messaging):Spring4.0以后新增了消息(Spring-messaging)模块,该模块提供了对消息传递体系结构和协议的支持。

测试(Test)模块:Spring-test模块支持使用JUnit或TestNG对Spring组件进行单元测试和集成测试。

SpringMVC

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web

应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架。

SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,已成为最优秀的 MVC 框架。

https://bbs.huaweicloud.com/blogs/312962

Mybatis

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

Springboot

SpringBoot基于Spring4.0设计,不仅继承了Spring架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。

对我最大的感受就是简化了配置,可以看这篇博客里边使用了4个配置文件,但在SpringBoot项目中只需要一个配置文件就可以了。

1)独立运行的 Spring 项目

Spring Boot 可以以 jar 包的形式独立运行,运行一个 Spring Boot 项目只需通过 java–jar xx.jar 来运行。

2)内嵌 Servlet 容器

Spring Boot 可选择内嵌 Tomcat、Jetty 或者 Undertow,这样我们无须以 war 包形式部署项目。

3)提供 starter 简化 Maven 配置

Spring 提供了一系列的 starter pom 来简化 Maven 的依赖加载,例如,当你使用了spring-boot-starter-web 时,会自动加入如图 1 所示的依赖包。

4)自动配置 Spring

Spring Boot 会根据在类路径中的 jar 包、类,为 jar 包里的类自动配置 Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot 只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置 Bean,而 Spring Boot 没有提供支持,则可以自定义自动配置。

一些链接供大家学习:

搭建SpringBoot:https://bbs.huaweicloud.com/blogs/315575

配置数据库:https://bbs.huaweicloud.com/blogs/312820

SpringBoot集成xxlJob:https://bbs.huaweicloud.com/blogs/312577

SpringBoot集成nacos:https://bbs.huaweicloud.com/blogs/312614

4、具备较强的学习能力,能吃苦耐劳

这一点就要发扬我们中华民族的传统美德、吃苦耐劳,勤劳肯干。把每一件事情都认真去对待,认真去执行,肯定能胜任公司的每一项工作,肯定能在公司收到一个好的评级。

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。原创不易,转载请联系作者!

本文整理自华为云社区【内容共创系列】活动。
查看活动详情:https://bbs.huaweicloud.com/blogs/314887
相关任务详情:学习Java,想要达到胜任常规工作需要掌握哪些技术?



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。