Java学习方式分享

哈喽,大家好呀,好久不见!咱依然是那个腼腆害羞内向社恐文静、唱跳rap篮球都不大行的【三婶er】

坦白地说,今天是偶然看到C站这个活动的,这个主题我颇有感触,刚学java时的场景,历历在目。所以今天就来分享一下学习方式吧,练习时长两年半,不喜勿喷哈哈哈哈哈…

一、it技术介绍

对于不同语言的开发者而言,大家听到最多的一句话可能就是:xxx是世界上最好的语言。

那行吧,作为主java开发程序员,咱也说一句:java是世界上最好的语言!如果有人跳进来打我膝盖,跪请各位java程序员护我周全。

在这里插入图片描述

偷偷告诉你,三婶儿这么说完全是因为对其它语言不大了解,不然可能也会说python、go…是世界上最好的语言。

1.1、java是什么

我们来看一下百度百科关于java的介绍。

Java 是一个通用术语,用于表示 Java 软件及其组件,包括“Java 运行时环境 (JRE)”、“Java 虚拟机 (JVM)”以及“插件”。 [1]
Java具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的形式和感觉,但它要比C++语言更易于使用,而且在编程时彻底采用了一种以对象为导向的方式。

关于java到底是什么?不知道有没有人去研究过这个问题,并且可以很通俗的把“什么是java”给表达出来?

多数情况下,别人问你什么是java的时候,你可能想了半天不知道怎么描述,最后酝酿出来一句:java是一种编程语言

当然,这么说完全没毛病。但是,如果你有一个非IT行业、从来没接触过编程的漂亮女朋友问你:java是什么的时候,你如何解释呢?

闭嘴吧,我没女朋友

在这里插入图片描述

试想下,如果你去国外旅游,周围都是老外,他们都说英语。当你和他们沟通时,是不是也要说英语?

这个时候,英语就是一个沟通的“桥梁”。你会,我也会,我懂你,咱们就能沟通!

在这里插入图片描述

换到编程里面也是一样的。java是一种语言,一种计算机可以识别的语言。当你用java语言编写一段程序运行时,计算机会运行程序识别你的意图,处理后返回给你想要的结果

总的来说,java就是一种人和计算机之间沟通交流的语言

1.2、为什么会选择java

java是我接触到的第一个编程语言,也是迄今为止使用最多的语言。

工作这么久以来,听到最多的一句就是:你当时怎么想着学计算机呀,很少见到女后端…
我说那不是怕毕业之后不好找工作嘛,都说计算机行情前景好,咱也来试试?

其实,第一次听到“java”这个词,是在2016年的秋天。

当时填报志愿确实很迷茫,家里意思是想让我报教师,老一辈的可能觉得教师行业稳定,铁饭碗。还有亲朋建议医生、空乘之类的专业。

害!现在想想,还真不知道当时为什么会先填了医学?咱就是说,填完之后就是一点也不开心,心里抵触感特别强,那也是我人生中第一次强烈意识到我不可能在医学方面发展。后来就改了志愿,换成了计算机。

作为一个一点不懂电脑的人,估计当时是觉得计算机专业毕业后好找工作吧。不过那时候java确实还没有现在这么卷。那时候头发也很茂盛…

在这里插入图片描述

二、学习前的准备工作

2.1、准备电脑

家人们,学习编程,首先要准备的就是电脑。不然巧妇难为无米之炊啊!电脑整上,整上!

2.2、制定计划

所谓机会都是留给有准备的人的,一点也不假。学习也是一样。

对于初学者来说,可以考虑制定适合自己的学习计划,比如:

第一天:开发环境配置
第二天:了解基本语法
第三天:对象和类
第四天:…

可以先把学习计划给罗列出来,由浅到深,循序渐进的学习。

进阶者的话,因人而异哦,根据自己的具体情况制定,这里不再过多bb了。

2.3、学习途径

2.3.1、书籍学习

虽然现在看书学习的人已经少之又少了,但书籍学习确实系统性很强,有不少好处。

书籍通常按照编程语言的结构、特点和应用场景来组织知识,使得读者可以获得体系化的学习。且书籍出版流程较为严格,每一处代码示例都是真实可行、易于理解的。尤其是java领域中技术大牛编写的书籍,更具有学习价值。

分享几本经典的Java学习书籍:《Java核心技术》、《Java编程思想》、《Java并发编程实战》。

三婶家里也有两本,哈哈哈哈哈哈。
在这里插入图片描述

2.3.2、在线学习

网络上有各种在线学习资源,不乏存在较多Java技术栏目,分享几个很不错的Java学习网站(不分先后)。

