Java学习建议[老咸鱼学长的一些絮絮叨叨]

前言

part1

很高兴有人能阅读这篇文章

在这里我会整理一下大二以来Java相关的学习路线以及一些感想

希望这篇文章可以让你有所收获

同时,我希望你是 我学着用xxx做了xxx,我感觉我真NB 而不是 我学了xxx

**个人的兴趣爱好是第一动力 **

这篇文章更多的提一句建议学什么

希望结合自己的兴趣来合理安排

以下的part可以直接跳过不看,但是我还是建议看一下的,也算是我的一些经验之谈吧

其实这比起说Java学习路线更像是咸鱼老学长的絮絮叨叨

part2 博客

记得一定要写笔记,一方丢了可以发布的博客

如果是软工的,建议准备两个博客,一个是给王建民看的,一个是自己记录的,下面的博客是糊弄王建民专用脚本

使用python自动发布博客园 - tifaIsMyWife - 博客园 (cnblogs.com)

part3 记得总结

好记性不如烂笔头子

我希望在学习Java的过程中可以总结出独属于你自己的学习方法和习惯,这样等到接触到一个全新的技术你可以很快的上手

不应该只是学会,而是学会如何去学

part4 软工新生可以尝试惊艳一下

如果你是软工的新生,我建议趁这段时间努力一下

开学你就可以体验到什么叫装x

别人一脸懵逼的时候你直接这学期免试

part5 注册一个GitHub

一定要注册一个GitHub账号,使用git或者svn管理自己的代码,以开始你可能感觉多此一举,但是随着你写的代码逐渐增多他的优点会逐渐体现出来

part6 一定要学会使用搜索引擎

在初学阶段,包括现在的我

遇到的99%的问题是可以用百度解决的,剩下的1%可以去stack flow解决

part7 学会使用邮件

邮件是一个很好的东西,一定要学会使用邮件

邮件是正式交流沟通必备的工具

包括将来你到了一家正规的大公司,很多事务的沟通绝对是通过邮件的

part8 提问的智慧

在提问之前
  1. 尝试上网搜索以找到答案。
  2. 尝试阅读手册以找到答案。
  3. 尝试阅读常见问题文件(FAQ)以找到答案。
  4. 尝试自己检查或试验以找到答案。
  5. 尝试阅读源代码以找到答案。
提问的格式
问题发生的环境

请注明自己的操作系统的类型以及版本

还有项目的依赖,以及对应版本

问题描述和日志等

这个没有什么好说的就是报错 log等

问题复现

字面意思,这个问题能否再次发生,如何触发这个问题

自己的猜测

自己对这个问题的思考和理解

提问的方式

个人建议是按照上面的格式写好邮件或者博客发送\发布

发送\发布之后再通过QQ或者微信跟被提问的人说一声或者

环境准备

初学的话只要有IDEA和JDK8就足够了,最好再配合Markdown整理自见的笔记

在这里我将列出我的整体的开发环境,希望可以给你一些参考

  • IDEA Java开发我最为推荐的软件,记得破解
  • Maven 依赖管理工具
  • Visual Studio Code 我一般用来写html js css python
  • Typora 很方便的Markdown语法笔记软件
  • Github Desktop GitHub的桌面版,用来管理自己的代码
  • JDK 8 最常见的jdk,初学配置一个JDK即可,建议是14以下的8以上的版本
  • JDK 11和14 我常用的
  • JDK 17 最新版
  • Mysql 8 关系型数据库 Java开发总要有一个数据库的
  • Tabby Terminal 用来ssh和ftp
  • Dbeaver 提供数据库可视化界面
  • nvm 用来对node.js进行版本管理
  • node.js

学习资料我个人推荐B站的狂神说的Java系列,相关的笔记也可以直接在网上搜到

遇见狂神说的个人空间_哔哩哔哩_bilibili

image-20220806132000731

我的学习路线

这是我当时的学习路线,其实还穿插着 扩展学习 的内容,因为Java开发全栈是起点

先全都会,再去精通其中的某一个方面

让自己的知识是T型的,这样才能确保自己有良好的发展

Java基础

Java基础没什么好说的,其实核心就是

  • 关键字
  • for while 循环
  • if 判断
  • List Map Set Queue
  • I/O 文件操作

学完Java基础应该就可以写一个通过黑框的图书管理系统了,其中将信息保存在文件中

Java Web

Java Web 的核心大概就是

  • Servlet 网络编程

  • Mysql数据库

继续拿我们的图书管理系统来说,比起cmd黑框框还是UI界面更舒服,所以第一步我们便是给他加上web界面[Servlet],这样使用起来更加的舒适

紧接着,随着数据量的逐渐增大,我们忽然发现I/O操作已经开始影响我们的响应速度了,是时候换成数据库存储数据了,事实上数据库也是这么发展起来的

Html + Javascript + Css

这个没什么好说的,只能是说个人建议的侧重点是先熟练js,然后是css,至于html,熟练的js就会了

到了这一步我们的图书管理系统已经有了界面,但是不够美观,是时候开始美化了

Mybatis

随着功能的增多,增删改查的sql语句也开始逐渐增多,频繁的连接和断开数据库已经给你的图书管理系统造成了一定的压力,并且大量的sql语句和Java代码混合在一起也对后续的编写和维护造成了一定的困难,是时候给系统添加一个数据库连接池并且规范代码了

Spring

不知道怎么编了,当时就顺手学了个基础

Spring MVC

你现在又发现了新的问题,与前端的交互太凌乱了,是时候开始试着前后端分离了

Spring Boot

你的数据库管理系统使用了Mybatis Srping SpringMVC Mysql

你忽然发现配置文件实在是太凌乱了

就tm是配置地狱,代码没多少全是配置文件

该用Spring Boot重构了

Vue

后端代码整洁了不少,但是前端代码还是很乱,而且数据刷新也有点难度

用vue重构吧

到这一步你已经可以考虑在一般的公司做牛马了

我刚开始实习的时候就学到了这里

Spring Cloud

Spring Cloud这里目前我就不说了,因为我也不是特别熟

可以试着搭建一个完整的微服务架构

模板可以用febs教程可以参考这个

1. 导入准备 · Spring Cloud 微服务权限系统搭建教程 · 看云 (kancloud.cn)

可惜pdf版还在我坏的硬盘里,不知道还有没有救

我建议的学习路线

Java基础

Java Web + Mysql基础 + Html (了解,可以简单写个输入框什么的)

Javascript (熟练)

Mybatis+Sql语句

Spring Boot

vue + vue-Admin-Template

Java 注解和反射 还有面向切面编程

Spring

Spring MVC

Java 多线程

Spring Cloud

扩展学习

SQL

数据库

Lunix

git

Tomcat

Nginx

zookeeper

redis

docker

posted @ 2022-08-07 11:51  tifaIsMyWife  阅读(73)  评论(0编辑  收藏  举报