我的java学习

news2024/9/20 5:08:19

犹豫了很久,还是打算简述一下自己学java 的历程,花了些时间,但结果不赖

文章目录

  • 从0的开始
  • 开始加速
  • 过度项目学习
  • 懵懂的进入项目
    • 进入综合项目学习
  • 第二次学习开始

从0的开始

没有计算机基础,英语也非常糟糕。
起初也时常在想,这样的现状真的能学到最后吗?
仔细想想,现在的生活并不如我所愿,照顾不好自己,也难以照顾家人。
浑浑噩噩继续下去,我一定会后悔无能为力的自己。
去努力、去尝试、即使事与愿违也不会后悔

辞掉了销售了工作,找了个超市上班 上班时间 8:00-5:00
开始去问做java的人,该怎么开始学,该学些什么。

第一阶段学习路线

开始计划学习时间,每天回家竟可能的耐下心来去看视频。

开始加速

不知不觉中坚持了一个月,看完了java基础,出去和做开发的朋友吃饭,中间也一直在问各种有关开发的问题。
感觉第二阶段需要重点去学习SQL 了解前端 js、vue
在此期间,感觉自己应该跟块的去学习,需要花更多的时间去准备才行。

这一阶段的sql 学习 自我评价比较糟糕

最开始学习,只看了bilbil的视频,对数据库的整体理解,算的上云里雾里,给我造成了走弯路的困扰、这里推荐各位,不要想着3-4天速成。要精心下来好好理解 select 这类语法,和运行逻辑
后面我自己 买了《SQL入门金典》 读完之后感觉也比较一般,主要提升我理解的是 牛客网 、力扣 、mysql45讲

  • 力扣: 并不推荐刷sql 感觉阅读感不太好
  • 牛客网: 之前是免费的,现在立马的部分sql题开始收费了。我把所有sql都写了一遍 (这里看到 窗口函数的题 mysql 8.0的 功能,建议不用深入了解)
  • mysql45讲: 将的是底层方面的知识,对写sql没有比较直接的帮助,但内容非常有价值,建议作为提升资料去学习

现在工作中,我也能感觉的出来 很多同时其实对sql 的优化,和一些底层的细节并不够理解。mysql45讲非常推荐作为提升的内容

web学习
这里当时看的是这个 内容 web 其实知道今天,我已经没怎么自己写过前端代码,只是理解和能看。也有几位好友都推荐我去补补前端,说前后端都能做,更好找工作。

在这一阶段中、手机静音停止了所有的社交,每天 7:00上班-4:00下班
这个阶段中不像是最开始,每天看一会视频就会想去打打游戏,看会抖。自己慢慢的习惯了这种学习方式、经常 除了吃饭,就是坐在电脑前,到十点钟。

过度项目学习

这一阶段,我的影响已经不多了,主要需要学习的内容
git : 看了B站的视频后,我还是推荐直接看 这个位子的资料
推荐软件 sourcetree:我个人基本不用idea里面集成 git 工具,我觉得这个工具图形化更加方面,同时方便管理多个项目
在这里插入图片描述postman 一个老牌的接口调试工具,虽然我也喜欢用,但是这软件可以离线使用,内网开发的公司还是得用这个我跟推荐使用apifox

maven 包管理工具,并不复杂,但需要耐心

网上学习资料中,尚硅谷、黑马、动力节点、等教材这阶段都不会去教
DockerLinux 的知识,我个人推荐,给自己足够的时间和耐心,学这两个技术,docker 可以更佳便捷的安装各种 开发软件和环境。不可否认是现在大公司-云原生中必备技能 而 linux系统才是 程序主要运行的系统。我自己是用mac在学习,各种命令都大差不差。

懵懂的进入项目

来到这个阶段我用了3-4个月的时间
后面还有无数的坑在等着我、自己摸索真的是非常累的一个过程,但是收获颇丰,知道今天,我已经就的这段学习时光,让我真真学会了面向互联网学习。

高质量的学习内容 永远在 官网个人博客github

开始学习ssm、依旧是b站视频。如果在这个阶段你良好了掌握了mavengit就不会被一些版本冲突、环境问题、等非代码因素导致的问题困扰。我之前在这些不理解的问题上花费了大量时间。
如果此阶段你是通过慕课网腾讯课堂等一些付费专栏去学习,一般情况下会得到 一定的帮助。但是,并不是所有的付费内容都有帮助。这里可以告诉你,有些平台你给付费课程差评,是被删评论,还无法退款。体验真的很糟糕。

