Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >学了三年Java,只会一个Hello World....

学了三年Java,只会一个Hello World....

作者头像
叫我阿柒啊
发布于 2022-12-18 08:35:31
发布于 2022-12-18 08:35:31
4610
举报

前言

初次接触编程是13年9月份,大一的第一节C语言课上,学了一个简单的max(a,b)。当时属于代码看不懂,所以也没有考虑学这个有什么用,只是觉得nblity。

后来Java课堂上接触到第一个程序:Hello World!继续学了一段时间,开始不禁思考:学这个有什么用? 但局限于那个时候,只是单纯地为了应付考试的学习思维,后来这个想法就只停留在了萌芽阶段。

16年开始自学Java的时候,这个想法又涌上心头。幸得大佬舍友指点迷津,再加上后来的大作业实践中又窥得几分答案,故得以在Java这条路上坚持了许久。

Java作为我的主语言,学了很多年。虽然在最后的职业选择中,没有成为一名优秀的Java开发,但是Java还是与我的工作内容息息相关。这里就根据我自己所见所经历的,来浅谈一下Java能干什么。

Java能干什么

学数据类型、if、while、for语句、集合这些东西,到底有什么用?或者说到底学到什么时候,才能做出一个产品?只能说,让子弹飞一会

现在仔细想,其实后来课堂上的学习,就这个问题也给出了很多答案,只是那时候我不懂,就错过了。

1. 桌面应用开发

桌面应用开发就是基于Swing做的C/S架构的程序。以前好多管理系统都是C/S的,不过现在常用的都是B/S架构。这里C指的是Client,即客户端,B指的是Browser,即浏览器。而S就是Server,即服务的意思。

大一下学期的Java课程,我记得一共是做过两次大作业。第一次题目是基于Swing做一个管理系统,我做的是运动会报名系统。通过JDBC连接MySQL就是核心代码,不超过二十行的那种。在界面上输入姓名,选择一个项目,点击确认,插入到数据库,完成。

当时做完这个大作业的时候,我觉得自己无敌了,拿捏了~ 其实现在想想,那时候懂个der啊。第二次是做一个音乐播放器。我记得我做出来了,也是基于Swing。

2. 安卓开发

应该是大二,开设了安卓课。当时学渣一枚,课堂上没学到什么东西,然后就直接过渡到大作业实践阶段。

当时实践内容是仿照微博做一个APP,电脑上安装了安卓模拟器,老师也给了一大堆素材,后来我记得我应该是做出来了....

当时听得最多的名词就是SDK,当然,到实践结束我也没搞明白SDK是什么。

3. 后端开发

"后端开发是当前Java开发者扎堆最多的职业。"

后端开发主要使用的技术,从我刚入学听说的的SSH框架(Sping、Struts2、Hibernate),到我自学Java时的SSM(Spring、SpringMVC、Mybatis),再到后来学习的Springboot。这一路走来,低耦合、低配置化,让学习和开发难度在逐渐降低。

有的后端开发会调侃自己是'CURD工程师',有时候也无可厚非。框架帮我们造了轮子、制定了开发模板,我们只需要在固定的地方,编写承上启下的业务代码逻辑。启下:增删改查数据库;承上:接口返回数据到前端。

当然,后端要学的框架还有很多。例如微服务框架SpringCloud、分布式框架Dubbo、NIO框架Netty、权限控制安全框架SpringSecuriy/Shiro等。

4. 大数据开发

在我大数据开发的生涯中,接口写的比较少,虽然偶尔也会写,但都是分内之外的事情。更多的是偏向于数据采集接入和处理。

17年8月份实习期开始学习大数据,11月份开始接触Java开发的程序。18年开始接触Spark,但Spark开发我都是用Scala,Java在自定义Hive的UDF和Flume的组件时会用到。

大数据和Java是息息相关的,这一点是毋庸置疑的。大数据组件很多源码都是基于Java开发的。当然,如果你只想做一个ETL工程师的话,是可以不用学Java的。

5. 其他

上面列举的4种Java用途,都是我个人经历过的。其他的用途还需要大家来扩展。

基础的意义

如果把上面的Java用途比作上层建筑,那么数据类型、if、while、for这些,就是下层基础。学好Java基础是关键。所以Hello World也是极具意义的,它让你明白一个如何定义一个类、一个程序的入口是main()函数。

