你是如何学习 Java 的?

news2024/11/16 22:20:33

每一个行业中能成为大佬的人,一定都有他自己一套具有独到见解的方法......

这个问题我很有发言权,从刚毕业做Java实习生月薪2k,到现在干了5年Java开发月薪43k,一直都在保持不断学习的状态。以我个人的经验来看,一个程序员想要不断精进,要有高效的学习方法和好的学习习惯。以下内容仅代表我个人建议,如果觉得有用,可以进行借鉴使用。

初出茅庐

对于一个初学者来说,首选要了解自己应该都学习哪些技术,下图是我为大家列出目前比较流行的技术内容以及对应的教程视频。

以上技术都掌握后,在二线城市可以拿到8-10k薪资,在一线城市可以拿到12-15k薪资,学习时间大概是5-7个月时间,主要看自己的效率高不高,最好是身边有朋友带一带,这样的进度会比较快,自己闭门造车会比较浪费时间。

跟上面对应的视频教程可以加群获取,我自己建立了一个Java互助交流群,加群之后直接联系我获取这些教程就行。

学习/Java好习惯

在各个行业中能做的比较优秀的人都有自己的好习惯,所以学习这事养成一个好的习惯真的太重要了,一个好的学习习惯可以让你超越绝大多数同行的人。就我自己的经历来看,最开始的时候这方面走了不少弯路,很多好习惯也都是后来慢慢自己悟到的,就觉得以前浪费了很多时间,所以我想着为了避免大家走更多的弯路,我要把这些经验分享给你们。

正确提问

这个问题几乎所有学习Java的人都存在,问问题的时候不会问,也会给被提问者制造很多麻烦,从而造成对方不愿意给你解答问题,最终获取不到自己想要的答案。关于如何进行提问,我建议感兴趣的可以看看下面这篇文章。

搜索引擎

一个好的程序员一定会利用好搜索引擎,我们现在学习Java所遇到的大部分问题基本都可以通过百度或者google解决,会搜索引擎本身也是一门技术,而很多Java初学者并不会使用搜索来解决自己的问题,通过搜索引擎可以很好的锻炼自己解决问题的能力。

解决 bug

自己的程序如果遇到问题,建议先在stackoverflow、CSDN这样的地方搜搜,因为Java的生态圈已经非常成熟,很多问题大家都遇到过,所以在这些论坛中或许都可以找到答案。如果论坛解决不了问题,再去问身边认识的技术大佬帮你解答解决,毕竟每个人都有自己的事情,时间都是宝贵的,能不麻烦别人尽量别麻烦别人。(清晰描述好自己的问题,不要随便截一个 Bug 图)。

给大家提供一个可以随便提问的Java交流群,我已经维护了3年多的时间,里面的人都是我认识了很多年的技术大佬,有问题可以在群里面提问,每天会有大佬专门给大家解答各种疑问,技术氛围非常好,如果你想快速提升,可以加入跟大家一起相互帮助,还有很多工作就业机会相互内推。

学会总结

学习任何技术后,大部分人都会觉得视频里面讲的内容自己都听懂了。但是,第二天你会发现好像忘记了,或者让你自己动手去写Java代码时写不出来。我建议大家学完一部分知识后不光要及时复习,还要做好总结,让你学过的知识形成一个体系,这样才能使用出来,并且能理解它。还有一个方法建议大家尝试,试着把这个知识点讲给别人,如果你能把这个知识点给别人讲清楚,说明你是真正的掌握了。如果不能,说明你还是不够了解这个知识点,这就是经典的费曼学习法。

写博客

写博客的好处如下:

  1. 对学过的知识有更加深刻的认识,让自己的知识体系更加完善;
  2. 监督自己能持续学习;
  3. 能给你带来其他额外的经济收入;
  4. 打造个人IP,提高自己的竞争力,找工作的时候有优势;
  5. 比同行的人拥有更多的机会;

总结来讲,写博客是一件利于自己利于别人的事。你会从这件事情当中收获很多意外之喜,你写的东西会对其他人有很大帮助。技术分享是一种美德,现在做任何工作都需要团队合作,写好博客是一个程序员很好的习惯。

多逛Github