这一阶段需要学习的常用技术
redis 不要听网上瞎吹,要掌握8种类型,理解类型的底层结构。 这里重点要去掌握5种基础类型,并且理解他们的区别,这会用到不同场景,不同业务。集群模式,个人建议了解为主。如果可以使用docker集群搭建会变得非常简单。主要了解 集群状态下去,个节点之间的问题处理,和数据同步的问题

SSM 这里建议找个短切简单的视频看就行,处理需要重点了解 spring。mvc你天天都会用到,mybaits,更多是会使用即可。

进入综合项目学习

前期我花了2个月的时间 去学习了b站上的项目,这里(我个人是偏向后端内容的学习)
吐槽点、确实是有项目可以学习,作为入门学习够,但是不够完整(公开的代码资源、还有部分的版本问题、确实的录屏等)
我曾连续16个小时,去排一个环境的bug真的是非常崩溃。对初学者来说这是我最难忘且感觉最底效学习方式
这里就直接发几个我个人推荐的学习内容
付费内容
微信小程序开发
微博开发 这个真的算是我入门的项目了,前13章真的很不错,建议细心的去一步步实现代码功能。 十三章以后的内容讲的: es篇讲的太浅了,es根据不同版本和springdata 的api是不一样的,而且一般公司不会用到,不推荐学习。zk和con 比较老的组合。基本使用nacos、或者Double。再往后 sprongCloudAlibaba的内容都要讲到,可以听听,但离实际使用有些距离。作为入门,我真的给高分。

Ruoyi自己去摸索看这个项目,你会感觉非常困难,这并不是教学项目。里面的思路,功能都很完整,是切实可行的软件。 不过作者有提供教学讲解视频(虽然我没买,自己把代码看了很多遍) 但这个项目值得学习。后面我好工作也发现,有的公司用的就是这个项目去二开的。

此阶段,我开始用云服务器我的sql、redis等各种中间件都是放在云服务上远程链接等。中间也尝试了内网穿透让项目暴露到公网

在项目阶段的学习,一定要不懂就问,朋友,社区,各种技术群。微信也好、qq也好。多去问,总会遇到有人愿意伸出援助之手。
我遇到有老哥帮我远程debug教我看 web设置。拉我代码帮我排错。给我问题的解决方案的人、给我文件解决文章链接的人等等。
顺便发下这阶段的学习记录

开始一点点调试微信小程序
在这里插入图片描述去图书馆啃书在这里插入图片描述询问别人这里的一个bug
在这里插入图片描述开始试着耐心的去读ruoyi源码
在这里插入图片描述这是当时看到一半发现b站的这个项目有环境问题 没法继续下去的时候
在这里插入图片描述这是学习过程中买的书,基本是带去中午休息的时候读完的
在这里插入图片描述一个也不错的开源项目

在这里插入图片描述
第一次找工作时准备八股文的时候
在这里插入图片描述

当我做完这一切的时候,过去了9个月的时间。当时出去面试,页面上了一家小公司。但是工资给的不高。身边也有朋友劝我说你已经学了那么长时间了,现在进了家公司,接下来了你能一边拿着工资,一边学习
其实当时我也很犹豫,一边想着,也许我就这样了。另一方面,我不甘心,不甘心起点这么低。去找了那家公司的组长简单的交流后道不同不相为谋。组长满嘴的道理空话,我认定在这里,只不是是浪费我的青春而已。
最好了充足的准备,休息了几天,就开始我我第二次学习。做好规划、给自己足够的耐心、和时间。也许在当时看来,这是一次可能没有结果的尝试。但好在,我日复一日的走到了最后。

第二次学习开始

这一次我思考了再三,还是报名了一个培训班(这里并不鼓励大家盲目报班)我会结合自己的所看给大家客观的去分析

半年的时间,每天6:00起床坐车 10:30回去睡觉依旧是减少社交,和娱乐的半年。

首先培训机构大多会虚假宣传学完的朋友的工资、而且大多数不会度过试用期。
老师也是都是按着教材去按部就班的授课(非常乏味 - 我真真在培训学到的技术也许只有2成)。
当然确实会有技术比较好的大牛老师,但是你不去问一些比较底层,或者设计模式这类的问题,大部分老师的水平都差不多

