一年时间,从小白到进入阿里巴巴核心部门
注明:本帖不是为了装,如果要喷的话,请右上!发本帖的目的是为了让大家可以参考我的学习经历,提高自己的能力!当然人外有人天外有天,大神也别打我!再次说明,我只是为了能够帮助迷茫的兄弟们!
有人我就接着说,没人就让他沉了吧!先叫上我师傅@╱―★神★―╲
在写界面的时候,第一次用了HashMap,是师兄教我们用的,,当时觉得好厉害,对师兄一直处于崇拜当中。(对!当时就是这么菜,HashMap都不知道)
好吧,java初级就算完成了。当时这个项目也是全部写的界面,所以完全就没有锻炼到什么(实际上还是有的,比如说SVn)。这个时候我处于的阶段就是,java一知半解,mysql语句都要一边查一边写才能写出来
这个时候我的时间就比较闲了,在询问过师兄之后我决定利用书籍来提高自己,这段时间我看的书有(大概一个月),《java核心技术,卷一》,《java编程思想》(目前仍然看不懂)。jsp,servlet在自学当中
最要是看《java核心技术》,当时我只看得懂这个,然后把上面的代码大概的敲了一遍,后来我又用servlet开发了自己学校的威信平台,都是很简单的功能
我先列一下我看过的书单:
《java核心技术,卷一》,《java设计模式》,《java编程思想》,《深入理解jvm原理》,《编程之美》,《剑指offer》,《深入分析javaweb,技术内幕》,《深入分析spring技术内幕》,《分布式Java应用:基础与实践》,《hadoop技术内幕》。还有些记不起来了
《java核心技术,卷一》,《java设计模式》,《java编程思想》,《深入理解jvm原理》,《编程之美》,《剑指offer》,《深入分析javaweb,技术内幕》,《深入分析spring技术内幕》,《分布式Java应用:基础与实践》,《hadoop技术内幕》。还有些记不起来了
楼主的观点是:如果你想提高自己的水平,一定要和优秀的人交流,学习他们的思维方式和处事能力。感知他们的气场,看看比你优秀的人在干什么!!
如果你发现比你优秀的人还比你帅还比你努力,那你就真的是个loser
如果你发现比你优秀的人还比你帅还比你努力,那你就真的是个loser
当然楼上说的是做人方面,我现在说说技术吧。
基础:这是非常非常非常非常重要的,只要基础好了,框架什么的你自己都能写,还学什么框架(学框架更加快),那什么属于基础呢?我觉得有以下东西,数据结构、计算机网络、数据库、操作系统。这是计算机基础,在java的话,我觉得应该是,IO,NIO,并发(包括concurrent包下的),集合框架(理解原理,多看看源码),反射。面对对象的思想,OOP,OOA,OOD。JVM,JMM(这两个虽然实战经验很少,当时一定要去学习了解一下你就知道什么时候用volatile什么时候用sync)。
提高:在基础上面如何提高自己呢?我们有基础之后,我觉得需要学习设计模式,深入的学习数据库(包括,索引原理,ACID,事务隔离机制,触发器,存储过程等等,数据库的锁机制,行锁,表锁,悲观,乐观,),在这个阶段要学会看看源码,把IOC,AOP的原理弄清楚,Spring是怎么找到bean,怎么加载。怎么解析等等,。当你遇到此类问题,你可以马上就找到问题在哪里,这就是看源码的好处。Aop也不能只是了解动态代理的原理,还要知道什么是aspect,pointcut等等,为什么AOP联盟要定义这些接口...这个时候你就要知道什么是解耦合,什么是高类聚。怎样让代码变得可重用行和扩展性更高,设计模式带给你的好处将是质的变化
深入:其实到这里都是看自己了吧,了解什么是SOA,OSGI。什么是分布式(分布式数据库,分布式文件系统),负载均衡(lvs,Ngnix等)。了解云计算,了解实时计算。知道spark,hadoop,storm。什么是虚拟化技术。这方面我也只是入门,不敢多写!
平常怎样学习:1、给自己定下目标。2、多看看好的博客。3、多了解新的技术(就算你不是学前端的你也要知道前端貌似有个AngularJS,扩宽眼界)4、多写代码、5、少来java吧水(java吧是一个平时大家交流的平台,大家可以来发泄发泄工作和学习的压力,但是这里真的不是学习技术的地方。PS:别打我!)
6:坚持!!!!!!!!!!!!!!!!!!。
送大家一句话:越努力,越幸运!
基础:这是非常非常非常非常重要的,只要基础好了,框架什么的你自己都能写,还学什么框架(学框架更加快),那什么属于基础呢?我觉得有以下东西,数据结构、计算机网络、数据库、操作系统。这是计算机基础,在java的话,我觉得应该是,IO,NIO,并发(包括concurrent包下的),集合框架(理解原理,多看看源码),反射。面对对象的思想,OOP,OOA,OOD。JVM,JMM(这两个虽然实战经验很少,当时一定要去学习了解一下你就知道什么时候用volatile什么时候用sync)。
提高:在基础上面如何提高自己呢?我们有基础之后,我觉得需要学习设计模式,深入的学习数据库(包括,索引原理,ACID,事务隔离机制,触发器,存储过程等等,数据库的锁机制,行锁,表锁,悲观,乐观,),在这个阶段要学会看看源码,把IOC,AOP的原理弄清楚,Spring是怎么找到bean,怎么加载。怎么解析等等,。当你遇到此类问题,你可以马上就找到问题在哪里,这就是看源码的好处。Aop也不能只是了解动态代理的原理,还要知道什么是aspect,pointcut等等,为什么AOP联盟要定义这些接口...这个时候你就要知道什么是解耦合,什么是高类聚。怎样让代码变得可重用行和扩展性更高,设计模式带给你的好处将是质的变化
深入:其实到这里都是看自己了吧,了解什么是SOA,OSGI。什么是分布式(分布式数据库,分布式文件系统),负载均衡(lvs,Ngnix等)。了解云计算,了解实时计算。知道spark,hadoop,storm。什么是虚拟化技术。这方面我也只是入门,不敢多写!
平常怎样学习:1、给自己定下目标。2、多看看好的博客。3、多了解新的技术(就算你不是学前端的你也要知道前端貌似有个AngularJS,扩宽眼界)4、多写代码、5、少来java吧水(java吧是一个平时大家交流的平台,大家可以来发泄发泄工作和学习的压力,但是这里真的不是学习技术的地方。PS:别打我!)
6:坚持!!!!!!!!!!!!!!!!!!。
送大家一句话:越努力,越幸运!