2019技术学习规划

引言

前段时间总结了一下2018年的大事小情(《2018年度总结》),整体来说还是正能量满满,阅读量涨得也是蛮快的。今天,抽出点时间思考了一下未来一年的规划。那作为技术人才,规划也自然都是技术相关的,本篇文章会大量引用外部的链接,都是我在学习的过程中找到的比较好,比较全的学习资料,那么我将会依托于这些学习资料,来规划我的学习路线,在尽量全面的同时,也要做到有主有次,有深度的知识储备。

一、框架的学习

目前的框架学习我主要着重于Spring Boot和Spring Data Jpa这两个框架上。目前对于Spring Boot的学习还有着很大的缺漏,而关于持久层框架的两个重量级Mybatis和Hibernate也都是刚刚入门。介于新公司用到了Spring Data Jpa作为持久层的上层接口,我准备将JPA深入、系统的学习和总结一下。

而Spring Boot上手虽然已经没问题,但是这个框架的很多高级特性如:缓存、消息、检索、任务、安全、监管等都知之甚少,所以未来不仅会加强已学知识的巩固,还会进一步总结一些高级特性,方便日后用到。

那么这两个框架都会以视频的方式来学习。其中,Spring Boot要以《Spring Boot核心技术篇》《Spring Boot整合篇》为主;而JPA要以《JPA视频》为主,相信,总结完这些视频内容的学习资料后,应该可以达到2019年的技术小目标。

二、Maven的学习

这个学习内容可能大家各有不同,因为之前一直是持“能用即OK”的态度去学习的,因此maven中的很多知识点并不了解,我觉得2019年有必要整理一些maven学习的资料,比如maven聚合项目就是一个不错的技术要点。

这部分的内容并不复杂,大概花一个周末的时间就可以总结完毕,依然是以视频学习为主《尚硅谷Maven视频35集》。

三、Java基础

这部分内容我放在第三位,不是因为它不重要,而是因为Java语言本身的学习就是一个永无休止的过程细水长流应当是学习Java语言的常态

这部分虽然叫做Java基础,但是也并不“基础”,这部分内容,包括:

阅读JDK源码String相关Java中各种关键字自动拆装箱枚举反射序列化JMS泛型常用Java工具类单元测试等几个模块。这几个内容的学习资料以《成神之路系列文章》为主。

四、并发编程

其实并发编程一直是作为一个兴趣在自学,目前的工作中并没有用到(其实最近在负责xml模板的维护工作上,已经很久没写Java代码了),但是这一块我一直希望作为自己的技术亮点,因此这部分内容也是非常重要的,而且在面试时也会经常被问到,比如线程池的使用,锁机制等等。

这部分内容主要是以书《Java并发编程实战》为主,但也不一定完全不借力于其他学习资料,像我之前就总结过马士兵老师的视频,各位可以移步至《多线程与并发合集》,因此对于并发编程这一块还需要善始善终,完成对《Java并发编程实战》的后续研读。

五、JVM学习

JVM在通常的web开发中确实是比较鸡肋的一块知识点,但并不意味着我们不需要学习它。对于这一块内容,我的计划是“三位一体”,即《Java成神之路——JVM》、极客时间的《深入拆解Java虚拟机(全集)》、书《深入理解Java虚拟机》。从这三方资料去学习JVM知识,其实知识点都是类似的,但是解读方式可能不尽相同,更多的是希望通过不同的讲解,来更加全面的理解这个我们无法以最直接的方式学习的一项“面试技术”吧。

六、设计模式

设计模式真是一块硬骨头。关于2019年设计模式的学习,将会以《Java成神之路——设计模式合集》为主,额外以菜鸟教程的《设计模式》为辅,尽量再多一些常用设计模式的总结,并勤加练习。

毕竟设计模式非常庞杂,里面的规则和逻辑也不是一朝一夕就能够记住的。如何能够抓住设计模式的特点,通过巧妙的记忆方式快速回忆起某种设计模式的实现思路是一个比设计模式本身更值得研究的问题。

七、Linux服务器

