当前位置: 首页 > 知识库问答 >
问题:

java - 感觉学Java好累啊,要学的东西也太多了吧,大家什么感受呢?

慕乐池
2024-10-03

感觉要学的东西也太多了吧,java基础+spring全家桶+各种中间件+mysql+oracle+docker+k8s+前端html+css+js+vue等,还有Linux,等等,感觉好累啊,要学的东西实在太多了吧,大家觉得呢?而且我觉得学的广不如学的精,什么都会一点其实等于什么都不会。

共有4个答案

傅志文
2024-10-03

其实大部分业务不需要多深的理解,学习就从最基础的来。

所有的技术都是给业务服务的,从产品的角度来看,一个好的产品不过是一些技术的集合,不在于使用的技术有多强,但要求功能必须好用。

如果你想做全栈,可以循序渐进的学习,至于balabala的技术名词,我就不提了,我就提一些实际的。

假如做一个博客,把产品分为几个阶段。

1、你用后端去完成增删改查,用前端去完成页面交互,用docker去完成快速部署,买域名、租服务器,部署网站。到这一步,可以实现简单的博客功能。到这一步,你基本学会了Java语法、Maven,理解了Spring、MVC,会用了git,知道了DNS和网站运行的逻辑,理解了前后端分离的作用,明白了Linux的基本命令...

2、加一些新功能,例如音视频、聊天、上传文件。你可能又接触到oss对象存储、事务处理...

3、假如你的网站做大了,你想提高用户体验,你可能又用上了分布式,CDN。这里你又接触到了grpc、Redis、kafka、RocketMQ...

在做你的产品时,你会遇到各种各样的报错,遇到各种线上事故,这些才是你真正学到的东西。

学习永远不是靠嘴说,死记硬背,一定要上手敲,付诸实践。

btw多说几句,

大部分的产品体量不会有多大,面试官就喜欢看你不会的样子。

至于你所说的学的广不如学得精,互联网时代,是百度github不好用还是gpt不给力了,你知道做功能时候用什么技术就OK了。学习阶段,先学广再学精,互联网这个技术更新这么快,你不跟上就被淘汰。大家以贫穷相聚,技术这东西,说得过去就行,相信大部分人所谓的技术,不过是封装的好看不好看罢了。

至于面试,就当今环境来说,技术不如学历,会的多不如经历牛,太扎心了。

学习技术是给自己生活的兜底,ppt写的好才是工作的真理。

师建德
2024-10-03

你提到的“学的广不如学的精”,这句话确实很有道理。在某种程度上,深度确实比广度更重要。但是也要认识到,在现在这个快速发展的时代,具备一定的广度也是非常重要的。因为很多问题都需要跨领域的知识来解决。

学习过程中的实践也是非常重要的。通过实际项目来应用所学知识,不仅可以加深理解,还可以提高学习的兴趣和动力。可以在学习的过程中找一些实际项目来练手。

郭志泽
2024-10-03

前端部分的可以不学,先把Java的部分学好。
虽然说现在都开始往全栈开发回归,但是大部分岗位还是前后端分离的。学习起来负担小、路径也简单很多。

前端东西太纷杂了,很容易在很多犄角旮旯不重要的东西上面花费精力。

单纯学Java语言还是很快的,主要是学习周边的一套生态会花费大量的精力。主要是去从会用Java写代码转变成吸收 Spring 的那一套开发范式和思考模式。


做开发累是必然的,在整个职业生涯中都会需要自己持续学习。等到什么时候觉得自己学不动了,不想学了职业生涯也就快结束了。

尤飞尘
2024-10-03

如果你是个Java初学者,我建议你换个方向吧,Java语言学习学习,作为第二第三语言,拓展自己,都是个不错的选择,如果作为主要语言,并且靠这个生存,那你最多只有干个四五年的,现在这个赛道人又多,又卷,市场又差。

加上国内的互联网市场本来就很垃圾,你不精,有的是人精,你了解的少,有的是人学得多。

普通随随便便的300人小企业,整天CRUD,还在用Java 8,Spring 2.3,稍微用了点dev ops,加上Redis,上了MQ,但是他面试就是让你讲ZGC,讲Docker,讲MySQL内存页等,或许还要出场景让你写方案,你答的不错,进来了,前几个月就是改改bug,整天做不完的垃圾需求,都是客户说什么就做什么,代码写的跟山一样,节假日周末还要轮流值班,混个把年,工资从来不涨,你要走,意思挽留挽留,也不涨工资,人家会再招个新人。

