V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leishi1313
V2EX  ›  Java

Java 从入门到进阶怎么提升

  •  
  •   leishi1313 · 2019-06-19 13:08:13 +08:00 via Android · 5123 次点击
    这是一个创建于 1989 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小弟入职新公司做 Java 后端快小半年了,之前有过 1 年半的 Python 经验,入职前完全没有 Java 的经验。现在业务代码基本能写了,磕磕绊绊抄抄已经有的代码,但是测试写起来比较痛苦,对于很多的语法也只是知道怎么用,背后原理实现完全没有概念。想请教大家这种情况下该如何提升呢?
    我本科科班出身,基本的编程素养还是有的,主要是 Java 这门语言的一些进阶话题,各种包的实现,设计模式之类的,effective java 也在看,除此以外除了看源码还有其他途径吗?
    PS spring 之类的框架就不用了公司用的是自己的,injection 倒是也需要好好看看
    PPS 程序设计方面的也可以,设计文档讨论会上老是插不上嘴很头疼
    17 条回复    2019-08-04 19:36:31 +08:00
    kkjinping
        1
    kkjinping  
       2019-06-19 13:53:41 +08:00
    jdk 源码可以找些类看看,比如 ArrayList 等常用的。
    Spring 还是要了解下的,实现原理,特性。
    并发编程、concurrent 包。
    设计模式的了解下有哪些,在你看 spring 等框架的时候会看到一些模式的体现。
    去开源中国、github 上找一些开源的项目去看看项目结构、所用的中间件、尽量找注释全的。
    去看看 mysql、redis、mongodb、dubbo、spring cloud 等。
    mooncakejs
        2
    mooncakejs  
       2019-06-19 14:17:16 +08:00
    看 effective java+ 设计模式就够了,剩下来的交给实践。 如果要跳槽再看面经。
    leishi1313
        3
    leishi1313  
    OP
       2019-06-19 14:21:44 +08:00 via Android
    @kkjinping 谢谢了。就是想了解下 Java 这个话题下除了 spring 和源码,还有哪些学习的途径?开源或者 mysql,redis 之类的我知道重要,但是对于工作不会有提升,因为公司全是自己的一套😅。主要是 Java 语言特性,设计模式,程序设计这块有什么书,课程,教程?
    Raymon111111
        4
    Raymon111111  
       2019-06-19 14:21:51 +08:00
    答案是去大公司
    leishi1313
        5
    leishi1313  
    OP
       2019-06-19 14:24:07 +08:00 via Android
    @Raymon111111 哈哈去大公司也不是说能自己把知识注入不是,但公司也不小,周围能人还是很多的
    leishi1313
        6
    leishi1313  
    OP
       2019-06-19 14:26:10 +08:00 via Android
    @mooncakejs 书都有正在看,但是觉得只有 6 70 能自己有体会,剩下的要么是这话题都没听过,要么就是不知道这能干嘛,这样一来好像也只有多看多写了
    AlexLixin
        7
    AlexLixin  
       2019-06-19 14:29:28 +08:00   ❤️ 1
    根据楼主的表述,个人认为楼主感到困难的原因是 Java 语言基础不扎实,两个月快速读一下《 Thinking in Java 》会有很大收获的。《 Effective Java 》应该在能彻底掌握 Java 语言的情况下去读,该书讲的是在有好几种解决方案的前提下如何写出最好的 Java 代码和如何优化的问题,而不是如何出方案。
    mooncakejs
        8
    mooncakejs  
       2019-06-19 14:34:39 +08:00   ❤️ 1
    @leishi1313 实际项目,特别是互联网项目,存在各种各样的妥协(为了性能,为了赶工),而且需求变动,可能一个模块一个模块废弃,太追求范式不是好事。
    justRua
        9
    justRua  
       2019-06-19 14:40:02 +08:00   ❤️ 1
    《 java 编程思想》( Thinking in Java )--> 《 java 并发编程实战》(电子工业出版社那本)--> 《深入理解 jvm 》
    这些书有些年份了但很经典,看完后再查查 jdk 每个版本的变动。其他的再抽空看看设计模式、数据库、网络什么的。
    xiaowangge
        11
    xiaowangge  
       2019-06-19 15:01:37 +08:00
    《 Thinking in Java 》看不下去的话,可以看这本书:

    《 Java 编程的逻辑》
    https://www.cnblogs.com/swiftma/p/5631311.html
    xiaoidea
        12
    xiaoidea  
       2019-06-19 17:52:18 +08:00
    @xiaowangge 这也太老了
    solwyer
        13
    solwyer  
       2019-06-19 18:01:27 +08:00
    leishi1313
        14
    leishi1313  
    OP
       2019-06-20 01:18:44 +08:00 via Android
    @xiaowangge 多谢,书都不错!
    @solwyer 教程看着不错,但公司有自己的框架哈
    MotherShip
        15
    MotherShip  
       2019-06-24 12:20:41 +08:00 via iPhone
    @xiaoidea 可以补充一点新的东西嘛?
    lannoooW
        16
    lannoooW  
       2019-07-04 20:32:19 +08:00
    看源码
    Dingjiangnan
        17
    Dingjiangnan  
       2019-08-04 19:36:31 +08:00
    @xiaowangge 技术选型老啦 他是 15 年写的,推荐的书不错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1332 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:50 · PVG 01:50 · LAX 09:50 · JFK 12:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.