V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jatesun
V2EX  ›  程序员

工作两年用 java,觉得技术增长有点瓶颈,如何克服提高?

  •  
  •   jatesun · Jun 14, 2016 · 8454 views
    This topic created in 3603 days ago, the information mentioned may be changed or developed.

    java 基础还算可以,阅读过 io ,集合等关键 jdk 源码。算法也一般般吧,基础的还行,也刷过 leetcode 。框架方面 spring 、 struts 、 mybatis 用的比较熟练,读过 spring 以及 struts 部分源码。觉得自己的技术还是不上不下,各位 v 友可否助力?

    54 replies    2019-08-22 22:35:57 +08:00
    BiggerLonger
        1
    BiggerLonger  
       Jun 14, 2016
    JVM 呢? 多线程呢? NIO 呢? python 狗飘过...
    jatesun
        2
    jatesun  
    OP
       Jun 14, 2016 via iPhone
    @BiggerLonger 这些确实涉略较少,后续多关注。人生苦短,请用 Python→_→
    jason19659
        3
    jason19659  
       Jun 14, 2016
    本人表示,设计模式看过几遍,过几天就忘了。 jvm 各个参数看过几遍,过几天就忘了。 spring ?遇到好多面试官对它的印象都在书本里,几年前的版本。最近一直想学 java 大数据相关的知识。。但是没平台实践。。
    xupefei
        4
    xupefei  
       Jun 14, 2016
    那就读 JVM 源码啊。
    jatesun
        5
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @jason19659 觉得看过最好能实践,总结一下。这样才能印象更加深刻
    jatesun
        6
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @xupefei 。。。这有点难
    linux40
        7
    linux40  
       Jun 15, 2016 via Android
    造轮子
    murmur
        8
    murmur  
       Jun 15, 2016
    研究下 spark hadoop 当然这要求你先把数学缺的知识补回来
    jatesun
        9
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @linux40 不失为一个好方法
    shyling
        10
    shyling  
       Jun 15, 2016 via Android
    最简单的:升级 hotspot 到最新版本。看看 changelogs ,想想新功是怎么实现的,例如 Optional ,能不能自己写库实现部分,然后再对此下代码。
    jatesun
        11
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @murmur 这两个真是只知道有这个东西,一点没了解。。。
    jatesun
        12
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @shyling 这个太有挑战性了
    coolcfan
        13
    coolcfan  
       Jun 15, 2016
    把 JDK 自带的那些类的源码读一读~
    visonme
        14
    visonme  
       Jun 15, 2016   ❤️ 1
    你的问题在于把自己局限在 java 的世界了。而且你的技术方向是单一的,想突破太难了。
    有空再回去读读数据结构,算法导论, TCP/IP ,分布式系统导论等从多角度去提高自己吧,这些东西有助于你在深层次的造诣和突破
    Neveroldmilk
        15
    Neveroldmilk  
       Jun 15, 2016
    真正的人生瓶颈是无法突破的,所以随缘吧。
    wupher
        16
    wupher  
       Jun 15, 2016
    1. 不要将自己限制于某一语言,甚至某一领域

    2. 做些自己感兴趣的事或东西,比如,上面说的造轮子

    做些你自己觉得有意思的东西,比如草榴蜘蛛侠啥的。

    尝试挣到钱
    tony1016
        17
    tony1016  
       Jun 15, 2016
    换个语言继续前进
    misaka19000
        18
    misaka19000  
       Jun 15, 2016
    所以说基础永远是最重要的,去读读算法导论,研究研究操作系统吧,会有收获的
    eightqueen
        19
    eightqueen  
       Jun 15, 2016   ❤️ 1
    技术成长要看公司业务的,如果你们用户量比较少,只有几百万,日活也不多,只有 10 万,那你技术肯定没发成长啊。
    yangxiongwei
        20
    yangxiongwei  
       Jun 15, 2016
    两年就到了瓶颈,楼主真厉害。

    我这等普通人都是越学觉得不会的越多。
    ren2881971
        21
    ren2881971  
       Jun 15, 2016
    你该研究业务了。。
    tiemei
        22
    tiemei  
       Jun 15, 2016
    事实上没有什么瓶颈可言,你知道的太少了。
    aabbccli
        23
    aabbccli  
       Jun 15, 2016
    个人见解,有两个方向,一:技术方向的,可以开始研究底层实现,学学汇编(不需要深入),操作系统原理等等;二:商务管理方向的,可以理清行业中的业务流程,针对某些存在的问题,结合技术做解决方案(技术商业化)。
    lawlietxxl
        24
    lawlietxxl  
       Jun 15, 2016
    为啥好多回复读着让人很不舒服。。。希望 v 站和谐一些阿。。。
    我的心愿是世界和平。。
    jatesun
        25
    jatesun  
    OP
       Jun 15, 2016
    @visonme 恩,多谢提醒
    jatesun
        26
    jatesun  
    OP
       Jun 15, 2016
    @wupher 恩,一定努力
    jatesun
        27
    jatesun  
    OP
       Jun 15, 2016
    @tony1016 恩,但是想偏重一下 java
    jatesun
        28
    jatesun  
    OP
       Jun 15, 2016
    @yangxiongwei 所以来这寻找下新视野啊
    jatesun
        29
    jatesun  
    OP
       Jun 15, 2016
    @tiemei 你知道的太多了→_→
    jatesun
        30
    jatesun  
    OP
       Jun 15, 2016
    @lawlietxxl 不想当段子手的程序员不是好的 v2exer
    peterfuture
        31
    peterfuture  
       Jun 15, 2016
    其实我觉得楼主的问题是: 就算把 java 学通了有什么用,或者花费大量时间学通 java 是否值得?
    specita
        32
    specita  
       Jun 15, 2016
    其实就是工作没有实践的地方,但自己的空余时间也很少去主动 code,会看书但很少写吧。。感觉自己就是这样,终究还是要自己 code 啊
    tony1016
        33
    tony1016  
       Jun 15, 2016
    @jatesun java 这个语言,最大的好处也是其最大的问题:门槛很低,偏重模型(比较笨重)。所以,如果你已经很熟练了,没必要在上面太消耗。如果你是一个喜欢编程的人,那么目标肯定是全栈工程师,所以去看看 javascript 等前台技术,再学学 python 等脚本技术,都是比继续在 java 中耗这些中间价更好的。
    wander2008
        34
    wander2008  
       Jun 15, 2016 via iPhone
    好多不搞 java 的人胡扯。把 mq 看看怎么用。
    pythonee
        35
    pythonee  
       Jun 15, 2016
    不错,楼主这个水平应该可以秒杀很多人了,这种进取心更能秒杀不少人
    bjlbeyond
        36
    bjlbeyond  
       Jun 15, 2016
    @wupher 草榴蜘蛛侠是什么鬼
    jatesun
        37
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @bjlbeyond 爬虫→_→,你懂的
    jatesun
        38
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @pythonee 哈哈,还好吧。我比较推崇乔帮主的那句: stay hungry stay foolish.
    chocotan
        39
    chocotan  
       Jun 15, 2016
    java 能深入学习的东西很多啊
    随便举些栗子
    语言方面, nio , java7 、 java8 的新特性的运用,研究垃圾回收, jvm 方面等
    比如 spring 最近一些版本的新特性、 spring data 的一些功能使用、 jpa 的使用, rxjava 相关,微服务最近也很火 可以关注 netflix 家的开源框架,研究 netty , lucene 等等
    可以学习一两个 jvm 语言
    jatesun
        40
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @chocotan 确实应该跳出自己的小圈子拥抱新技术,新思想
    cdffh
        41
    cdffh  
       Jun 15, 2016
    数据库方面的知识呢
    1,索引的原理
    2,sql 语句的解析过程
    3,事务的原理
    4,锁的机制
    5,数据库参数的调优
    等等等等.

    操作系统方面的知识呢
    1,文件系统
    2,线 /进程调度
    3,内存回收..

    计算机网络方面的呢, 编译器方面的呢? 要学的东西太多了..
    maomaomao001
        42
    maomaomao001  
       Jun 15, 2016 via Android
    别换~~写工具造福大家啊~~参考 jfinal
    sampeng
        43
    sampeng  
       Jun 15, 2016
    瓶颈?我觉得这种感觉,不是自己觉得自己知道的不多。而是每天都做一样的东西,做自己知道的事。
    解决办法很简单,不是像上面说的去学东西,去做新的东西。自己没做过的。其实工作中多少会有这样的机会,一定要自己去把握他。不要拒绝自己没做过的东西。
    我见过太多人,有新鲜事物扔过去不愿意接。。。还整天说学不到东西。。。
    sampeng
        44
    sampeng  
       Jun 15, 2016
    举个例子。。。
    mybatis 。对某个实现换个方式实现。。这就是没做过的。我就经常这么干。。在上一个项目用 A 方法做,在下个项目妥妥用我想出来的 B 方案做。。。如换个 sql 写法。让 mybatis 的 ide 插件更好用。等等。。做不完的事。
    spring 就更多了。。。一样的是某个实现换个方式。这个和 mybatis 不一样。可能换个方式是直接换整个代码布局。这很锻炼一个人的代码能力。最终效果是要改任何东西,都不超过 1m 就能改好。加需求,不影响。。装 B 的话来说就是高内聚,低耦合。。这个真不是看两本书就能学会的。一定要多写,不停的重构前面的项目和代码。我的习惯是先按自己的思路写一遍,然后-----删-----掉.对。删掉!!(因为版本库里面有,没什么好担心的),再快速优化的写法写一遍。项目时间紧只有一遍。项目时间长,我会多干几次。。。慢慢的,几年后。。你就可以一次写出漂亮的高内聚低耦合了。人家在堆代码,你在喝咖啡。。因为人家改 1 个 bug 要几个小时,你改一个 bug 。只要敲几个键就搞定。
    基本想到这么多。。。
    jatesun
        45
    jatesun  
    OP
       Jun 15, 2016 via iPhone
    @sampeng 确实如此,设计模式这种内功不是一朝一夕能练出来的
    zonghua
        46
    zonghua  
       Jun 15, 2016
    那就别着眼写 Java
    gpg
        47
    gpg  
       Jun 15, 2016
    转安卓开发...
    sweat89
        48
    sweat89  
       Jun 16, 2016
    你的问题很容易解决,
    跳槽去一家互联网公司
    ihuotui
        49
    ihuotui  
       Jun 19, 2016
    写一个监听消息的代码,消息可能是 redis , mq ,等,监听后要处理,说说你怎么先说实现,再写个怎么写。
    设计一个序号生成器。
    ihuotui
        50
    ihuotui  
       Jun 19, 2016
    写一个像 filter 的代码。
    并发写更新库存,怎么处理?
    数据库反模式知道么?
    ihuotui
        51
    ihuotui  
       Jun 19, 2016
    @sampeng 我老大说我写代码写得少,确实少写了,写得还不够抽象。
    sampeng
        52
    sampeng  
       Jun 23, 2016
    @ihuotui 所谓编码能力,我觉得不是使用各种花式写法,也不是写出什么复杂功能。而是,对自己的代码自信。对所有的代码都有一种掌控力。能改得了代码,造得了轮子。每次看到某些人说,改了这可能会影响很多东西,这样模糊的说法,就来气。。。
    ihuotui
        53
    ihuotui  
       Jun 23, 2016
    @sampeng 境界不同,只能这样说。你到了那种境界就知道了。
    zazalu
        54
    zazalu  
       Aug 22, 2019
    楼主,我也遇到类似瓶颈, 不知现在可否指教一些心得呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   847 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 100ms · UTC 21:22 · PVG 05:22 · LAX 14:22 · JFK 17:22
    ♥ Do have faith in what you're doing.