在培训机构的这段时间我称自己为做末班车的人
应为有前面9个月的学习,对于大部分基础的知识,我已经能熟练掌握,我觉得自己欠缺的是独立开发编写项目的能。

第一个月
班中-一位风趣的老师讲java 基础 对java8的新特性 讲的非常少
我自己除了用 新特性去完成老师所有的要求外。我把更多的时间花在了io流、多线程。和算法的学习上。几乎每天在力扣刷2-3个题。我技术很菜,但日积月累,也会有自己的一份收获。

第二个月

班中两位老师 一位讲sql、一位讲web
我还是没听什么,感觉钱都百搭了,2w来块
由于有在即刷 牛客网 sql题的过程,老师讲到我感觉完全不需要听,我去读了MySQL45讲非常推荐,内容硬核,深入底层。
同时还读了廖雪峰网站对区块链,有了一定的了解,搜索了一些资料阅读。

前端部分的学习,我把更多的时间放在了Vue 这里并不推荐大家学我,我只是对前端单纯的没兴趣

第三个月
开始做项目 一个使用ssm 实现crud的项目,中间用了oss

先前自学中,我有6和左右的项目学习,这个阶段的技术我基本都已掌握。我开始大量去看 分布式的文章,和各种的组件的使用。这是期间看到的非常不错的一些资源

阮一峰 这篇文章里讲了一些 Spring Security OAuth2 使用token在分布式做鉴权的机制
美团沙龙 在这里面读了一些jvm文章,对多线程有了更深入的了解。 (从这时开始,我发现讲很多授课老师的对技术的底层的理解都有问题。CAS、这里推荐读 《深入理解JVM》)
逃离沙漠 对Security 有全面的讲解,责任链
MrBird 强力推荐 这个大佬的博客,每一篇的案例都是切实可行,能编写启动的。非常细心,是我很喜欢的风格,虽然部分技术已经不够新颖,确实让我学到了很多。

第四个月
学习前后端分离项目
此阶段,我还是把跟多的重点放在了自己身上。老师教学的技术站,我几乎能独立编写。所以一边完成,老师的任务。一遍我自己开始编写项目。
当然,我的编写主要开始参考了ruoyi、和微博开发

在这里插入图片描述
第五个月
依旧是在讲项目、这一阶段还是给了一个搭好了的项目框架单体项目、给了一些名好名的接口,让我们去实现。

从这个时候开始,几乎班里很多人的,sql能力就会明显问题编写不了sql。而且犹豫接口也是提前写好的,需要的传参数,和库都是现成了,不需要自己的设计。就不会暴露出太多的问题。(我后面工作,直接给原型,表和后端都要自己从0开始写)

从这里开始我就已经开始准备面试了,这里是我推荐的一些网站
强力推荐 真的靠谱
计算机网络 通信协议 这个并不能给编码带来直接的帮助, 但是在我现在看到更多的技术后,才知道其中内容带来的意义
凤凰架构这里让我开始认识云原生,也是我接下里的学习方向
clay 对一些分布式的技术有讲解 这个人的博客我也觉得很有意义
常见21种设计模式 设计模式我一直都觉的是一种思想,不会影响工作的主要,尤其是在前期。他真真有用的时候更底层的开发的时候,前期有时间看这个不如多去理解,面向对象的编程,我入职后发现很多人都不会吧公共内容提取的到夫类,之类的操作,很多共性代码都是可以竟可以抽象、提取的。
左耳朵耗子 一位成功的大佬

第六个月
这个月的 2位老师,真的很有技术,几乎能解答我的所有问题,也是我觉得2w花的值的地方。
这2个月的内容,我的经历都放在了听课上面,有多余的时间才会去看看书。
这个月讲的是电商项目

后面我才知道这个电商项目是围绕着一本书去写的后,我又吧书读了一遍,发现还是真实(当时也不知道说些什么,就感觉很奇怪)

顺便对电商项目做个点评

  • 确实又设计到一些 多线程,和并发冲突的解决,但细读不够随着后面我对多线程的更多理解,发现里面的并发解决方法并不是那么的可行
  • 整个技术中,并使不所有内容都不错,真真感觉是这个项目独到的地方可能也就那个3-5个点。大多数的还是api的调用
  • 时间毕竟设计的比较短、其中也是留了一些坑,被老师用委婉的方式带过。(这里开始其实班上大部分人已经更不上教学速度,甚至理解,或实现老师的代码了、光是抄都有相当一部分人都不能让代码跑起来)