1、【慕课网】:https://www.imooc.com/
2、【极客时间】:https://time.geekbang.org/
3、【中国大学MOOC】:https://www.icourse163.org/
4、【CSDN学院】:https://edu.csdn.net/
5、【菜鸟教程】:https://www.runoob.com/java/java-intro.html
6、【how2j】:https://how2j.cn/
7、【程序员导航】:http://cxy521.com/
8、【bilibili】:https://www.bilibili.com/

今年AI炸裂,当然必不可少的辅助工具就是chatgpt。有好多开源的,比如https://chat.wuguokai.cn

国内的科大讯也不错:https://xinghuo.xfyun.cn/楼主内测使用,觉得还蛮不错。

2.4、学习工具

只学理论肯定是是不行的,得实操起来。这里分享一下常用的工具和包,中间件之类的就暂时不写了,太多了。

2.4.1、java环境(jdk)

jdk虽然已经更新到20版本了,但目前多数项目中使用的还是jdk8版本居多。楼主建议新手上路可以考虑jdk8练手,感兴趣的同学可以学习一些新版本中的特新性。

java中环境变量的配置,可以参考:https://blog.csdn.net/weixin_43770545/article/details/92140645?spm=1001.2014.3001.5501

2.4.2、项目版本控制(git、svn)

svn现在基本不怎么见使用了,较多的还是git。有一些操作工具,比如sourcetree。当然你也可以使用命令行操作,三婶就很喜欢命令行操作,很方便。

sourcetree官网:https://www.sourcetreeapp.com/

命令行操作三婶之前也有总结,可参考:https://wshanshi.blog.csdn.net/article/details/124555310

2.4.3、依赖管理(maven、gradle)

maven官网:https://maven.apache.org/

下载后记得修改配置文件中maven仓库、镜像加速。

gradle官网:https://gradle.org/

2.4.4、开发工具(idea)

idea官网:https://www.jetbrains.com/idea/

社区版本和正式版本都可以下载。基本使用的话,社区版本就可以了。

分享一下好用的插件:https://wshanshi.blog.csdn.net/article/details/91348227

2.4.5、数据库(mysql、sqlserver、oracle、redis、mongodb)

这几种数据库使用的都挺多的,大家可以根据需求选择使用。

mysql、redis、mongodb免费,中小型项目使用较多。
sqlserver、oracle收费,偏向金融性的项目使用较多,相对数据安全些。

2.4.6、数据库连接工具(navicat)

官网:https://navicat.com.cn/

2.4.7、服务器连接工具(xshell、tabby、xftp、finalshell)

这几款都是很好用的shell工具,可以实现操作服务器,以及上传下载。相比较而言强力推荐tabby,太好用啦。

tabby官网:https://tabby.sh/

tabby使用可参考:https://zhuanlan.zhihu.com/p/443550221

2.4.8、容器化(docker)

容器化形式部署、运行和管理就更不必说了,绝对是一个里程碑。dockerfile的定义、容器编排,使用特别方便。

docker官网:https://www.docker.com/

三、学习时的具体操作

学一样东西,首先要明白这个东西是什么,有什么用,怎么用。熟练了之后,再去研究怎么样能把这个东西用好,发挥它的价值。

比如这个手套,刚好用上,今天工地的砖格外烫手。

在这里插入图片描述

3.1、实操与理解

3.2.1、循序渐进学习

从基本语法开始学习,紧接着是基本数据类型,数据结构,再写一些算法、熟悉了之后开始了解面向对象、接口、框架…

初学我说不上有什么技巧,但是一定要循序渐近学习,别想一口吃成个胖子。

如果能够边学边理解,那是最好的。如果刚学的时候不大理解,也不要着急。多加练习,先熟悉起来,慢慢的后面就通了。

不怕你们笑话,楼主刚学java时,半年还没开窍,都急哭了哈哈哈哈啊哈。后来慢慢的就恍然大悟了,但是一定不要眼高手低噢,循序渐进、多加练习准没错!

可参照楼主上面分享的学习网址内容学习,加油鸭!

3.2.2、开散性思维

java刚学的时候好像是有点抽象,有些东西甚至很难理解。比如:面向对象、封装、继承、多态。

什么是对象? 当然不是现实中的那个对象(现实中你也没有女朋友啊,确实不知道对象是什么,哈哈哈哈哈哈)

【插图】

其实很多情况下,编程中的一些术语,结合起现实生活中的例子,就很好理解啦。

试想下,你理想中的女朋友是什么样子的。
张三说:我喜欢长发、肤白、貌美、身高170、体重98、性格幽默古怪的女孩子…
李四说:我喜欢短发、肤白、貌美、身高160、体重98、性格可爱娇小的女孩子…

三婶说:我喜欢长得帅的、阳光开朗大男孩,给我来一大把…哈哈哈哈哈哈…

那么,回到编程里面来说,这些描述是不是可以提取出来一个抽象的对象?它包含了一些属性在里面?

举个例子,女盆友属性:

/**
 * 女盆友属性
 */
