为了账号安全,请及时绑定邮箱和手机立即绑定

【花式填坑第4期】如何成长为合格的Java架构师

/ 猿问

【花式填坑第4期】如何成长为合格的Java架构师

慕女神 2017-05-17 20:10:41

http://img.imooc.com/591c386000012ed407201046.jpg

没错,第四期的花式填坑又来了!

这期的话题是如何成为Java架构师,当然前提你要是一个高级的Java工程师

对架构师不了解的小伙伴,可以马上入坑进行提问了↓


http://img.imooc.com/591c3adc000144b302330077.jpg

Java作为已经存在了20多年的开发语言,在不同阶段总会有一些应用使TA再度青春,JVM也早已不再是Java的专属。


那么,对于外延甚广的一门语言和规范来说,作为Java程序员的我们,该如何规划自己的发展路线?

如何高效的学习技术?如何根据自己的兴趣特点进行有效的对应选择?


欢迎参与话题,与老师共同探讨优秀Java架构师的必经之路。


http://img.imooc.com/591c3c0b0001353902330077.jpg

http://img.imooc.com/591c3c490001b55307200771.jpg

Moocer老师的个人主页,可点击查看

--------------------------------------------------------------------


话题交流时间:5月19日--5月21日

话题交流方式:在下方进行提问,老师会在活动期间一一给大家回复的


http://img.imooc.com/591c3da40001de5307201132.jpg


查看完整描述

44 回答

?
丶夜未央

为什么有人说,java在服务器端厉害,在web方面不行,在web方面PHP很厉害,难道服务器开发不都指的是web吗?

查看完整回答
1 反对 回复 2017-05-21
  • moocer
    moocer
    一般来讲,服务端开发指的是java的web应用中的service及以下(dao等),不包含页面。
?
忍者无敌1

老师你好 ,已经做几年了一直在写基础代码 ,要怎么才能提升呢 ??

查看完整回答
1 反对 回复 2017-05-20
  • moocer
    moocer
    写代码是量的积累,在写代码的时候要不断的思考怎么提升代码的执行效率、优化代码结构,如果给你机会重新设计某一模块或者整体的技术,你会怎么做,为什么这么做。在技术选型上,你的依据是什么,你技术选型结果的优势是什么? 等等上面的问题,都是基于思考和对比得来的。所以,建议就是多思考、多实践。
?
ai睡的熊
老师我发现double的数据在在减操作的时候会出现在小数位最后加减的情况,经常出现在特殊数字,64 512 1024等等,例如1024.88在减一的时候会变成1023.881,或者1024.888会变成1023.8879,请问这是这什么呢
查看完整回答
2 反对 回复 2017-05-19
  • moocer
    moocer
    double和float确实会存在这样的问题,如果精确计算,需要使用BigDecimal,并且在使用BigDecimal(double val)构造函数时仍会存在精度丢失问题,建议使用BigDecimal(String val)。
?
慕小樱

老师,Java和jvm有什么区别和联系?看资料都是不能很好理解,希望通俗易懂地说明下


查看完整回答
1 反对 回复 2017-05-19
  • moocer
    moocer
    java是语言,jvm是java运行的虚拟机,隔离了java语言(jvm语言,现在运行在jvm之上的不止有java,还有scala等)与操作系统,是“一次编译,到处执行”的基础。
?
_Aioria

老师,请问作为Java开发人员,想要成长为架构师,是不是必须精通运维体系知识和技能?比如集群、高可用、分布式等,还有各种中间件的使用,个人感觉架构师对运维的要求更高,对编程的要求稍微低点!您觉得呢,希望老师能谈谈!

查看完整回答
1 反对 回复 2017-05-19
  • moocer
    moocer
    架构师对集群、高可用、分布式、中间件必须了解。无论是运维开始开发,要想成为合格的架构师,编程能力都不能低。
?
CMM1级

  大神能说一下现在学java还是php好啊,现在jsp需求好少啊,现在学java学到一半了,很困惑啊,到底哪个好!!!

查看完整回答
2 反对 回复 2017-05-19
  • moocer
    moocer
    语言无所谓好坏,只有适用场景不同。 java适合服务端开发,php适合前端的快速迭代。jsp的需求确实少了,但servlet必不可少,两者本质是一样的。到底哪个好,要看你未来想往哪方面发展了。
  • 慕粉4218433
    慕粉4218433
    这话说得好官方啊,要是知道往哪个方向发展就不问了
  • CMM1级
    CMM1级 回复 moocer
    谢谢大神
