我的Java自学之路(已拿offer 不算多12k)

本文分享了一位计算机网络技术专业毕业生自学Java的经历,从基础知识入手,逐步深入到JavaWeb及框架学习,最终通过完成项目积累实践经验并成功就业。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我大学学的专业是计算机网络技术,编程也学但是真的学得很浅很浅(加上大学光顾着玩儿去了),不自学完全不可能找到工作的那种。所以这样毕业的我真的是屡屡碰壁,当时有人跟我讲:“当你不知道选哪门语言作为自己的开发语言时,就无脑选择 Java”,我权衡了一下就决定了要学Java,于是就开始了我长达半年多的自学之旅。

自学的路上挺艰辛,也遇到过挺多坑,Java的学习难度也不低,为了防止大家从入门到放弃,下面我讲一讲我自认为还行得通,并且适合大部分人的学习路线吧。

Java 基础

一开始肯定要先了解一波Java语言的特性,很多人都关注一开始看什么资料,其实我觉得入门阶段看的太多太杂不好,因为我也不知道哪些是有用的,哪些是过时的,或者在目前阶段用不到的。

我当时入门就是看一本在学校的时候老师推荐过的书,书名叫《实战JAVA程序设计》,这本书我觉得还是很适合当时的我的。书籍我当时都是在网上下载电子版的,因为这些都属于辅助资料,一般不需要做什么笔记。

这就是我当时学Java基础的时候的思维导图,但是我当时学完面向对象的时候就觉得有点困难了,而且当时也有点迷茫,觉得学了这么久好像并没有看出来Java能做出什么东西来,当一个人长期得不到任何正向反馈的时候就会考虑这件事到底值不值得做,于是我当时上B站看了很多Java项目实战的视频,其实我看不懂,但是我当时觉得只要我学下去我以后也能搞出这么牛X的东西,所以我就硬着头皮学下去了。

上面这些内容全部学完的时候我就上B站上面找了一些开源的简单项目做,我记得当时做了一个贪吃蛇和一个黄金矿工的小游戏,当时运行成功的时候我那个激动的心情真的跟中彩票似的,或许这就是编程的乐趣吧哈哈。

JavaWeb 入门

但是当时所有的东西只能在自己的编译器上运行,只能录屏给我朋友嘚瑟,所以还是觉得有点难受,所以我当时在网上看了一下,用Java撸网站什么的那JavaWeb是必学的,所以我当时找朋友要了几个B站上边讲JavaWeb讲的比较好的视频入门;推荐下面这套java300集教程,由高淇老师录制,学习体验还是很不错的。

图标

1. mysql、html+css+js 、 tomcat、xml等

这个我当时是看的视频,搜索 JavaWeb的视频,哪里不会补哪里。这个知识版块还是蛮快的,当时差不多几个小时就学完了。至于mysql,我是看的《mysql不知必会》,看完就差不多了。

2. servlet+jsp

我当时没有直接学习框架,我咨询了一下我当时在做Java开发的朋友,他们都建议应该先学习 servlet,说这些底层才是最重要滴。servlet可以跟着视频学,至于 jsp 其实很少用了,不过还是可以了解一下的。

3. 框架的学习框

Servlet 写太麻烦了,只有认真学过 servlet 的人才能吹框架的好处,所以先学 servlet 再来学习框架,主要有三大框架:Spring + SpringMVC + Mybatis。

其实 SpringMVC 也是属于 Spring 吧,MVC 只是一种思想,这里学习顺序我是先学习 Spring,直接看视频入门学习就可以了,后面再买书,掌握到什么程度?最后是要能知道一些原理,例如IOC,AOP的原理,使用了什么设计模式等等。

不过现在搭 ssm 太麻烦,基本都是用 SpringBoot 了,所以 SpringBoot 也必须,不过之后有时间的话,也要学习下 SpringCloud.

一个完整的项目+面试题

把上面的 Java 基础以及框架学了,就要做个完整的项目了,我只能说,项目非常非常重要,因为面试的过程,一定会问项目,而且必须是你自己亲自做过的项目,假如你只是看视频,没有动手实践,很容易就会被问懵。

当然不是说这个问题就成了死结了,大家可以选择实操课程去解决自己在项目经验上的缺失,特别是那种基于真实项目的课程。

一定要至少做一个项目;一定要至少做一个项目;一定要至少做一个项目;

上面就是我刷过的一些面试题,这些东西学习完之后基本上就到年底了,我爸爸妈妈当时让我过完年再出来工作,但是我怕我在家玩的话这些东西会忘记所以火速出来找工作,现在12k成功入职,其实刚毕业在一个二线省会城市这个薪资我还是很满意的了。

六、最后

谨以此文纪念我长达半年的Java自学之路。

上述电子书+面试题+项目源码资料已经为各位打包好了,随时可以拿走。

文章整理比较认真嘿嘿,有帮助的话,求各位朋友们点赞 + 喜欢 + 收藏支持下啦!❤️

### STC32G12K128单片机上的通道PWM配置 在STC32G12K128单片机上实现通道PWM功能涉及个方面,包括定义PWM通道、设置定时器以及初始化相应的GPIO引脚。 #### 定义PWM通道 对于PWMA和PWMB这两组不同的PWM,在同一时刻每组只能有一个PWM输出。例如,如果选择了`PWMA_CH1P_P10`作为正相输出,则不能在同一时间选择`PWMA_CH1N_P11`作为负相输出[^1]: ```c // 配置PWMA通道1的正向输出到P10引脚 #define PWM_CHANNEL PWMA_CH1P_P10 ``` #### 初始化PWM外设 为了使能并配置PWM模块,通常需要通过软件来设定特定的寄存器位。这可能涉及到开启时钟门控、加载预分频系数等操作。具体来说,可以参考官方提供的SDK或开源库中的API函数来进行这些设置[^3]。 #### 设置占空比与时基频率 要改变PWM信号的特性(比如周期长度和脉冲宽度),可以通过修改相应计数器比较值的方式完成。一般而言,会先确定好所需的载波频率,再据此计算出合适的初值写入硬件寄存器内。 #### GPIO端口映射 最后一步就是把实际使用的I/O管脚分配给对应的PWM通道。这里需要注意的是,某些特殊情况下还需要调整复用模式以便让选定的引脚能够正常工作于PWM状态之下。 下面给出一段简单的代码片段用于说明上述过程: ```c #include "stm32f1xx_hal.h" void MX_TIM_PWM_Init(TIM_HandleTypeDef *htim){ TIM_OC_InitTypeDef sConfigOC; htim->Instance = TIM2; htim->Init.Prescaler = 79; // 假定系统时钟为80MHz,则此处代表1us分辨率 htim->Init.CounterMode = TIM_COUNTERMODE_UP; htim->Init.Period = 999; // 设定期望得到1ms周期(即1kHz频率) HAL_TIM_PWM_ConfigChannel(htim,&sConfigOC,TIM_CHANNEL_1); } int main(void){ /* 用户应用程序入口 */ HAL_Init(); SystemClock_Config(); __HAL_RCC_GPIOA_CLK_ENABLE(); // 开启PA口时钟 GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 ; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); MX_TIM_PWM_Init(&htim2); while (1){} } ``` 这段程序展示了如何利用STM32CubeMX工具生成的基础框架快速搭建起一个通道PWM控制系统。当然,针对具体的芯片型号如STC32系列,应当查阅其数据手册获取更详细的指导信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值