动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦!

Java学习计划,给自己一个学习线路。语言是学习成本比较低的,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下的工具类等实现也是上述两种方法实现的,而并发最重要的技术体现就是线程池技术(此处是重点,源码)和锁(主要理解对象的头部markhard部分,在此基础上学习下重入锁、读写锁,而悲观锁、乐观锁、轻量锁、重量锁等概括要通过相应的关键字来理解);后者较深,不建议Java入门学习,只要对JVM底层结构有一定了解,对内存模型有概念,对GC的实现理解其算法和流程就好。

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

  框架相关:

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

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

  常用技术栈:

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

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

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

Java学习计划,给自己一个学习线路相关推荐

  1. python全栈计划_Python 全栈学习视频教程,包含了从 0-99天的全栈学习计划,估计可以学习 1024 小时。...

    今天跟大家推荐某大厂出 Pthon\Mysql\Linux 神器,据说是大厂内部大神分享的资料,不论是资料的详细程度和质量,都非常稀有! 我们知道,不论是高级开发和运维工程师,Linux 命令熟练程度 ...

  2. Android每周一个学习计划——RxJava2 0的学习使用

    序言:蜗壳已经退役一年多了,但是还是抵不住蜗壳在NBA界的影响力,最近NBA流行向"蜗壳挑战",事情起源于蜗壳给IT和北境之王设定了新赛季的挑战,然后众多球星也纷纷向蜗壳讨要挑战. ...

  3. 计算机学习计划范文,【计算机学习计划范文】

    为了更好地利用计算机进行办公与教学,为将来计算机入教室打好基础,必须将计算机培训工作认真有效地开展起来,那么具体如何计划呢?下面是由小编整理的计算机学习计划范文,一起来看看吧. 计算机学习计划范文篇一 ...

  4. 应用文写作 计算机专业 学习计划,个人应用文写作学习计划例文

    个人应用文写作学习计划范文撰写人:___________日 期:___________ 个人应用文写作学习计划范文 撰写人:___________ 日 期:___________ 第 PAGE 页 共 ...

  5. 计算机新学期学习计划,新学期计算机学习计划

    新学期计算机学习计划Tag内容描述: 1.小学计算机教师新学期计划范文 为了适应信息社会的发展需要 满足教育信息化的要求 培养学生的创新精神和实践能力 为此 特制定如小学计算机教师新学期计划 1 一 ...

  6. 计算机学习计划范文,教师个人计算机学习计划书_老师计算机学习计划范文

    教师个人计算机学习计划书篇三 为了进一步提高全校教师计算机应用水平,让信息技术更好的服务于教育教学.特制定本计划. 一.培训目标: (一)了解信息技术基础知识及其在教学中的应用. (二)掌握用键盘输入 ...

  7. 【假期学习计划】深度强化学习算法与应用培训班

    深度强化学习应用与实战培训班内容 一.强化学习概述 二.马尔科夫决策过程 1.马尔可夫性 2.马尔可夫决策过程 3.策略与价值 4.最优化原理 5.MDPs扩展 三.动态规划 1.动态规划 2.价值迭 ...

  8. Flash3D学习计划(三)——学习VB,IB相关,理解三角形顶点顺序;在屏幕上显示2D矩形,并实现缩放,平移,旋转...

    VB:顶点缓冲 IB: 顶点索引缓冲 三角形的顶点顺序决定了三角形是顺时针还是逆时针,从而决定了三角形在背面剔除的过程中是否会被剔除掉. 相关理论知识可以在前面的文章中找到更多的说明. 实现效果 sf ...

  9. 第一学期《计算机网络》作业一_新学期学习计划合集5篇-其他范文

    [前言]新学期学习计划共含5篇,由好范文网的会员投稿推荐,小编希望以下多篇范文对你的学习工作能带来参考借鉴作用. 第1篇:新学期学习计划 这篇新学期学习计划范文是我们精心挑选的,但愿对你有参考作用. ...

  10. CISCO、JUNIPER网络技术训练中心ITAA等级四(RS)学习计划蓝图(version 1.0)

    itaa等级四(rs)学习计划蓝图(version 1.0) 2000小时技术学习计划蓝图 一.内容组成: bridging and switching a. frame relay b. catal ...

最新文章

  1. python讲1020逆序输出_手把手带你学 Python3(九)| 快速实现数据处理的不二工具(文末有彩蛋)...
  2. Mysql UTF8 varchar与Oracle ZHS16GBK varchar2同长度下存汉字的差异
  3. css div滚动_如何使用CSS创建可垂直滚动的div?
  4. coupled/decoupled
  5. Spring Boot基础学习笔记22:自定义用户控制、登录与退出
  6. iOS 检测网络状态
  7. 从零开始学习Sencha Touch MVC应用之十四
  8. iText关于中文的解决方案
  9. 26.逻辑卷管理器(Logical Volume Manager)
  10. SheetJS 读取excel文件转出json
  11. cppcheck的安装与使用
  12. 便捷开票二维码应用简介
  13. postfix(邮件服务器)说明与postconfig命令详解
  14. matplotlib绘制图像设置中文宋体,英文新罗马,字体大小7.5,坐标轴刻度线内侧
  15. linux 修改文件内容命令
  16. 解决ValueError: too many values to unpack
  17. Redis——Redis哨兵模式
  18. 银行家算法##大魔王程序员
  19. 2014年注电考试心得
  20. 苹果台式一体机笔记本安装win7双系统攻略教程

热门文章

  1. struts2中拦截器和过滤器的比较
  2. CSS自学笔记(16):CSS3 用户界面
  3. 百度网站打不开了,百度被黑了?最新证实:百度遭黑客劫持,手段类似于12月被劫持的twitter(截图)...
  4. 让 .NET 程序 Autorun
  5. NickLee.FortuneBase数据库sql server版工具篇
  6. 前端每日实战:142# 视频演示如何用 CSS 的 Grid 布局创作一枚小鸡邮票
  7. php 数据集转换树、递归重组节点信息多维数组(转)
  8. 10月13日云栖精选夜读:【云栖大会】阿里云和红帽达成合作为百万级客户提供更多企业级解决方案...
  9. javascript 观察者(发布订阅)模式详解
  10. 性能调优:理解Set Statistics IO输出