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

学习 Java 遇到瓶颈了.....

  •  
  •   yang2yang ·
    yang2yang · 2016-05-15 09:42:19 +08:00 · 6384 次点击
    这是一个创建于 3144 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前一段时间开始学习 Java 的几个框架(spring,struts2,mybatis),一边看书,一边写自己的练手项目(个人博客)。

    现在写到现在,感觉基本了解和入门这三个框架(知道这三个框架是做什么的,扮演了什么功能,以及一些基本的使用),但是也感觉到即使在去完善自己的个人博客,对三个框架的理解加深感觉意义不是很大,不知道在上面的基础上我应该去学习这三个框架的什么地方或者通过何种手段?

    现在主要在看书( spring in action ),感觉还是有一些帮助的,但是感觉光看书还是不行,感觉有一种编码的方式效率更高些。

    这个是自己练的项目地址: https://github.com/yang2yang/blog_sm2

    迷茫了,希望得到 v 站前辈的指点。不知道当初各位前辈是怎么过来的呢?

    27 条回复    2016-05-17 23:13:03 +08:00
    misaka19000
        1
    misaka19000  
       2016-05-15 10:27:54 +08:00   ❤️ 1
    不算前辈,不过可以给点微小的建议

    如果感觉已经写过一定量代码,就可以开始研究一些基础的知识了。不管是计算机科学的基础知识,还是 Java 的基础知识,又或者读一读 Spring 的源码,也可以去了解一下 HTTP 协议或者 TCP/IP 。在写过一些代码之后,看这些东西会有比较大的收获。

    看过之后,可以再转回来继续写代码,如此往复。

    因为一直在写代码,无非是代码的堆砌;不过如果一直看书不动手练,你看着看着也就迷茫了,最好就是把两者结合起来。
    NullMan
        2
    NullMan  
       2016-05-15 10:33:14 +08:00
    我觉得吧, 先选准你要做哪方面的, 再深入特定方面的知识. 比如你要做数据分析, 那就专门搞这方面的, 其他跟这相关性不大的, 不用管了.
    awanabe
        3
    awanabe  
       2016-05-15 10:36:08 +08:00
    可以看看 Spring 源码 看看大项目的架构理念
    当然当我看完 Spring 源码之后我就去转行做 Python 了...
    yang2yang
        4
    yang2yang  
    OP
       2016-05-15 10:42:06 +08:00
    @misaka19000 很同意这种看书和写代码反复的过程,其实在写代码的这几天,也是会在遇到问题后,然后各种看书,然后知道到底有哪些方面的缺陷,感觉提升很大。
    yang2yang
        5
    yang2yang  
    OP
       2016-05-15 10:42:59 +08:00
    @NullMan 恩,目标现在明确了,我想做 web 后端。
    yang2yang
        6
    yang2yang  
    OP
       2016-05-15 10:45:29 +08:00
    @awanabe 看看 spring 的源码?有段时间也是想看看的,当时还学 python 的时候,看了 requests 的源码,但是看不懂,现在虽然没有看过 spring 的源码,但是就怕还是水平不够,看不懂,导致学不到什么东西。不过,还是可以回去尝试的。
    haozhang
        7
    haozhang  
       2016-05-15 10:46:26 +08:00 via iPhone
    把 java 编程思想刷一遍,刷一本 jvm 的书,换个框架比如 playframework 试试,看看 java 8 的新东西,学学多线程,刷刷算法题,可以干的事情太多了。
    tvallday
        8
    tvallday  
       2016-05-15 10:48:47 +08:00
    到后面你会花大量时间在配置和各种优化上面,所以后来我感觉我都不像一个写代码的,就不再干 java 了。
    yang2yang
        9
    yang2yang  
    OP
       2016-05-15 10:57:16 +08:00
    @haozhang 好,回去就去刷刷 java 编程思想。也去了解 jvm ,不过目前写的一些代码都没有让我感觉到 jvm 的作用。
    @tvallday 额...,目前还接触不到你的状况。反正我自身对使用何种语言不是很局限。但是一个阶段还是想专注一些的。
    Ouyangan
        10
    Ouyangan  
       2016-05-15 11:10:14 +08:00
    每天都在搭积木 , 想想自己对底层底层 , 看源码吧, 发现自己摸不清的他的设计理念 . 说白了自己的代码量不够.
    Lpl
        11
    Lpl  
       2016-05-15 11:19:15 +08:00 via Android
    感觉上边的建议太快了。

    你现在应该看着文档,写点东西。自己随便实现点啥。感觉用的熟练了,就看看 jvm ,设计模式,还有 spring 源码之类的
    yang2yang
        12
    yang2yang  
    OP
       2016-05-15 12:27:46 +08:00
    @Lpl 具体看点什么文档?写点什么?有什么建议吗?
    crazyxin1988
        13
    crazyxin1988  
       2016-05-15 14:33:13 +08:00
    熟练使用 Spring 后
    就可以看看源代码 这个时候 你会发现很多基础的东西很重要,比如:
    1. 反射
    2. 泛型
    3. 设计模式
    这些基础知识 不过关 源代码看起来很吃力
    kingcos
        14
    kingcos  
       2016-05-15 14:42:06 +08:00
    我擦==跟我情形好像。。。我正在写大作业( http://maimieng.com/2016/programming/jbbs/)。。其实我接触框架大概半个月
    这个是用 Struts1.3 做的留言板(老师要求做的所以就写了写)
    https://github.com/kingcos/CourseDesign/tree/master/JavaBBS
    现在正在用 Spring MVC+MyBatis 改写,写完了再用 Spring MVC+Hibernate 写
    如果都写完了,我就美化一下,再加点功能。。。

    可我不喜欢后端,我还是想学安卓==。。。
    我个人计划是暑假前把后端再学学,暑假有时间看看安卓😂😂
    kingcos
        15
    kingcos  
       2016-05-15 14:43:30 +08:00
    @kingcos 呃呃呃,博客那个链接后边忘记加空格了==
    http://maimieng.com/2016/programming/jbbs/

    哦对了,你写的博客挺好看的,向你学习^^
    yang2yang
        16
    yang2yang  
    OP
       2016-05-15 14:55:11 +08:00
    @kingcos 恩,你想学安卓?但是安卓也是分前后端啊,其实你是想学前端是吧,跟我不一样呢
    kingcos
        17
    kingcos  
       2016-05-15 15:01:30 +08:00 via iPhone
    @yang2yang 呃,你要说安卓前后端,我的话肯定也是后端呃。。
    myronkoo
        18
    myronkoo  
       2016-05-15 15:22:30 +08:00
    把基础掌握牢靠,最好在工作中总结学习,现在没工作么,在公司做做项目,变干活变自己研究体会。慢慢就好了。
    yang2yang
        19
    yang2yang  
    OP
       2016-05-15 15:51:59 +08:00
    @Ouyangan 是啊,自己代码量的确不足。正想办法拼命补呢,可能还是前期看书看的有点多。
    @myronkoo 没工作呢,还是学生,看暑假有没有机会出去。现在趁有安静的时间多学点,不然工作了还得忙工作的事。
    jnduan
        20
    jnduan  
       2016-05-15 21:48:46 +08:00
    先丢掉框架,看 Core Java (书), web 相关的就先从 servlet+jsp 开始
    m8syYID5eaas8hF7
        21
    m8syYID5eaas8hF7  
       2016-05-16 09:46:23 +08:00
    写得少。
    多看框架 document ,多写。
    然后再去看框架源码(可以配合着一些书看,比如 spring 技术内幕啦之类的)
    springzero
        22
    springzero  
       2016-05-16 10:42:28 +08:00
    我的 java 成神之路(参考网上的一篇文章) https://github.com/springzero/JavaGoding
    我上两周的 javaweb 练习 https://github.com/springzero/WebFinalExercises
    chocotan
        23
    chocotan  
       2016-05-16 12:34:23 +08:00
    给博客慢慢的加功能
    比如 shiro 或者 spring-security ;改成全注解配置;缓存的使用,等等
    基础很重要,泛型、多线程等,闲着无聊还可以折腾 swing , java8 的新特性也可以去看,学学 rxjava
    robinWu
        24
    robinWu  
       2016-05-16 13:39:48 +08:00
    做点更大的项目吧。本身学习,就是不断遇到问题然后解决问题的过程。等解决的问题的多了,你自然就突破瓶颈到达另一个层次了。
    linsun84
        25
    linsun84  
       2016-05-16 15:50:52 +08:00   ❤️ 1
    我建议还是不要学习任何框架的知识,就看 J2SE 的东西, J2EE 的东西完全不要看。

    等你觉得你自己的水平能够考过 SCJP 了(网上有题),再看框架和 J2EE 不迟(可能也不用看,看你将来的方向)
    yang2yang
        26
    yang2yang  
    OP
       2016-05-16 18:24:18 +08:00
    @LINEX 恩,多写真的很重要。现在这水平,看 document 还是挺吃力的,最近还是在看 spring 的书和一些基础书。
    @springzero 这项目名字听起来好厉害。
    @chocotan 最近想看看基础,然后换一个框架玩玩。
    @robinWu 恩,最近这两天正在拼命地想还能做什么有意思的项目。但是发现都找到不特别明确的需求,对于做什么项目能提供一些建议吗?
    @linsun84 就我个人而言,不是很喜欢考证和做题。虽然为了面试,还是会去刷一些算法题。
    linsun84
        27
    linsun84  
       2016-05-17 23:13:03 +08:00
    @yang2yang 不是让你去考试,是让你作为检验自己的标准,你那些题都不会的话,就不理解 Java 的很多重要的知识,将来要交学费的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6058 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:17 · PVG 10:17 · LAX 18:17 · JFK 21:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.