在Java基础学习的概念,比如「面向对象、封装、继承、多态」等,是奠定Java开发的核心理论。在后面开发中,经常遇到的集合、I/O、泛型、反射、异常等这些基础类,也是在Java基础阶段学到的。

Java体系

画了一张图,用斗破苍穹修炼等级来比喻了一下Java的学习过程。Java基础相当于斗气凝结成气旋,只有成为斗者才能走上修炼之路。JavaWeb的斗气化翼,相当于积累之后质变的阶段,初窥后端开发流程。

而Java框架对应斗宗的踏空而行,是真正接触到工作内容的阶段。微服务让人跳出传统的开发模式,对应斗尊的开辟空间。而JVM和并发编程对应斗圣强者,一是难度大,二是只有一部分人愿意学到这。。

之所以五星斗圣戛然而止,因为IT行业学无止境,需要缓慢修炼学习积累。

如果说Java基础让我了解Java,那么JavaWeb是我自学Java的第一次质变。我是在学完JavaWeb后,才明白之前学的int、String、for、while、if、List、Map、Set的价值所在。

我定义一个servlet写下逻辑代码,在开发简单页面后,发布到tomcat上运行。我在浏览器中访问页面,通过点击按钮触发servlet中自己写的代码。当时感觉好神奇,心里也有点成就感。对一个Java初学者几个月以来,具有肯定意义的时刻。那也算是第一次接触到前后端,只是当时过分菜而不自知。

Java框架就触摸到了工作内容。框架算是JavaWeb的进阶版。框架给我们提供了更为简单快速的开发方式,所以其易用性深受广大开发者的喜爱。

我没有很特地去学微服务,因为学完框架就实习学大数据去了。后来也现学现卖了一次,基于SpringCloud和Springboot写过一个微服务程序。但是微服务的服务拆分、服务协同、网关、负载均衡还是值得研究的,会扩展一些之前没有见过的知识面。

JVM,挺有意思的。看书看了三次,才稍微学了点皮毛。这一部分的学习是真的太需要耐心了,我对它的形容就是:晦涩枯燥但快乐。快乐该怎么描述呢?平时用不到,但用到了就知道。

结语

很久之前,就想整理一下我自学Java时做的笔记。但是原样输出对我意义不大,所以最后决定以博客的形式,在原有笔记的知识点上,加上个人的理解,整理成一个Java系列的文章。

第一篇主要结合自己的经历,来讲一讲Java能做什么。下一篇打算写一写<Java的面向对象>,一个贯穿整个Java的程序设计思想。