@Data
public class Girlfriend {
    /**
     * 编号
     */
    private String id;
    /**
     * 头发(长发、短发)
     */
    private String hair;
    /**
     * 肤色(白、黄、黑)
     */
    private String color;
    /**
     * 身高
     */
    private Integer height;
    /**
     * 体重
     */
    private Double weight;
    /**
     * 性格
     */
    private String nature;
}

提取出相关属性,这就是一个对象啦。收集到的对象信息可以进行操作或存储,当我们库表中存储了多条数据信息后,也可以进行一些相关的业务操作

比如:某海王同时拥有3个女朋友,有一天朋友问他和对象相处的怎么样?

朋友:”铁子,你和你新谈的对象相处的怎么样啊?“
他:“你问的是哪一个啊?哈哈哈哈啊哈哈…”
朋友:“身高170,长头发那个!”
他:“那个妹妹啊!相处挺好的,脾气也不错。”

在被询问的时候,某男是不是在脑海里进行了一个过滤?【身高170,并且留着长头发】的妹妹?

然后得到答案:是她啊(很像我前女友的那个)。

【插图:漂亮妹妹】

为什么会有“面向对象编程”的思想? 大家想一下,上面例子中某男的过滤,是不是类似编程中一个业务动作的处理?我首先收集到妹妹们的信息,存储起来。当我想去找到符合某些条件的妹妹,我就去各种条件筛选,拿到我想要的信息!

其实面向对象的“对象”,就是来源于生活,生活中每一个东西都可以抽象在编程中。

再举个例子,比方说:”水果“。提到水果,大家不乏想到:苹果、橘子、香蕉、榴莲…
如果有人问你水果是什么?你会怎么回答?你会指着苹果、橘子、香蕉、榴莲…然后告诉他这就是水果?

这么回答确实也没问题!但是,当你去水果店告诉老板帮你称两斤水果。老板肯定会问你要什么水果。因为水果只是一个抽象的统称,看不见摸不着。只有实例才是看得到的,比方说苹果、橘子、香蕉、榴莲。就是水果的一个多态体现。他们都可以被称作是水果,但你不能反过来说水果就是香蕉
【插图:多态画图】

如果能够像上面这样,结合一些现实生活去理解编程,是不是就好学一些了呢?

四、如何巩固学习

4.1、不懂一定要问

学习过程中不可能一下全部理解,全面掌握。除非你是天才,哈哈哈哈哈。

在这里插入图片描述

当遇到问题时,不要躲避怕解决问题。可以先网上查一下资料,尝试一下自己解决。实在解决不了的,可以考虑向盆友或老师请教。

我之前带过一个实习生,写代码时抛了个异常问我。我看了一眼,就是一个常见的异常。我问他有尝试过排查解决吗,他摇了摇头…

有好多类似的同学,只看到异常了,但是不知道如何去解决异常。

这种情况下,你可以把异常信息拿网上搜一下,然后debug去看代码中为什么会出现这种情况。如果还不能解决,至少在请教别人的时候你可以大致说出问题所在,表达出你尝试了什么方法解决,仍没有生效。相信这种情况下,被请教人肯定是乐于帮助你的。

在这里插入图片描述

4.2、多总结、多记录、多分享

总结和记录无疑是一个好习惯。之前大学辅导员让我给学弟学妹们做个分享,我也建议他们多总结、多记录、多分享。

在这里插入图片描述

4.2.1、树状体系内容总结

当你学习了某块知识之后,可以边回顾边画树状体系图。树状分散总结,方便回顾、清晰明了,又加深印象。

分享两个好用的内容体系总结软件。

xmind中文网:https://xmind.cn/xmind8-pro/
gitmind官网:https://gitmind.cn/mindmapping?apptype=aps-360

在这里插入图片描述
如果你在学习完某块东西之后,可以完整的梳理出一个树状图。那么恭喜你,这简直泰裤辣!

4.2.2、记录异常

记录一些自己遇到的问题,踩过的坑。可以详细到异常的原因和解决方法

当下次遇到同样的问题时,如果忘记了,还可以回顾一下。

不然到时候就会有一种:考试之前老师讲了某个题,但是你没认真听,等考试时考到了,你隐约记得之前是写在黑板右下角的那道,但就是不记得怎么解题的感觉…肠子都要悔青了…

在这里插入图片描述

4.2.3、记录新东西

好记性不如烂笔头,当你认真的学习了一个新东西之后,一定要记录下来。在记录的过程中,你会发现自己又深刻的学习了一遍。

4.2.4、记录工具

最后再分享几个好用的笔记软件吧,也有在线的。

【有道云笔记】:https://note.youdao.com/
【印象笔记】:https://www.yinxiang.com/
【语雀】:https://www.yuque.com/
【石墨文档】:https://shimo.im/

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值