Linux的知识学习应该也需要提上日程安排了,虽然简单的部署应用不会涉及到太多Linux的知识,但是中小型企业对于服务器的掌握程度也是需要的,中高级的开发人员要能够较为熟练的操作Linux系统。因此这部分内容虽然不是当务之急,但是也应该按部就班的进行全面的归纳和总结,这部分的学习,要以韩顺平老师的视频《Linux教程》 为主。在其他学习内容的过程之中,穿插式学习和补充。

大家也可以买《鸟叔的Linux私房菜》来看,不过我觉得这种书千万不能从头开始读,因为用不了多久你就会放弃的,正确的使用方式应该也是穿插式的,在使用到某些指令时,去翻看一下书中对它的讲解,就像查字典一样。

八、SQL优化

这部分内容和服务器相关知识的紧急程度相同,虽然工作中并不涉及这部分知识,但是难免未来会遇到SQL优化的问题,这部分的知识绝对值得一学,因此,穿插式学习之。当以视频《SQL优化》  为主。

总结

关于以上八点内容,是暂时能够想到的2019年的学习内容和总体的学习方式,无论是通过视频还是文章亦或是书籍,都应该达到最终预期的目标:该熟练的熟练、该精通的也该精通了。

关于具体的执行计划,我觉得这个有很大的变动性,不好总结在博客里。我觉得可以大概给自己制定一个版块的学习时间,比如Maven学习,就一周,每天晚上看一集,做做笔记,做做练习,再写写博客;而像Linux服务器这种巨大的学习工程,可能就需要半年时间甚至是一整年。不管是怎样,我们最后要的都是结果。

另外,上述八点是对于博主本人来说从主到次的排序过程,比如因为工作中常会触及框架的使用,因此框架的知识应该是最最紧要的知识储备,以此类推。

单就目前的开发经验来说,依然是以夯实技术开发能力为主,不算实习经验的话(主要是实习阶段并不是很热爱编程工作,因此学习热情并不高涨,技术提升也比较慢)到目前为止也有两年的工作经验了,到2019年7月满3年,争取这一年能够成为一个非常全面和有技术两点的Java开发人员。那么未来诸如架构、项目管理、一些测试的概念等等将会逐步的提升到日程上来,也会总结成博客分享给大家的。

综上,就是关于2019年的学习计划,欢迎文末留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode算法入门- Remove Nth Node From End of List -day17

LeetCode算法入门- Remove Nth Node From End of List -day17 题目解释: Given a linked list, remove the n-th node from the end of list and return its head. Example: Given linked list: 1->2->3->4->5, and n 2. After removing the seco…

Spring Boot————默认缓存应用及原理

引言 应用程序的数据除了可以放在配置文件中、数据库中以外,还会有相当一部分存储在计算机的内存中,这部分数据访问速度要快于数据库的访问,因此通常在做提升数据访问速度时,会将需要提升访问速度的数据放入到内存中,…

LeetCode算法入门- Multiply Strings -day18

LeetCode算法入门- Multiply Strings -day18 题目介绍 Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string. Example 1: Input: num1 “2”, num2 “3” Output: “6” Exampl…

Linux下查看版本及系统信息

一、查看Linux发行版本 [rootlocalhost ~]# cat /etc/issue CentOS release 6.8 (Final) Kernel \r on an \m[rootlocalhost ~]# cat /etc/redhat-release CentOS release 6.8 (Final)二、查看Linux内核信息 [rootlocalhost ~]# uname -a Linux localhost.localdomain 2.6.32…

LeetCode算法入门- Search Insert Position -day19

LeetCode算法入门- Search Insert Position -day19 题目描述 Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order. You may assume no duplicates in the array.…

Linux——VMware虚拟机安装CentOS步骤

一、下载CentOS.iso镜像 最地道的下载方式就是通过官网,大多数的网上连接会直接抛出网易、华为的镜像连接,实际上这些连接都可以在官网找到: 官网地址(可直接百度搜索CentOS):https://www.centos.org/ 1…

LeetCode算法入门- Remove Element -day20