第七月
这个月就是一直在讲各种复杂的原理知识,枯燥乏味。大部分人听的都睡着了。

到这里培训班的学习基本告一段落

  • 后面就开始自己投简历找工作,当然依旧有一部分的人是过不了面试的
  • 一部分人没有度过试用期
  • 一部人人面试一直被打击最后选择 运维,实施,数据管理员等

其实在如今互联网真的十分发达,java的学习资料在网上,基本都能搜索到到,你只需要耐心、和时间基本都完成自学。如果不能律己即时到了培训班,你依旧会听信别人的速成、依旧会机械式的学习、会投机取巧。你稍微努力就像获得回报是很难在工作中留存下来的。(我在公司中看到了新人很高的淘汰率),有些人付出了很多,还不敢有丝毫松懈。而你稍微努力,凭什么能获得成功?

一路走来,庆幸我的好运,总能遇到给予我帮助的人。也加入了不少社区和群,接触到了很多的大佬,和努力的人。起薪20-30k的人真的有。当然我最后也不算太差(能照顾好自己,照顾好家人)。
总体学习时间,我花了17个月。一年半转瞬既逝。期间我曾是那个登山的人,后来我也看到了很多登山的人,自学的人真的很多,java没有你想象中那么难愿你多点耐心、时间。

在这里插入图片描述Only make yourself better,Everyone will be close to you.All good things will happen to you.
这一切的都是我的心血来潮。那些受伤的地方终会长出强壮的翅膀、带我去更远的地方。

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

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

相关文章

Java+MySQL基于SSM的高校科研仪器共享平台

随着在校学生人数的不断增加,学生的数量也在不断的增加,同时面临的就是如何更加方便快捷和高效的管理高校科研仪器的问题,传统模式的科研仪器管理明显已经不能够满足当下的需求,于是我们提出了高校科研仪器共享平台的设计与开发。 本课题是一个基于SSM的管理系统,本高校科研仪器…

架构设计(六):引入消息队列

架构设计(六):引入消息队列 作者:Grey 原文地址: 博客园:架构设计(六):引入消息队列 CSDN:架构设计(六):引入消息队列…

【LeetCode】1703. 得到连续 K 个 1 的最少相邻交换次数

题目描述 给你一个整数数组 nums 和一个整数 k 。 nums 仅包含 0 和 1 。每一次移动,你可以选择 相邻 两个数字并将它们交换。 请你返回使 nums 中包含 k 个 连续 1 的 最少 交换次数。 示例 1: 输入:nums [1,0,0,1,0,1], k 2 输出&#xf…

入门:镜像结构介绍

前面我们了解了Docker的相关基本操作,实际上容器的基石就是镜像,有了镜像才能创建对应的容器实例,那么我们就先从镜像的基本结构开始说起,我们来看看镜像到底是个什么样的存在。 我们在打包项目时,实际上往往需要一个基…

C++PrimerPlus 第八章 函数探幽-8.1 C++内联函数

目录 8.1 C内联函数 8.1 C内联函数 内联函数是C为提高程序运行速度所做的一项改进。常规函数和内联函数之间的主要区别不在于编写方式,而在于C编译器如何将它们组合到程序中。要了解内联函数与常规函数之间的区别,必须深入到程序内部。 编译过程的最终…

微机原理与接口技术笔记

文章目录前言储存系统与技术材料高速储存器缓冲储存器(Cache)材料,局部性,访问方式Cache全相联映射Cache交换与一致性单核CPU一致性处理多核CPU的MESI协议主储存器(内存)主要技术指标容量带宽内存模组与内存…

牛客题霸sql入门篇之条件查询(四)之高级查询

牛客题霸sql入门篇之条件查询(四)之高级查询 4 计算函数 4.1 查询GPA最高值 4.1.1 题目内容 4.1.2 示例代码 SELECT gpa FROM user_profile WHERE university复旦大学 ORDER BY gpa desc limit 1; -- LIMIT 初始位置,记录数 一个参数就是记录数4.1.3 运行结果 4…

Python Flask构建微信小程序订餐系统 (四)

🔥 创建微信小程序 🔥 微信开发者工具下载 并完成安装 在PyCharm 工具里面 order目录下面 创建mina 文件夹 通过微信小程序开发工具创建微信小程序工程 获取微信小程序ID

