时间:2019-08-08 11:02:18 作者:johnnyl 浏览量:37
图一 如何学好java
编程是一个日积月累的过程,付出的多,收获的也就多。多动手敲代码。不要只是看别人的。自己动手写,代码这东西,你少写一点东西都会报错。在学习初期一定要多想,多敲。
入门过后,多看一些别人的代码,学习一些优秀的设计模式。把代码架构尽量写的优雅。后面的提升看你以后的发展路线,如果想走架构,就多看架构方面的资料,要走管理,就学学项目管理方面的。
图二 如何学好java
一、付出努力是前提
前段时间996引起不小的风波,今日马云先生的669又再次带我开车兜了一回风。其实这背后折射出的道理都一样,不论干什么,首先都要付出超过常人的努力,才能收获幸福的果实,这是前提。除了努力,另外方向更加重要。
二、方向不对努力白费
走技术这条路线基本上薪资跟你的技术功底有很大的关系,这是发展的基础。如果你要在技术这条路上一直发展下去,可以提早可以思考一下如何构建好属于自己的一套基础技术体系。牢固的基础技术体系可以让你对技术理解更加透彻,不仅知其然也能知其所以然。新出来的功能,框架或者中间件,你也能比旁人理解更加透彻。反映到工作实践上,你能解决高难棘手的问题,或者提出非常优秀的解决方案,理论结合实战经验,不断提升你的整体水平,这些都会是非常宝贵的经验,当然这些积累都会成为你的核心竞争力。你发展的平台也更加广阔,薪水自然也能比同龄人超出好几倍。
图三 如何学好java
在北上广深,如果技术能力不错,年薪60万上百万都没有问题。反之, 随着年龄增大,每天忙碌在无休止业务代码中,年复一年,你将在竞争高端岗位的时候非常吃亏。高端岗位对基础原理,理论以及重大项目的实践经验都是有很高的要求,如果你提早准备,这些都是可以逐渐积累,不至于后面追赶而感觉压力倍增。
我身边有一朋友工作将近10年,知识面其实非常广,什么高并发,分布式,中间件,性能优化等知识点了解非常多,概念性的知识娓娓道来,但是不够深入和系统性。后面想换高端岗位经常碰壁,被拒绝,非常尴尬。原因就是技能点了解很多,平时没有归纳总结,技能都是散列状的,不成体系,自问对那块领域最了解,都模棱两可,这个就非常尴尬了。
如何做到用正确的技术体系的学习呢? 举一个简单的例子:
(1) 剥笋第一层:
public class TestInteger {
public static void main(String[] args) {
Integer n1 = 1;
Integer n2= new Integer(1);
System.out.println(n1 == n2);
}
}
有一点基础我们看出第一个就是自动装箱,其实调用的是Integer.valueOf()方法.第二个直接在堆里生成一个对象。挺简单是吧,我们再深入一点看看下面这段程序。
(2) 剥笋第二层:
public class TestInteger {
public static void main(String[] args) {
Integer n1 = 127;
Integer n2 = 127;
Integer n3 = 128;
Integer n4 = 128;
System.out.println(n1 == n2);
System.out.println(n3 == n4);
}
}
你觉得输出结果会是什么呢?会不会是两个True?
默认情况下输出结果是:
Ture
False
因为Integer有一个内部静态类IntegerCache,默认情况会缓存-128到127之间整数,超过这个范围就会new Integer(n),重新生成一个对象。 然后结束了吗? 好戏还在后面。我们把知识再延伸下。
(3) 剥笋第三层:
class Product {
//库存数量
private Integer stock;
void subStock(Integer num){