LeetCode算法入门- Remove Element -day20 1. 题目描述 Given an array nums and a value val, remove all instances of that value in-place and return the new length. Do not allocate extra space for another array, you must do this by modifying the input array i…

Spring Boot——Redis安装配置与应用整合

引言 Spring Boot默认以ConcurrentHashMap作为缓存容器,但默认的缓存容器在简单的场景使用还是可以的,而作为NoSQL的代表,Redis可以做内存数据库、消息中间件都是不错的,而且有RedisDesktopManager作为可视化管理工具&#xff0c…

利用Aria2高速下载网盘文件

利用Aria2高速下载网盘文件 方法步骤: 下载文件 解压arial2,运行aria2启动.VBS添加插件,解压BaiduExporter-master.zip在Google浏览器扩展程序中chrome://extensions加载已经解压的扩展程序 选择BaiduExporter进行添加即可,打开…

MySQL——JSON_REPLACE()函数修改JSON属性值

引言 由于对mysql的函数并不了解,之前遇到了一个场景: mysql表中有一个字段res_content 是一个由longtext类型(可以理解为一个更长的varchar)保存的巨大的JSON对象,但是,由于录入的疏忽,导致这…

LeetCode算法入门- Remove Duplicates from Sorted Array -day21

LeetCode算法入门- Remove Duplicates from Sorted Array -day21 题目描述 Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do …

Spring Boot整合Redis——自定义RedisSerializer

引言 spring boot简单引入redis依赖,并使用RedisTemplate进行对象存储时,需要使存储对象实现Serializable接口,这样才能够成功将对象进行序列化。 RedisTemplate默认使用的序列化机制是JdkSerializationRedisSerializer,但实际开…

LeetCode算法入门- Implement strStr() -day22

LeetCode算法入门- Implement strStr() -day22 题目描述 Implement strStr(). Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. Example 1: Input: haystack “hello”, needle “ll” Output: 2 Example …

交易系统如何确保账簿100%准确

转自廖雪峰老师的《交易系统如何确保账簿100%准确》 这篇文章阐述了一个交易系统中对账功能的关键,即:时刻保证资产负债表总额始终为 0。 交易系统中,对账是一个大问题。对账处理不好,不但需要花费大量的人力去处理账簿&#xff…

通俗易懂的SpringBoot教程---day1---Springboot入门教程介绍

通俗易懂的SpringBoot教程—day1—教程介绍 教程介绍: 初级教程: 一、 Spring Boot入门 二、 Spring Boot配置 三、 Spring Boot与日志 四、 Spring Boot与Web开发 五、 Spring Boot与Docker:Docker容器 六、 Spring Boot与数据访问&#x…

重装win11 23H2系统步骤及错误总结

1.分出大约13GB 的启动盘,下载win11 mul映像并解压进去 (记得下载电脑相应的网卡驱动!(只要等下进入桌面要用)) 2.利用easybcd, 到add选项,点击Win1PE,命名启动项&…

Java 8中获取参数名称

本文转自廖雪峰老师的:《在Java 8中获取参数名称》 在Java 8之前的版本,代码编译为class文件后,方法参数的类型是固定的,但参数名称却丢失了,这和动态语言严重依赖参数名称形成了鲜明对比。现在,Java 8开始…

通俗易懂的SpringBoot教程---day2---Springboot配置文件

通俗易懂的SpringBoot教程—day2—Springboot配置文件 1、配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的; •application.properties •application.yml 配置文件的作用:修改SpringBoot自动配置的默认值;Spring…

英语中数字表达总结

引言 对于英语中千、万、亿的表达法,始终是我英语路上的一个痛点,今天就来好好总结一下这东西的规律。 一句话总结 阅读和理解层面(99%的使用情况):thousand后面跟 3 个 0 ,million后面跟 6 个 0 &#…

Kibana 的安装(Windows版本)新手入门

Kibana 的安装(Windows版本)新手入门 参考博文:https://blog.csdn.net/weixin_34727238/article/details/81200071 目录 什么是Kibana? Kibana 6.3.1安装条件 JDK的安装 node的安装 Elasticsearch的安装 Kibana 的安装 什么是Kibana?…