作为一名java开发人员,不了解jvm调优对工作有什么影响?

对于java开发者来说,不论是新手还是老手,都会听说jvm一词,jvm算是java里比较核心与关键的东西了,但是对于一些新手或者工作有一段时间的java程序员来说,貌似感觉jvm并不那么重要一样,自己平时写代码写得好好的,不是很了解jvm好像也没什么的,其实这就大错特错了,jvm是时时刻刻的起着重要的作用,你写的代码都是基于他上面运行的,那么有的人就可能说不需要了解jvm照样能写好代码,有这种可能吧,但是,我们来一起看看下面这位java程序员朋友的一些体会吧。

据这名Java程序员朋友所说,他作为一个java开发,从来没遇到内存溢出的情况,jvm的gc也不了解,但是面试官好像很喜欢问jvm调优,问了他不少关于这方面的问题,他对此不是很解,jvm调优真的那么重要么?他想听听其他网友们都是什么看法,那么针对这样的情况,让我们一起看看其他网友们都是怎么说的吧!

京东员工:不知道调优不会影响你成为一个程序员,但是会影响你成为一个优秀的程序员。只有在面试时问到你不知道为止才知道你和别人的差别。不喜勿喷,个人薄见。

上世是朵花:这名网友的意思很明确了,不知道jvm调优可以是一名java程序员,但不是优秀的java程序员。

网友二:保不齐面试官也是装逼了,了解概念的人多,真正靠jvm优化提升系统性能的少

上世是朵花:需要调优的场景不多,在大部分业务开发中往往用不到,但是多少了解一下总是好的,面试官喜欢用这个过滤人,其他方面的情况都差不多的java程序员,当然是喜欢了解的更深一点的了。

网友三:搞大数据的 几乎每天都要涉及 jvm gc 内存溢出 和泄露的问题

上世是朵花:这名网友就遇到需要了解jvm的情况了,觉得没多大用,可能是自己的应用场景暂时用不到。

网友四:学无止境。没有任何一个人好说自己精通某个东西吧。只能让自己知道和了解的更多。

上世是朵花:赞同,有的东西不是没用,多了解还是有益,不要等到真正用到的时候再去从零学起。

网友五:安卓开发出去面试都要被问的

上世是朵花:当然,安卓开发用的也是java语言嘛。

网友六:我也好奇,在美团这群人,他们也不知道,面试的时候居然都知道

上世是朵花:这你是怎么发现呢,可能人家面试前做准备了吧。

网友七:牛逼的话去调调,不牛逼的话,越调越差,还不如默认参数!

上世是朵花:关键是了解具体的原理,瞎试估计不行。

网友八:熟悉jvm和内存机制有利于你写出优秀的代码,提升效率。当然如果项目规模不很大你也看不出来区别

上世是朵花:同意这种说法,运行hello world级别的东西即使调的再好也发现不到优越感所在。

网友九:没多少人搞得懂 放心好了 他只是随口问问 可能他自己都蒙蔽 联系你把 jvm虚拟机原理 那本书看看

上世是朵花:这名网友是这么认为的,别人是什么样并不重要,自己了解总比不了解好。

当然,在日常开发中不了解jvm的原理,大部分情况还是不影响手头工作,但是自己如果在技术上有着更高的追求,还是需要去了解一下的,知道其中的原理想必在编写代码时会是另一种心境,另外,在java面试时的确会经常有面试官问到,他也往往是你从众多候选人中不被过滤掉的一个因素,在技术结构的优先级上来说,我们首先是需要扎实的基本功,对一些编码技巧掌握是尤为重要,这些直接决定着你是否能把工作干的漂亮,干的完美,在保证这些基本功都不错的情况下,还是很有必要了解一下深层的一些原理,这些更深层的东西往往是决定你晋升到更高职位的一些因素条件,总之,作为一名程序员,在技术上对自己怎么高的要求都是不过分的,你对自己要求的高度从很大程度上就决定了你未来能成为的高度。

“我自己是一名从事了5年前端的老程序员,辞职目前在做讲师,整理了一份现在把架构师必须具备的一些技术总结出来一套思维导图和录制了一些相关视频,分享给大家,供大家参考。

需要相关资料可以关注+转发+私信我(架构)就能获取

1. 架构师基础

4.1. JVM性能调优

4.2. Java程序性能优化

4.3. Tomcat

4.4. 并发编程进阶

4.5. Mysql

4.6. 高性能Netty框架

4.7. Linux基础与进阶

2. 开源框架

3.1. spring5概述

3.2. Spring5 Framework体系结构

3.3. Spring5环境搭建

3.4. IOC源码解析

3.5. AOP源码解析

3.6. Spring MVC

3.7. Mybatis

3. 高性能架构

1.1. 分布式架构思维

1.2. Zookeeper分布式环境指挥官

1.3. Nginx高并发分流进阶实战

1.4. ActiveMq消息中间件

1.5. RabbitMq消息中间件

1.6. Kafka百万级吞实战

1.7. Memcached进阶实战

1.8. Redis高性能缓存数据库

1.9. MongoDB进阶实战

1.10. 高性能缓存开发实战

1.11. Mysql高性能存储实战

1.12. FastDFS分布式文件存储实战

1.13. 高并发场景分布式解决方案实战

4. 微服务架构

2.1. 服务的前世今生

2.2. 基于分布式思想下的RPC解决方案

2.3. Dubbo应用及源码解读

2.4. SpringBoot

2.5. SpringCloud应用及源码解读

2.6. Docker虚拟化技术

5. 团队协作开发

5.1. Git

5.2. Maven

5.3. Jenkins

5.4. Sonar

6. B2C商城项目

6.1. 系统设计

6.2. 用户管理子系统

6.3. 商品管理子系统

6.4. 搜索子系统

6.5. 订单子系统

6.6. 支付系统

6.7. 分布式调度系统

6.8. 后台系统

工作一到五年的程序员朋友面对目前的技术无从下手,感到很迷茫,高清思维导图及相关视频资料获取方式可以加群:810589193,点击链接加入群聊【Java架构学习交流群】:https://jq.qq.com/?_wv=1027&k=5deQUBl里面有阿里Java高级大牛直播讲解知识点,分享知识,课程内容都是各位老师多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

你可能感兴趣的:(作为一名java开发人员,不了解jvm调优对工作有什么影响?)