没有任何一个优秀的程序员不知道Github,一定要参与一些开源项目的开发中,这样会提高自己的项目能力以及自己的竞争力。多去看看别人开源的优秀项目,学习别人的代码规范以及设计思路。这种优秀的项目看多了后,你会慢慢发现自己的编程思想得到很大的提升。Github上面还有很多开源文档,这些对我们平时学习都挺有帮助。

实践

刚开始接触学习Java的人都有一个通病,视频看的非常多,但是代码却写的少的可怜。实践是一个程序员最重要的,把自己学到的知识应用到实际的项目中,这样才能不断提高自己的技术水平。很多Java初学者说没有项目去做,下面我给大家介绍几种方式:

在b站上面找一个自己能力范围之内的项目实战视频,或者找一个师傅带你做一个能找到工作的项目。做的时候,你必须有自己的思考,不要浅尝辄止,很多知识点,他人的讲解只能满足项目就可以了,对于比较重点的知识自己要往深里挖。

Github和码云上有很多实战项目,选择一个来研究,为了让你面试时更加理解这个项目,在理解原有代码的基础上,建议你对原有项目进行改进或者增加功能,这样可以很大程度上提高你的编程思考能力。

发挥自己的想象力,用自己学到的Java体系里面的知识完成一个自己想要完成的功能项目,如果遇到自己不懂的点就去临时学,边做项目做边学习也是非常高效的,但是这种方式有很大难度,可以考虑找一个师傅带。

代码规范

如果你考虑进入优秀的互联网大厂工作,那么你必须从开始就注意自己的代码规范,从学习Java的第一天起就要养成良好的编码习惯,包、类、方法的命名这些是最基本的。建议大家可以去看看《阿里巴巴 Java 开发手册》。

沟通能力

很多人以为做技术的人就不需要沟通,这是完全错误的想法,Java程序员很多时候都在开会沟通业务需求,如果你不仅仅只想做一个底层码农,那一定离不开良好的沟通能力。这是一个优秀的Java交流群,有问题可以在群里问我,我能帮助大家的都会尽量帮助。

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

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

相关文章

视频分割新范式:视频感兴趣物体实例分割 VOIS

1. 背景视频中物体分割是视频理解的基础算法,也是对淘宝商品视频分析和加工所依赖的重要能力。传统的视频分割任务一般分为两种类型:一种是VOS(Video Object Segmentation),该任务需要在第一帧给出物体的初始分割标注&…

Linux系列 目录和文件管理

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 简介 本章重点 一.检查文本内容 ​编辑 1.cat命令——显示并…

MySQL分表查询之Merge存储引擎实现

概念介绍 MySQL 分表之后怎么进行联合查询?用有表数量限制的 union all,还是汇总到一张表再查询,亦或用Sphinx( 高性能SQL全文检索引擎 )? 在这篇文章里,介绍使用 Merge [mɜːrdʒ] 存储引擎…

浅读人月神话(2)

读书笔记:今日翻书浅读,从《为什么巴比伦塔会失败》开始至《干将莫邪》结束,巴比伦塔的建造对当下项目推进有广泛借鉴意义,今天这几个章节在PMBOK中有一些可以互相对照学习的内容,《为什么巴比伦塔会失败?》…

荔枝派 zero 使用 Jlink 调试

Jlink 所谓硬件版本,就是这个调试器的硬件是第几代,我手上的这个是 V8 所谓固件版本,就是这个调试器主芯片中内置的软件是什么版本,我刷入的是 J-Link ARM V8 compiled Nov 28 2014 13:44:46 所谓 Jlink 工具版本,就…

记录--原生 canvas 如何实现大屏?

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 可视化大屏该如何做?有可能一天完成吗?废话不多说,直接看效果,线上 Demo 地址 lxfu1.github.io/large-scree…。 看完这篇文章(这个项目)&#xff…

在线支付系列【13】微信支付之签名验签流程分析

有道无术,术尚可求,有术无道,止于术。 文章目录前言签名生成签名验证总结前言 在上篇文档中,我们简单实现了对接微信支付的几个接口。了解到wechatpay-apache-httpclient框架自动实现了签名和验签,接下来跟踪下源码&a…

LeetCode-136. 只出现一次的数字

目录题目分析哈希集位运算题目来源 https://leetcode.cn/problems/single-number/ 题目分析 题目有个条件可谓相当重要,即凡重复的元素最多重复一次(原话:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个…