感谢每一次遇见

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门到放弃之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java自学方法和路线,我万字推荐你这样学
大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达)。
bigsai
2021/04/26
1.3K0
大学四年Java学习路线规划,所有私藏资料我都贡献出来了,我要是早知道就好了
首先我不是来打广告的,此篇内容会涉及到很多产品,我只是贡献出来学习工具途径,读者自己衡量。
阿甘的码路
2020/08/17
9530
大学四年Java学习路线规划,所有私藏资料我都贡献出来了,我要是早知道就好了
细数自己学习过的编程语言,附学习建议
今天给大家分享一下我从大学自学编程,然后毕业四年多以来,学习过的编程语言,然后也会对这些编程语言做一个简单的比较,最后也会给出我的学习建议。
roseduan
2024/03/20
2450
细数自己学习过的编程语言,附学习建议
肝了一个月的 Java/后端学习路线
自学/学习路线这样的一期我想写很久了,因为一直想写的全一点硬核一点所以拖到了现在,我相信这一期对不管是还在学校还是已经工作的同学都有所帮助,不管是前端还是后端我都墙裂建议大家看完,因为这样会让你对你所工作的互联网领域相关技术栈有个初步的了解。
敖丙
2020/09/01
7480
学了十几种编程语言后,我终于悟了!
16 ~ 24 年,算下来我学编程 8 年多了,这期间我学过十几种编程语言,比如 C、C++、Java、Python、JavaScript、Go、PHP、C#、SQL、Scala 等。
程序员鱼皮
2024/07/25
2300
学了十几种编程语言后,我终于悟了!
初学者学Java常遇到的问题,我都给你回答了!
看到了这个问题,就想起了我在大学自学的时候有同样的问题,现在工作了,来写写自己的看法,希望对广大的初学者有所帮助。
Java3y
2020/02/19
1K0
初学者学Java常遇到的问题,我都给你回答了!
花了两万 培训Java的三个同学,结果怎么样了
因为当年大学时期的我,也差点去参加Java培训。一是因为那时钱包空空,两万的费用让我望而却步。二是那时候我已经开始自学了一部分Java,自己也不想再去那种紧张高压的环境下学习。最后我们班三位女同学去了首都参加了培训,两个Java、一个前端。
叫我阿柒啊
2022/08/31
4591
最新Java学习教程路线图(2021完整版)
各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java。因此,也是吸引了不少年轻人投入到Java的学习之中。
全栈程序员站长
2022/09/08
4180
Java开发转行大数据,需要做到哪几点?
Java开发转大数据开发要做到几点?假设你有Java基础选择了自学大数据,而对于完全没有编程和Java基础的人来说,自学绝对是浪费时间和精力的事情。Java开发转大数据开发要做到几点? 现在已经从之前
用户5265382
2019/04/29
7690
Java开发转行大数据,需要做到哪几点?
一文看懂Web后端开发「建议收藏」
由于网络上系统地介绍后端开发的文章实在太少,而最近有恰巧有许多同学问我“什么是后端开发?”、“你为什么喜欢后端开发?”、“做后端都需要学什么?”,那么我们就来讲一讲,到底什么才是后端开发。
全栈程序员站长
2022/09/07
3.4K0
努力学计算机四年,终于进腾讯了!
看了几个高赞回答后,真的是感同身受,也想和大家分享一下自己大学的学习经历,算是给自己一个继续前行的动力吧。
程序员鱼皮
2021/05/07
1.2K0
Java后端工程师必备书单(含大后端方向相关书籍)
作者黄小斜,斜杠青年,某985硕士,阿里研发工程师,于2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer
程序员黄小斜
2019/03/11
3.2K0
谁说没实习经历,就不能进大厂了!
鱼皮你好,我目前的情况是西电研二在读,因为所在实验室不放的原因,没法在研二尝试去找实习。自己的进度是目前力扣用 C++ 和 Java 总共写了 300+ 题;Java 因为实验室项目,SSM 和 Spring Boot 以及 MyBatis Plus 用的还算比较熟练。目前手上只有实验室的两个纯 Java 的开发项目,Redis 和 消息队列课程都看过了但还没有实操,现在正在看黑马的微服务课程,因为里面有关于缓存和消息队列的应用,想着跟着实操一下,之后也会跟着 星球的项目 做下,并发部分还没有了解,C++ 的话目前就只是拿来写题。
程序员鱼皮
2022/11/07
9510
谁说没实习经历,就不能进大厂了!
Java零基础快速入门的方法
各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java。因此,也是吸引了不少年轻人投入到Java的学习之中。
全栈程序员站长
2022/09/07
3540
Java零基础快速入门的方法
java基础编程入门教程,2022最新
Java学习到什么程度可以找第一份工作自己买了本Java从入门到精通。以为可以很快地学完,非CS专业。现在我想说所有系列的从入门到精通都是垃圾,一年多来,我每天白天看视频,晚上敲代码到凌晨,我是一个很倔的人,我认为天下没有任何东西是人类学不会的,所以我就付出高三一样的时间去学习。
全栈程序员站长
2022/09/08
4880
java基础编程入门教程,2022最新
学了十几种编程语言后,我有哪些感受?
学编程 5 年多了,我学过十几种编程语言,比如 C、C++、Java、Python、JavaScript、Go、PHP、C#、SQL、Scala 等。
程序员鱼皮
2021/11/17
3.2K0
java 学习路线
注:这里的 java 基础只是一些简单的语法和 Java 特性,对于线程这些高级的内容可以在写过一些项目后回头来巩固一下
帅飞
2019/01/22
9100
我学编程时最后悔的事!
很多朋友看完这篇文章后,会感到好奇:我是如何在大学期间做了那么多事情、学了那么多编程知识的?
程序员鱼皮
2021/07/23
5010
python,java,c语言哪个好_小萌新
才发现语言的选择也就那一回事,我猜不少人刚入门的人依然被这个问题困扰着,所以决定认真分享一波我的经历。
全栈程序员站长
2022/11/01
8680
一位资深程序员大牛给予Java的学习路线建议
Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。   在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。2、下
Java高级架构
2018/04/19
8590
相关推荐
Java自学方法和路线,我万字推荐你这样学
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文