如果你非要学,想要快速上班,就去B站刷视频,每个了解了解不停的面试,学习就行了。

你想要逐步扎实,稳定提高,那我推荐你个步骤

  1. Linux基础
  2. Java 基础(用VIM在Linux环境下,了解java javac javap): 语法、三大特性等
  3. Java 高级 (IDEA): IO、并发、反射,序列化打扎实
  4. 了解一些Java 基础库 lombok ,log4j,JSON库,图片库等
  5. Maven
  6. TCP/UDP/HTTP
  7. XML + JSON
  8. SQL 语法(Linux终端学习),事务
  9. JDBC (至少两种数据库,推荐MySQL + Oracle)
  10. MyBatis (sqlSession ,Interceptor , Transaction)
  11. Servlet
  12. Spring /Spring Beans/Spring Core/Spring MVC / Spring JSON各种基础库
  13. Spring Boot (就看AutoConfiguration)
  14. Spring Boot + MVC + MyBatis + MySQL 项目
  15. Redis基础命令和数据结构
  16. 14步的基础上加Redis
  17. Spring Security / Spring Oauth 2 / Spring AI /Spring Jms 等高级点的组件
  18. Spring Cloud (阿里巴巴那一套不学,主要看Spring Cloud标准)
  19. RocketMQ了解一下整合到16步的项目
  20. 结合19的项目,第5的maven,学习Docker,优化包结构,分离打Jar,优化项目启动速度等
  21. 了解K8S和基础命令

基本上15步骤结束就能过面试了,后面的步骤上班边历练边学,前端空闲时间随便看看再学,有了Java的基础,学习什么Vue,webpakg,rollup带入到Maven很快的,B站找找视频看就行。

面试的时候,简历别写前端,后端就是后端,前端就是前端.

学编程重在敲,多自己写就会了。

 类似资料:
  • 如题,之前在研究nginx,发现原来可以使用vscode+ssh扩展直接编辑linux上的nginx.conf,而且还有代码提示和格式化功能,不要太好用。所以我不禁要问,到底有没有必要花大力气学vim,感觉再怎么强大也没有vscode好用,而且还有扩展支持,大家怎么觉得呢?

  • 问到了redis删除机制,spring mvc底层原理,threadLock(其实应该想问的是threadlocal,没反应过来)。 问的全是比较理论性的东西,背题还是不够,认栽了😢 #软件开发面经##牛客创作赏金赛#

  • 一面 1小时4分钟 1. 自我介绍 2. 怎么学习的前端? 3. 挑一个你做的好的项目介绍一下。 4. worker线程。 5. 做组件库是出于什么想法? 6. 组件库最大的挑战是什么。 7. 你认为你的组件库和 element-plus 的区别是什么 8. 你认为开发一个表单组件有哪些技术点和比较重要的实现。 9. 如果表单用户传入初始值,我需要随时可以重置会初始值,怎么实现? 10. 用过哪些

  • 多层感知器定义了人工神经网络最复杂的架构,它基本上由多层感知器构成。多层感知器学习的图示如下所示 - MLP网络通常用于监督学习格式。MLP网络的典型学习算法也称为反向传播算法。现在,我们将专注于使用MLP实现图像分类问题。 上面的代码行生成以下输出 -

  • 概述 科学传感器是童心制物(Makeblock)自主开发的一款多合一传感器,集成了MQ2气体、地磁、火焰、气压、温湿度、热运动、触摸以及土壤湿度传感器元件,可方便且高效地应用于多种数据收集、科学探寻和物联网项目。 功能与参数 整体参数 尺寸:78.2 × 24 × 1.6(mm) 工作电压:5.0 V 工作电流:250 mA 各元件功能与参数 MQ2气体传感器 功能:可灵敏地检测到空气中的烟雾、液

  • 虽然如此,我还是很喜欢大数据 但是大数据要会的实在太多了,Hadoop,spark,flink,kafka等,问的可以是又细又杂,每个组件可以问你架构,可以问你原理,可以问你某种机制,又可以问你调优,还可以问到组件与组件之间的配合 然后大数据吧,你要会Java,就是别人面Java的你也要会,sql还要会,Java并发,jvm,MySQL索引,锁 其实我是菜,我承认,大数据的面经800多页,除开fl