详解Mybatis-Plus中分页插件PaginationInterceptor, MybatisPlusInterceptor在SpringBoot中的使用

文章目录1. 描述1.1 MybatisPlusInterceptor1.2 InnerInterceptor2. 实现2.1 不带条件的分页查询2.2 带条件的分页查询2.3 简述Page类3. 注意事项1. 描述 1.1 MybatisPlusInterceptor 我们在开发的过程中,经常会遇到分页操作,其分为逻辑分页和物理分页…

Gif动态图片如何用静图制作?教你静图合成动图的方法

gif动图如何制作?相信对于gif动图大家都不陌生,在平时的聊天软件中、公众号文章中都可以看到。那么,要如何制作gif动图呢?下面,就给教大家两个在线gif制作(https://www.gif.cn/)的方法&#xff…

综合案例【商品管理系统-Java基础版】(附完整源码)

Java语言的一个超级简易的商品管理系统,适合初学者练手 源码包无法上传至资源(blog已经超级完整啦)如果还是需要完整源码src包可私分享 目录1 项目分析1.1 用户模块(普通用户、管理员用户)1.1.1前端系统(普…

FluentReader为什么称之为高颜值的rss阅读器

Fluent Reader 这是一款 RSS 阅读器。对于很多年轻的网友来说,RSS 这个名词可能有点陌生。简单来说只要某个网站支持 RSS,你订阅了 RSS 后,一旦网站更新了内容,就会推送到你面前。这时候,我们就需要一款像 Fluent Rea…

全屋智能三国志

刚刚过去的春节假期,对我来说,是一个收集现实素材、感应社会变化的好机会。也确实发现了不少新趋势,一个结论是:智能家居正在酝酿新一轮的市场浪潮。以央视春晚作为切口,每年央视春晚的广告投放,都一定程度…

vscode 配置 plantuml

1、首先安装 plantuml 插件 2、安装 java 开发环境 如果是 mac 系统,直接执行 brew install java ,然后按照下图执行下提示中的命令即可 如果是 windows 系统,需要去官网下载 java jdk,安装好之后添加运行路径到 path 中 https://…

基于 ShardingSphere 的分布式数据库负载均衡架构搭建实战

本文主要分为 3 部分,将依次介绍: 基于 ShardingSphere 的分布式数据库「负载均衡架构搭建」要点结合实际的「用户问题案例」,介绍引入「负载均衡」的影响介绍并展示 ShardingSphere 分布式数据库在云上的「一站式解决方案」 文章目录Shardi…

LED背光车载驱动IC 可支持48通道

特性电源电压范围-VDD:3.3V~5.5V-VLED:27V(max)48 个恒流输出通道- 通道恒流输出范围 0~50mA一 通道间电流输出偏差小于3%- 芯片间电流输出偏差小于 3%Low Knee Voltage:0.55V小于20mA0.6V 大于20mA最大支持4扫,内嵌行控制信号通道灰度实现-支持 PWM/PAMPWM驱动 -灰…

云帆文档管理系统版本更新说明:v4.6.0

一、新增及优化功能资料管理新增打包下载管理端增加资料查阅菜单,管理端和用户端用户有同样的查阅权限,方便其快速的查阅企业的资料信息前端下载文档格式添加下载水印,水印显示的是下载的用户和日期采购合同增加智能识别功能资料管理添加关键…

KPI考核系统实战之二:swagger框架

KPI考核系统实战之二:swagger框架一、asp.net core 3.1二、融合swagger1.Nuget安装Swashbuckle.AspNetCore2.Startup.cs 注册Swagger服务,使用swagger中间件一、asp.net core 3.1 使用Visual Studio 2022,搭建asp.net core weiapi开发平台&a…

煤矿皮带运行状态监测预警系统 yolov7

煤矿皮带运行状态监测预警系统通过yolov7网络模型深度学习技术,自动对传输皮带运行状态进行实时监测。当监测到皮带撕裂、跑偏、异物、堆煤等异常情况时,立即抓拍预警及时停止皮带同步回传违规信息到后台。介绍Yolo算法之前,首先先介绍一下滑…

PushKit/Callkit使用经验

前言:如果要求使用这两种库,请在查询资料并自己尝试后,多参考苹果官方的API文档:PushKit:https://developer.apple.com/documentation/pushkit?languageobjcCallKit:https://developer.apple.com/document…