作为一名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面试时的确会经常有面试官问到,他也往往是你从众多候选人中不被过滤掉的一个因素,在技术结构的优先级上来说,我们首先是需要扎实的基本功,对一些编码技巧掌握是尤为重要,这些直接决定着你是否能把工作干的漂亮,干的完美,在保证这些基本功都不错的情况下,还是很有必要了解一下深层的一些原理,这些更深层的东西往往是决定你晋升到更高职位的一些因素条件,总之,作为一名程序员,在技术上对自己怎么高的要求都是不过分的,你对自己要求的高度从很大程度上就决定了你未来能成为的高度。

原文地址:http://blog.51cto.com/13952975/2344178

时间: 2024-08-04 03:27:21

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

作为一名web开发人员, 迄今为止接触到的技术.

web开发究竟有没有个固定的范围呢? 以下是做开发至今接触到的技术, 不幸的是, 至今接触到的技术都没有进行深入研究, 知识停留较浅显的level. 不过, <<充满挑战, 世界才精彩>> 前台: HTML4.0 - HTML5 CSS2.0 - CSS3.0 JavaScript 服务器: Apache2.2 - Apache2.4 Nodejs 服务器语言: PHP Java 数据库: Mysql Cassandra 操作系统: Windows XP-7 Linux (主要是u

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿。那么作为一名Java程序员

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿.那么作为一名Java程序员当然也要保持不断学习的状态才能在这个领域站稳脚跟.那些工作了一定年限的技术人总有一天会感觉到自己遇到了职业瓶颈,这个时候如果你还是安于现状不去学习钻研的话只会被长江后浪推前浪 把你拍死在沙滩上了. 那么该怎么学习呢 ?学习什么呢?系统化的学习工作所需要的是基础知识,而不是到百度或谷歌查资料解决.这样有助于遇到问题后通过相关知识关联分析,也有助于搭建更合理的技术架构,或改进现有技术架构的不足,让知识形成协同效应.

作为一名Java程序员,我为何不在生产项目中转向Go?

前方 作为一名Java程序员,我为何不在生产项目中转向Go?自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go.随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区. 那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事.JavaScript

作为一名SAP从业人员,需要专门学习数学么

最近和SAP成都研究院的开发同事聊到过这个话题,Jerry来说说自己的看法. 先回忆回忆自己本科和研究生学过的数学课程.Jerry的大一生活是在电子科技大学的九里堤校区度过的,本科第一门数学课就是微积分. 因为微积分是计算机专业的学生参加研究生入学考试的必考内容,所以这两本书Jerry几乎已经翻烂了.然而惭愧的是,Jerry加入SAP后做的一直是应用程序层面的开发,当年辛苦习得的这些微积分知识,在工作中没有派上用场. 十多年前,高考前夕,当Jerry还在埋头刷题时,Jerry的老师会不时地放出烟

作为一名Java工程师

我工作后可以继续的发展: 1. 大的方向: 名企.架构师 2. 技能栈 "及时认识到技术是不可能都会的,但工作中用到的技术.某个项目中用到的技术是 一定的,把那些掌握得够用就已经很好了" a. JVM 包括:对class字节码可以深入了解:  JVM调优 (-Xxs -Xms -Xss) ; 基本的:<深入理解JVM虚拟机> 更牛逼的: <自己实现Java虚拟机> b. 分布式系统常用的中间件.框架 Netty, Spring Cloud, Redis c. 

java开发中涉及到的调优

JVM内存的调优 默认的Java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError. 1. Heap设定与垃圾回收Java Heap分为3个区,Young,Old和Permanent.Young保存刚实例化的对象.当该区被填满时,GC会将对象移到Old区.Permanent区则负责保存反射对象,本文不讨论该区.JVM的Heap分配可以使用-X参数设定, -Xms 初始Heap大小 -Xmx java heap最大值 -Xmn young

我是一名java开发人员,ibernae以四川成都春熙路发生

谷歌在安卓P版本中已经提供了统一的适配方案,可是在安卓O版本上如何适配呢?本文将详细介绍华为安卓O版本刘海屏适配方案.使用华为提供的刘海屏SDK进 最近一个买房经验分享在 GiHub 上火了,不到四天的时间迅速成为了 GiHub 上的第一网红,一举跃居到了周榜的榜首位置,不到四天的时间,sar 数已经过万由于第一次接触WDF驱动开发,因此底层驱动基于微软提供的PCI9056驱动例子(因PCIe和PCI配置空间基本一致,故对9056例子做适当修改便可直接安装使用). 驱 添加多个这个就可以了.只需

作为一名.NET工程师应该具备哪些技能呢?

下面我就和大家一起来分享下作为一名.NET工程师应具备的七大技能吧: 一..NET框架 开发人员应该熟悉.NET FrameWork体系结构和基本原理,熟悉CLR(公共语言运行时)和 MSIL(中间语言),熟悉.NET框架中的委托.线程.序列化.集合.垃圾回收机制.反射等内 容. (NET框架的博大精深,美丽而深不可测.) 二.面向对象软件开发 开发人员应该熟悉面向对象软件开发(OOP)基本概念,熟悉面向对象软件开发中的类.继 承.封装.多态等概念,具备良好的面向对象软件开发思想和设计原则. (

Scala学习笔记及与Java不同之处总结-从Java开发人员角度

Scala与Java具有许多相似之处,但又有许多不同.这里主要从一个Java开发人员的角度,总结在使用Scala的过程中所面临的一些思维转变.这里只是总结了部分两种语言在开发过程中的不同,以后会陆续更新一些切换后在开发过程中值得注意的地方.下面列举了部分,但令人印象深刻的Scala语言的不同之处,具体的代码示例及详细阐述见下文. ? Scala中可直接调用Java代码,与Java无缝连接: 语句可以不用";"结束,且推荐不适用";": 变量声明时以var或val开头