数据挖掘Java——PageRank算法的实现

一、PageRank算法的前置知识 PageRank算法:计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序。 从用户角度来看,一个网站就是若干页面组成的集合。然而,对于网站的设计者来说,这些页面是经过…

嵌入式系统开发笔记109:多个LED的闪烁控制

文章目录前言一、一般思路1、LED0 100ms闪烁,LED1 200ms闪烁2、LED0 100ms闪烁,LED1 300ms闪烁3、LED0 200ms闪烁,LED1 600ms闪烁二、通过循环变量实现1、LED0 500ms闪烁,LED1 700ms闪烁2、LED0 15ms闪烁,LED1 7ms闪烁…

Java——LRUCache

概念 简单来说,由于我们的空间是有限的,所以发明了这个数据结构,当我们的空间不够添加新的元素时,就会删除最近最少使用的元素。 其底层逻辑通过哈希表和链表共同实现。哈希表中存储链表的每一个元素,方便进行元素的…

Mysql分布式锁(三)悲观锁实现并发

在前面的方法中,一条sql语句中仍然存在着很多问题,于是我们可以用悲观锁来代替解决。 假设我们不用一条sql,仍然用先查询,判断,最后更新来实现业务。 文章目录悲观锁 select...for update1. 不加悲观锁1) 两个机器连接…

因果推断2--深度模型介绍(个人笔记)

目录 一、方法介绍 1.1TarNet 1.1.1TarNet 1.1.2网络结构 1.1.3counterfactual loss 1.1.4代码实现 1.2Dragonet 1.3DRNet 1.4VCNet VCNET AND FUNCTIONAL TARGETED REGULARIZATION FOR LEARNING CAUSAL EFFECTS OF CONTINUOUS TREATMENTS 二、待补充 一、方法介绍 …

AcWing 第82场周赛

AcWing 第82场周赛 竞赛 - AcWing B 4783. 多米诺骨牌 - AcWing题库 模拟题,考察代码描述问题的能力。 由题意所给的数学形式化定义中看出,所给的骨牌初始序列 L 和 R 的顺序一定是相互交错的,即 ...LRLRLRLR... 所以,一旦遇到…

KNN算法 搜索最优超参数:n_neighbors/weights/p

目录 一:遍历参数 超参调优测试 二:网格模型 超参调优测试 三:模型保存 四:模型使用 一:遍历参数 超参调优测试 1.1 超参调试,找到模型最优解[仅做测试,得出最优:n_neighbors, …

PowerDesigner导入SQL脚本生成带中文注释(comment)的ER图并保存为图片格式(含通用可执行vb脚本文件)

目录 1、安装数据库建模工具PowerDesigner 16.5 2、打开 PowerDesigner,选择反向工程 3、选择数据库类型 4、导入SQL脚本文件并生成数据库表模型 5、去掉Diagram画板黑色网格线(选做) 6、ER图常规显示(包含是否为Null及表名…

D. Same Count One(模拟 + 思维转换(行不行,从列入手))

Problem - D - Codeforces ChthollyNotaSeniorious收到了AquaMoon的一份特殊礼物:n个长度为m的二进制数组。AquaMoon告诉他,在一次操作中,他可以选择任何两个数组和1到m中的任何位置,并交换这些数组中位置的元素。 他对这个游戏很…

RabbitMQ知识总结一

更多知识在我的语雀平台: https://www.yuque.com/ambition-bcpii/muziteng RabbitMQ 1. RabbitMQ引言 1.1 什么是MQ MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦&#xff0…

带token的登陆页面爆破方法(burp宏+爬虫脚本分享)

文章目录前言一、token参数分析二、burp设置宏操作三、爬虫脚本四、小结前言 在工作中,会遇到很多登陆页面有token保护,如果用Burpsuite直接抓取数据包并使用爆破模块,则会因token过期导致无法爆破。此时至少可以采用三种办法: 第…

Java诊断工具——arthas,实时监控,了解一下

文章目录1、arthas 简介官方文档2、arthas 的使用场景3、安装&启动3.1 安装3.2 启动4、常用命令5、使用示例5.1 stack5.2 jad5.3 sc5.4 watch5.5 trace5.6 jobs5.7 logger5.8 dashboard5.9 redefine6、其它1、arthas 简介 arthas是由阿里巴巴中间件团队开源的Java诊断工具。…