5年java程序员阅读源码的简单介绍

hacker|
107

文章目录:

工作一到五年的Java程序员遇到瓶颈应该如何提升

工作了5年的Java程序员,该如何提升,做了3~5年Java开发,你已经积累了不少项目经验,扩宽了技术广度,也许已发力成为团队管理者。到了这个阶段,大家却常有这种感受:感觉自己卡在瓶颈进步缓慢,技术水平很难像早期一样实现大幅突破?

其实大家往往忽略了这一点——提升自己的架构认知(工作5年左右程序员必须重视架构认知的提升,这会很大程度上推动你今后的成长)。架构的本质在于面对业务场景给出优雅的解决方案,使得业务能够快速迭代和持续交付,从而达到降本增效的目标。提升架构认知高度,就像达克效应所描述的一样,要敢于从愚昧之巅跳到绝望之谷,通过爬升开悟之坡,从而达到架构认知的巅峰时刻。到达巅峰时刻也就掌握了架构背后设计的哲学,面对具体业务场景在架构层面你便能够轻松应对,以无招胜有招。

提升架构认知,要紧抓3个关键点:业务洞察力、技术视野、原创力(执行力)。

1.业务洞察力是技术战略层面的问题,在当下能够做出合理的判断,清楚公司做什么事情收益最大;

2. 技术视野即技术选型能力,是技术战术层面的问题,在清楚做什么事情后,需要进一步解决怎么做的问题,也就是能够给出合理的技术选型方案:是完全基于开源的方案,还是基于开源二次开发的方案,还是完全自研的方案;

3. 原创力(执行力)是技术落地执行层面的问题,一旦技术设计方案确定后,需要能够快速Rush完成。

这3点层层递进,最重要的是先把技术战略问题思考清楚,然后再进一步解决技术战术问题,最后是快速落地执行的问题。

工作5年左右的程序员,在原创力(执行力)层面比较有竞争力,往往欠缺技术视野以及业务洞察力。后面2点更加重要,这2点解决的是架构设计哲学问题,是架构师能够持续拥有竞争力和影响力的立身之道。

举个场景的例子来详细说明:一提到分布式锁问题,大多数人想到的方案是基于Redis的Master-Slave模式来实现。这个实现方案行不行?分布式锁本质是一个CP需求,基于Redis的实现是一个AP需求,乍一看基于Redis的实现是无法满足的。脱离业务场景来谈架构都是耍流氓。

从技术战略的需求层面来看,如果分布式锁在极端情况下获取锁的不一致,社交业务场景能够接受,那么基于Redis的实现是完全可行的。如果业务是交易场景,分布式锁在极端情况下获取锁的不一致性无法接受,那么基于Redis的实现方案是不可行的。在锁强一致性的场景下,需要采取基于CP模型的etcd等方案来实现。

JAVA阅读源码,大量英文注释阅读不方便,求集成idea里面的翻译java注释由英文翻译为中文的工具。

学会在idea(eclipse)中阅读、调试源码,是java程序员必不可少的一项技能。

在idea中配完环境后,默认其实也是能够对jdk的源码进行debug调试的。但是无法在源码中添加自己的注释,无法添加自己的理解。如果干瞪眼看的话,可能过段时间,就忘记了。下面就介绍下,如何在jdk源码中为所欲为,像在我们自己的代码中一样写注释、调代码:

打开idea,选择Project-File-Project Structure-SDKs-Sourcepath,初始状态如下图 :

打开本地jdk安装路径,本处为E:\java\jdk8,将此路径下的src.zip压缩包解压到自定义的指定文件夹(可以在电脑磁盘任意位置),本处解压到同目录的jdk_source文件夹下,如下图:

继续在步骤1中的设置页面中操作,将E:\java\jdk8\src.zip通过右侧的减号将其移除;并通过右侧的加号,将解压文件夹E:\java\jdk8\jdk_source导入进来;点击apply,再点击OK。导入结果见下图:

这时,再重新打开jdk的源码类,我们就可以在源java文件中,添加自己的注释了。

一定注意:添加注释时,一定不要新加一行写注释。最好在一行代码的后面,使用//进行注释。否则行号和真正的jre中编译后的代码行号对应不上,如果对源码debug时,会出现代码运行和行号不匹配的情况

中级java程序员对框架源码的了解程度需要达到什么程度

懂得框架常用用法,API里面的机制或者原理,对接口性能有一定认识,能熟练使用该框架API来组成任意业务线。

java程序员看什么书

《C语言程序设计》老谭的书,一般是新手入门的第一本编程书吧

《21天精通C++》这个基本自学,学校没开C++相关的课,学习数据结构时自学的

《JAVA程序设计基础》之类的,安卓入门的话建议是《疯狂Android讲义》,《Android开发教程笔记》也可以看看,也可以边看书结合着视频看,这样可能好点

什么是java源代码 怎么查看

你说的java源代码是指编译成的class文件前的java文件。

当我们运行.java文件时,它会被系统编译成.class文件,例如Test.java编译之后就是Test.class,

源文件就是指Test.java文件,

一般部署项目时,有.class文件就可以发布运行了,但是如果想修改这个系统,.class是不能修改的,要有.java文件才能修改

也可以上网去下反编译软件,就是能把.class文件大部分还原成.java文件的工具,但不是100%还原,而且如果不是正版的,小心有毒啊,什么的。

有哪些优秀的Java开源项目最值得阅读

Java程序员,请先阅读JDK源码。

如果JDK的源码都没有一定的阅读量,不建议读其它开源工程的。

5条大神的评论

  • avatar
    访客 2022-07-07 上午 06:32:51

    运行了,但是如果想修改这个系统,.class是不能修改的,要有.java文件才能修改也可以上网去下反编译软件,就是能把.class文件大部分还原成.java文件的工具,但不是100%还

  • avatar
    访客 2022-07-07 上午 08:47:57

    新手入门的第一本编程书吧《21天精通C++》这个基本自学,学校没开C++相关的课,学习数据结构时自学的《JAVA程序设计基础》之类的,安卓入门的话建议是《疯狂Android讲义》,《Android开发教程笔记》也可以看看,也可以边看书结合着视频看,这样可能好点什么是java源

  • avatar
    访客 2022-07-07 上午 06:30:46

    大量英文注释阅读不方便,求集成idea里面的翻译java注释由英文翻译为中文的工具。学会在idea(eclipse)中阅读、调试源码,是java程序员必不可少的一项技能。在idea中配完环境后,默认其

  • avatar
    访客 2022-07-07 上午 03:23:41

    序员看什么书5、什么是java源代码 怎么查看6、有哪些优秀的Java开源项目最值得阅读工作一到五年的Java程序员遇到瓶颈应该如何提升工作了5年的Java程序员,该如何提升,做了3~5年Java开发,你已经积累了不少项目经验,扩宽了技术广

  • avatar
    访客 2022-07-07 上午 02:43:48

    决技术战术问题,最后是快速落地执行的问题。工作5年左右的程序员,在原创力(执行力)层面比较有竞争力,往往欠缺技术视野以及业务洞察力。后面2点更加重要,这2点解决的是架构设计哲学问题,是架构师能够持续拥有竞争力和影响力的立身之道

发表评论