点击展开后面1
?
Jennifer6

                               老师,我想知道一个合格的架构师需要哪些硬性要求,公司领导也还算看得起我   我自己也想好好努力   java工作三年了   现在自费培训hadoop    想往架构师方向发展    求解惑   好迷茫!!!   感觉非常需要一个指路明灯    付费也行                            

查看完整回答
1 反对 回复 2017-05-19
  • moocer
    moocer
    java的架构大体上分类两类,一类是应用类的,比如服务化、中间件等等;另一类是数据分析类的,比如hadoop、spark等等。看你向往哪个方向发展,侧重要发展的那方面技术就可以了。
  • moocer
    moocer
    架构师是在实践中成长起来的,不是培训出来的,要多实践、多应用、多多积累经验。培训只能解决技术点的问题,架构师除了技术外,还要有宏观的把控能力。
?
qq_大哥哥_13897107

老师我的问题和他们也差不多,想知道一个架构师需要会那些知识

查看完整回答
1 反对 回复 2017-05-18
  • moocer
    moocer
    简单的说,进阶需要的是从使用到原理的过程,进阶就是要了解原理(jdk原理、框架原理),然后做到灵活应用。看书建议看一些讲原理、讲思想的说, 一个合格的java架构师,要掌握各种常用框架的原理、应用场景、以及在不同场景下的二次处理,特殊场景下还需要自己开发特定的框架;还有就是要结合业务进行技术选型,需要经验的积累。 罗马不是一日建成的,慢慢来,找准自己的方向,不要局限于使用,要多看、多了解原理。 比如说:jvm的原理是不是了解了?Spring的源码看了多少?如果自己搞一个该怎么做?
  • qq_大哥哥_13897107
    qq_大哥哥_13897107
    好,谢谢老师
  • moocer
    moocer
    客气,欢迎继续探讨
?
慕先生4463397

老师你好,我18岁了,是个小鲜肉我现在学到ssm了,我准备学了做个小型oa系统,和cms管理系统和通过ssh做个网上商城,还学些工作流,redis,前面基础还可以,另外我准备5月份、6月份找工作,目前在啃java数据结构;我的问题是:

  1. 学了这些能符合找到工作吗?我大专,二线找个5k的,

  2. 大公司要求哪些理论知识和实践,不说bat,我知道bat对我来说没戏

  3. 如果工作了,应该怎么提升java水平

查看完整回答
反对 回复 2018-01-01
?
erutdioup8556

老师你好,我今年毕业,实习的公司用的技术比较主流:ssm、能接触到微服务、高并发等等,但是我私下找到一家公司,但是是做传统oa政府软件开发的,用的技术是ssh,但是薪资比现在高了2k。我现在实习转正5k,那家传统公司给我7k。我也好久没有用ssh去做项目了。老师你觉得刚毕业选薪资高的但是技术传统平台还是我现在呆的公司用技术主流的平台好?

查看完整回答
反对 回复 2017-05-23
?
俺就是兔子

老师现在开始学php,以前学过java,感觉java真的很强大,后端javaWeb移动端就是Android,企业级应用javaEE,感觉学php压力很大啊,不知道现在怎么办是转java还是接着学PHP,请老师给点建议谢谢

查看完整回答
反对 回复 2017-05-22
  • 慕女神
    慕女神
    活动时间已经过了哦,下次提问要趁早吖 可以多关注一下话题活动,每周都有新的话题可以参与哦
?
木声

    老师你好,我现在开发水平处于一个能使用各种框架开发Java后端服务(前端页面也能适当开发一些),想提升自身的开发水平成为一个合格的系统架构师。

    在了解源码的时候感觉理解起来很困难,请问老师是如何看框架源码(源码代码量好多)不知道如何下手?比如spring框架


查看完整回答
反对 回复 2017-05-21
  • moocer
    moocer
    你现在这种情况,建议你先找一些关于spring原理的文档看看,在对原理有了基本的了解后,再一个功能一个功能的看源码。看源码的时候,可以尝试结合简单的例子,打断点跟踪,这样能有助于你对源码的理解。
  • 木声
    木声
    谢谢前辈 感谢您的耐心解答
?
qq_帅锅_03794460

我还是学生,目前才大一,不过高三就开始接触编程,一直学的Python,准备要学Java,两个语言都是后端,老师我想问问,两个语言的优劣势是什么,Java除了能用在Android之外还有没有其他的领域可以用(或者是结合硬件的),不一定要面向就业的,还有就是Java学习中应该从什么知识开始学?

