美文网首页
java推荐学习计划(一)

java推荐学习计划(一)

作者: 江北晓白 | 来源:发表于2018-11-07 11:46 被阅读0次


基础相关


       语言是学习成本比较低的,java作为一种高级语言,其相关语法相对简单,各种类库、框架封装的都相对好,而且相关生态也比较好(百度、google可以快速检索,github也有很多相当优秀的资源)。java类库的使用与C++的STL有很多类似的地方(STL的类库是基于C的template的规则衍生出来的,而java的类库就基础实现来说我理解也是template,通过将基础功能模版化封装好,这其中涉及到范型等语法)。而Java类较C++而言,C++的虚函数被java中的接口取代;较C而言,C中的结构体也就是java中的类;所以将java与大家最常使用和学习的C/C++做类比,会发现java的语法有很多其他语言的影子,尤其C/C++。

      上面建绍了我对java的理解,现对其基础语法学习推荐一本书:《Java编程思想》,java编程神书,适合打基础使用,但是相对较贵,可以搜索电子书进行阅读。java基础语法学习外,要懂的主要几个点:八个基础类型与其对应的类的装包和拆包(主要是对应类的底层数据结构,重点);collection类、map类(collection类要会画它的类图,map类要懂hashmap的底层数据结构,curruenthashmap的底层数据结构,java1.8之前和之后的不同等等),并且要理解哪几种是线程安全的类(举例:curruenthashmap、vector、hashtable);最基础的类object的三个方法的具体实现,add、hashcode、equal。

高级进阶:


        已经有了相对较好的java基础后,需要学习一些java使用较高级的东西,大体有两方面,一个是并发,一个是JVM(java虚拟机),分别推荐两本书吧: 《Java并发编程的艺术》、《深入理解Java虚拟机》,前者较好的讲解了java中并发编程的实现,内容通俗易懂,主要理解volitile和sychornizer,涉及到底层封装,主要是通过CAS和AQS实现的,而原子类、JUL下的工具类等实现也是上述两种方法实现的,而并发最重要的技术体现就是线程池技术(此处是重点,源码)和锁(主要理解对象的头部 mark hard部分,在此基础上学习下重入锁、读写锁,而悲观锁、乐观锁、轻量锁、重量锁等概括要通过相应的关键字来理解);后者较深,不建议入门学习,只要对JVM底层结构有一定了解,对内存模型有概念,对GC的实现理解其算法和流程就好。

       java是面向对象编程,面向对象编程的一个特点就是有很多设计模式,比如单例模式(懒汉和饿汉)、工厂模式、策略模式、迭代器模式、服务端和客户端模式等等,这些设计模式可以看一些书学理解一下精髓,推荐《设计模式解析》,设计模式只要先懂精髓就好,这个跟jvm比较相识,在实际工作中理解效果更好,)世界上本没有路走的人多了也就成了路(,一个道理的。 

框架相关:


        经典的SSM(spring、spring MVC、mybatis),要对其使用、结构、源码实现有一定理解,其中spring的IOC和AOP,spring MVC和服务器/bean层的关系及实现,mybatis的源码实现(mybatis源码流程相对简单,便于学习java代码)。现在用的最多的是spring boot,便于快速构建,但是缺点是缺少对具体实现的感知,需要有SSM或SSH的组合理解(不推荐SSH呀,太老了)。

        Netty框架是一种网络通信框架,基于Netty可以实现客户端和服务端的消息通信,基于Netty可以学习一下NIO的具体实现(AIO,BIO最好懂一下原理)。

常用技术栈:


        数据库技术懂mysql就好,会用最基本的select、delete、update、query(order by,group by)就好,最好会用index(索引,公司用的比较多的内容,基于红黑树),自己可以试着建表,多线程访问增删改查,看看效果。数据库的四大特性及引入的三大问题,及解决问题的四大隔离事务都要懂。

       web相关技术,需要懂一下http、https协议,对request和response相关字段要理解,可以通过postman在网上找一些例子进行学习。而且要懂socket编程,不管是java还是其他语言,socket编程都是最基本的服务端和客户端的通信方式。

       linux的常用命令一定要会用(自己多用用就好了),并且最好试着跑一下服务端程序,试试效果。git也要会用,可以在github上建立一个库,上传自己开发的程序。


目前想到这些了,后续会有补充!

烟白酒旗青,水村鱼市晴~~~~~~

        

相关文章

  • java推荐学习计划(一)

    基础相关: 语言是学习成本比较低的,java作为一种高级语言,其相关语法相对简单,各种类库、框架封装的都相对...

  • 走弯路,给Java 1~5 年程序员的建议

    如何学习Java? 大数据培训学习Java吗? 注意: 1、所推荐的学习内容是Java Web和Java后端开发的...

  • 推荐java教程

    推荐java学习网站:http://how2j.cn/p/1215全套java学习教程,学习之后发现不错,java...

  • 2018-07-16-------java计划

    java学习计划 1、java基本语法(1 编写 HelloWorl...

  • 假期计划

    一,Java基础部分(自学Java) 学习路径 视频学习 推荐课程 极客学院java课程(需要会员)百度云下载链接...

  • 自学大数据:大数据学习线路及各阶段学习书籍

    大数据学习路线及各阶段学习书籍推荐! 阶段一、大数据基础——java语言基础方面 (1)Java语言基础 Java...

  • metric上报插件开发

    java 基础中台java 开发框架java 开发框架 3.0 (推荐使用)开发需求开发计划架构设计组件4.1 x...

  • Java学习推荐

    学习编程最好的方式:项目驱动资料查找:谷歌镜像稳定版 视频教程 慕课网教程(基础 进阶全) 书籍 基础类 Java...

  • 装饰者模式——IO流运用

    推荐博客Java设计模式学习09Java设计模式学习09Java设计模式学习09 装饰者模式还是比较难懂的。。。。...

  • 推荐一个Java全栈学习网站

    推荐一个Java全栈学习网站,跟着学习路线就可以掌握时下java流行技术,已经很多java学习者从中受益。http...

网友评论

      本文标题:java推荐学习计划(一)

      本文链接:https://www.haomeiwen.com/subject/ewumxqtx.html