大家好,今天小编关注到一个比较有意思的话题,就是关于java语言专精的问题,于是小编就整理了2个相关介绍Java语言专精的解答,让我们一起看看吧。
程序员是学的越多越好,还是专精一些好呢?
程序员要学的少,就不能成为程序员。操作系统,数据库,网络,编程语言,还要多少懂点前端,还得会一些第三方产品,比如redis,微服务等等,你如果学不精 怎么进大厂,怎么拿高薪,当然谁也不能什么都样样精通,在保证有独立做项目的前提下尽量专精自己感兴趣的领域。
问题的关键在于你学的不多你找不到工作,你学的不深你也找不到工作!
我曾经去平安面试的时候,因为大学学的是电子信息工程,学过C,面试官硬是让我对比了下JAVA和C的异同,编程风格,最后说到汇编语言,单片机!我真的是无力吐槽啊。。。所幸还是过了,然后问得东西大部分还是本语言相关的,比如SQL,JS等语言也会提及,也会问是否知道C等的开发!
比如说J***A面试:
多的方面面试官起码会问你J***A基本类型,面向对象思想,文件操作,多线程模型,SQL操作与优化,单例模式等设计模式,spring框架,mybatis框架,netty框架,redis,memcache等缓存,消息中间件,性能监控等等东西!
深的起码问你spring的原理ioc,DI,怎么用的反射来管理bean的,问你netty基于什么?NIO,reactor模型是啥?有多少线程模型?会问你JVM底层原理,垃圾回收算法,fullGC的触发原因,怎么解决?垃圾收集器有几种?区别是啥?
所以作为一个程序员,就要有程序员的觉悟,不仅要学的多,还要精通得多!
不过理论上是不推荐所有东西都要求精通的,一个人的精力毕竟有限,不可能所有问题都亲力亲为!只有精通了语言或者技术,就能融会贯通所有的编程,因为技术都是相通的,只有捅破一扇门,才能有捅破后面的无数门的机会,只有去尝试了,才知道能不能做到!
比如说之前我接手一个项目,花了两天时间看代码,然后就让我接需求进行开发(尽管很抵触),最后在做的过程中把项目也认识了个七七八八,如果只是单纯的看代码,我应该掌握的没那么快,所以学习新技术还是靠自己的用心深入的去钻研,去练习!
我还走在多学多精通的路上,期待你的交流,更多技术分享,敬请关注。。。
其实搞开发是比较苦逼的,新技术层出不穷,干一辈子学一辈子。大部分的程序员,都是社交、管理类业务软件,没多少高精尖,个人建议,无论是技术还是业务,先弄精一块,在这个领域,我就是最牛的;然后以此为基点向外发散,逐步把相关的弄通,进而弄精,不可能编一辈子代码的,要为40之后的道路提前规划。对程序员来讲,基础的、底层一些的,最常用的技术框架,常用设计模式,数据库,编码规范,UML,DDD等,这些基本知识,在毕业2-3年内弄懂弄会弄精,熟练使用、知其所以然,就已经很不错了。在此基础上可向架构延伸,向业务领域延伸,向管理延伸,尽量找机会参与综合的、复杂的、大型的系统和项目,有几个项目锻炼后,毕业5年内在大部分的软件公司中混个高级点的技术职位肯定没问题。
看定位
如果你向专家方向发展,那么只需要专于2、3门开发语言就可以了。
如果定位于管理方向,那必须多学习几门语言,程度不用太专,因为你必须知识面广,能和各种技术人员打交道。
无论那个方向都必须学习掌握好一门开发语言,这是基础,要深度研究学习。
个人觉得需要向T型人才靠拢。
首先,知识面需扩展。随着科技的发展,信息技术更新很快,作为程序员需要跟上时代的步伐,学习并掌握业界主流的技术,并形成一定的知识积累,扩展自己的知识面和技术技能,达到对主流的知识有所掌握,有所了解。这样才不会和时代脱节,不至于和别人交流的时候,出现对于一些技术感到陌生或者没听过的尴尬局面。
其次,技术需要有深度。根据自己的兴趣爱好和技术特长,在某一个技术领域进行深耕、熟练掌握、融会贯通、读懂源码、吃透原理、深入研究,并能提出自己独到的见解,加以改进,形成自己独有的成就,成为该领域的[_a***_]专家。
最后,个人的时间和能力是有限的,针对越来越多的技术和知识点,需要自己进行分门别类地去总结,分析,掌握好的学习方法和学习技巧,并长期坚持系统学习,学以致用,努力提升自己的知识宽度和深度。
J***a是学什么的呀?学出来可以做什么工作?
J***a是一门编程语言,打个比方学J***a就相当于学习说话,如果说语文,英语,日语等各个语言的学习是为了和相对应的国家人民交流的话,那么掌握j***a就相当于你能和机器进行交流,由于目前j***a的市场和应用比较大,所以学习j***a就相当于你在学习世界上最应用最广泛的语言----英语。至于j***a学来是干什么工作的,其实需要你自己选择方向,根据自己的水平不断的深入学习对应的行业知识,编程语言说到底只是工具,就目前市场来说,大部分j***a学习者从事以下几个工作方向:
1.j***a web开发:j***a web其实就是目前的网站开发,互联网公司招聘j***a员工使用来写后端的,大部分就是写业务的接口和实现,当然也有一部分公司需要全栈工程师,那么你除了j***a之外也需要学习一些前端知识,但是目前大趋势是前后端分离,所以进大公司需要你j***a专精,而创业公司的话需要你掌握全面。
2.安卓开发:安卓也是运行在j***a虚拟机上的,在五年前手机app市场井喷的年代,安卓就非常热门了,那段时间也有不少j***a web开发工程师转到安卓开发,由于都是j***a写的,所以网页开发和安卓开发界面写的方法不一样,思路基本相同,短期适应后转到安卓是完全没有问题的,而且目前市场上安卓开发也形成了规模,所以做安卓开发也是不错的选择。
3.大数据开发:hadoop生态圈的框架很多都是j***a写的,虽然hadoop对其他语言也有接口可以调,但是学习j***a再学习大数据研究底层代码也是非常有优势的,所以目前很多公司在大数据开发上也在招聘j***a程序员,前两年大数据火爆的时候我的同事也有一些转到了大数据开发。
以上基本上就是学习j***a出来做的主流工作,后期做架构师或者精进技术做行业大牛还是转到管理层都有很多人选择,不过归根结底语言只是工具,而且学通一门第二门也会很好上手,我学长也有从j***a转到c#去做游戏开发,所以学习J***a其实就让你打开了与计算机世界交流世界的大门,如果你未来不坚持不断学习,很可能未来你可以从事在计算机上搬砖的工作,但是如果你有思想,你未来就是计算机行业的设计师。你就看下图,程序员他帅不帅!
来自搜狗的答案,J***a是由Sun公司于1995年5月推出的面向对象的程序设计语言。J***a继承了C++语言面向对象技术的核心,又舍弃了C++语言中的指针、运算符重载以及多重继承的特性,同时引入了泛型编程、类型安全的枚举等特性,使J***a成为简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 随着互联网的迅猛发展,J***a已经成为重要的网络编程语言,被广泛应用于企业级Web应用开发和移动应用开发。
J***a是后端, 我们见到的所有的***或者页面这些,看到的能修改的,都是前端写的,那么j***a后端写的就是数据,J***a语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 J***a具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。
出来找什么工作根本不用担心,你只要在招聘网站搜j***a就好,什么工作其实都不是重要的,重要的是技术需要会的都是那些,你要学好。
到此,以上就是小编对于j***a语言专精的问题就介绍到这了,希望介绍关于j***a语言专精的2点解答对大家有用。