查看完整回答
反对 回复 2017-05-20
  • moocer
    moocer
    java的优势在服务端开发、服务端架构;python是一种“胶水”语言、能力是将各个不同层次的东西组织在一起。无所谓优劣,只有适用场景不同。java本身和硬件的关联关系不太紧密。 Java需要从它的原理、jdk核心类库开始,然后是各种框架的原理、源码,综合适用以及对框架的修改与完善,甚至自己实现适用于自己公司特点的框架。
?
蜗牛__

moocer老师您好,最近springboot非常火爆,的确他让开发变得非常简单。我想问一下spring的大家族以后可以淘汰掉其他的框架吗,就比如spring data会替代hibernate和mybatis,作为新手应该将重点放在spring大家族还是一些过去的主流框架?

查看完整回答
反对 回复 2017-05-20
  • moocer
    moocer
    springdata不会替代hibernate和mybaitis,sping会整合这些优势框架的使用。就像spring的jpa,默认使用的就是hibernate。 所以不要担心谁吃掉谁。作为新手,要将重点先放在jdk核心类库的原理、源码上,然后才是接触框架。
?
我想当大神

老师,java可以做哪些事?可以多举些例子吗?

查看完整回答
反对 回复 2017-05-19
  • moocer
    moocer
    这个。。。 服务端开发、服务端架构; 数据分析; 手机应用; 数据实时处理; RPC框架; 等等等等。
?
俺就是兔子

学java感觉还是可以的基本的的东西都掌握了,但是就是没有一点技术的成长,请问老师,怎么才可以在java上面有技术的成长呢,成长的路线是什么呢?也学过安卓总感觉java什么都可以弄,除了底层以外。有什么好的建议么老师?

查看完整回答
反对 回复 2017-05-19
  • moocer
    moocer
    java擅长的就是服务端开发。如果你觉得基本的东西都掌握了,那么尝试回答下:hashmap的原理是什么?jdk8里hashmap的实现和之前有什么不同?concurrenthashmap的原理又是什么?jdk的concurrent包了解吗?jvm类加载体系?jvm内存分配规则与垃圾回收机制?这些都是最基础的东西。 我的建议就是打牢基础,然后了解目前应用比较广的框架的原理和实现以及不同框架的组合应用于对比分析,这样才能在用的时候不至于慌。然后就是自己实现了。
?
新皇

老师你好,我是java后台,在培训,一直在学习,没有工作的经验.

我现在是学习进度是学习8个月了ssm,ssh,都会敲,但是问到原理就不懂了,也不能说不懂,就是说不出来,说不了这么高大上.

现在在学那个angularJS和bootstrap进行一个前端的了解.

学习这么长时间也快要结束了,回首发现自己懂得好少啊,最近自己有些迷茫,没有学习方向,所以也没有动力,导致学习状态也不好.

希望老师指点迷津~~~

查看完整回答
反对 回复 2017-05-19
  • moocer
    moocer
    这个时候不要迷茫,先解决会用、能用的问题,然后再进一步了解原理、看源码,学习是个渐进的过程,千万不要操之过急。
  • 新皇
    新皇
    好的,谢谢老师
  • _Aioria
    _Aioria
    建议不要花时间搞前端了,前端本身就是一个大的分支,穷极数年也没办法在多个领域达到比较高的层次!
点击展开后面1
?
_不知

老师,请问框架重要还是java核心类库重要?

查看完整回答
反对 回复 2017-05-19
  • moocer
    moocer
    怎么说呢,核心类库是基础,框架是扩展,不能对比重要性,因为它们所处的技术层级不一样。都得学习、都得了解。
?
爱生活爱胖胖

请问老师看书要看哪方面入门比较好一点?

查看完整回答
反对 回复 2017-05-19
  • moocer
    moocer
    入门,这个还真不好说,个人感觉入门,可以看看《java编程思想》这类的,但是一定要结合实践来看。
?
等着给你说晚安
现在机器学习和深度学习很火,看了一段时间的视频,发现都是高数,线代,概率论方面的算法,这对于我这样的菜鸟,怎么才能切入这个行当
查看完整回答
反对 回复 2017-05-19
  • moocer
    moocer
    这个需要有数学基础,同时还有有编程基础。 两种途径吧,一是找一份做这个的工作,从初级职位做起,变干边学;另一种是自学,找一些真实案例来实现,比如做些金融分析。

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信