感悟

很奇怪,我怎么会想着写这么一篇博客——Java语言的学习体系,这不是大学就已经学过的课程嘛。博主系计算机科班毕业,大学的时候没少捧着Java教程来学习,不管是为了学习编程还是为了期末考个高分,都在这门语言的学习上下了不少功夫,得益于之前有C语言的基础,所以那时候并没有想象的吃力,但是因为Java语言是面向对象设计,所以很多时候还是要从C中转换一下思想。

大学的学习还是比较自主和自由,大概就是让自己培养学习的习惯和能力吧,那时候学习Java语言,也是按顺序来捡着学,直到最后才有个比较系统的体会,到后来能够完成一些JavaWeb的项目了,也就开始注重高级开发了,因为按照这样一来,基础知识是完全够用的,不会的时候,查缺补漏一番也能够解决当时的问题。

在这样的自我认知中,慢慢的,你觉得你熟悉Java语言,确实当你在做开发的时候,你觉得很顺畅很自然,这些都是以你目前知识能够胜任的,但是,如果让你说说Java学习的知识体系,你是否能够按照大学课本上的目录大概说一遍呢?说说目录下都有哪些知识点,都能够让你学会什么,为什么这样编排。这一连串的问题,可以在脑海里好好过一下,好像说到每个点自己都会,但是有系统性和连贯性吗?这可以从侧面反应出我们的学习习惯和学习方式和能力,如果你对这种学习体系了如指掌,那么应该很快能够讲出一个大概的体系,这是基础本领,我觉得你既然用Java这么手艺来讨饭吃,那么对它有个脉络性的熟悉,怎么讲都是应该的吧。

其实,博主自己在这里也缺少积累,更加没有意识到要有这样的觉悟,平时写Java程序没有问题,但是要是问问你学术一点的东西,好像需要想个半天,到最后组织好的语言也没有书本上的那么专业,而且说不全,更是没有体系和大纲可言。博主想了起来,17年面试一家互联网金融公司,就有被面试官问到这个问题:请你说说Java程序设计语言的学习大纲,可以参照大学课本的教学大纲说一说。当时博主是惊讶的,还问这个东西,我表示无语了。当时按照常理来想一想,这应该是Java从业人员都应该会的吧。令人羞愧的是,我在当时居然没有回答出来,当时就觉得懵逼,完全不按面试的套路出牌啊,我也没有事先准备,足以见得,还是我平时不注重学习,不注重积累,甚至是学习语言的方式出了问题,这让我一度开始怀疑自己。

最近在重新梳理知识点,发现如果要往上学习的越牢固越深入,稳固的根基是必不可少的,不管学习哪门语言,这些都是基础,都是必须要掌握的,所以,借此机会,我想重新梳理和整理一下那些年学过的Java语言程序设计,把学习大纲大概罗列一番,希望能够给自己留下更深刻的印象,同时也给自己提个醒,学习新东西需要注意方法,建立学习体系很重要,还要自己总结和积累。

知识体系大纲摘要

1、Java入门基础及环境搭建

  • 主要阐述Java语言的历史和面向对象设计的特点,Java语言在1995年由Sun公司推出,最后在2009年被Oracle收购,目前用得多得版本是JDK1.7和1.8,在笔者写当前博客时,最新的JDK版本已经到12了。
  • 阐述面向对象语言设计的思想,比较面向对象设计和面向过程设计的差异。
  • Java JDK的下载和安装,以及环境变量的配置,使用记事本编写“Hello world”程序,然后使用CMD命令行编译和执行,正式入门Java语言的开发。
  • 讲解Java程序语言的基本要素和编程规范,如何使用流行的IDE来编写程序,讲解NetBeans、Eclipse和IntelliJ IDEA等开发工具的安装和使用,如何编写、设置以及调试代码。

2、Java程序设计基础

  • 讲解常量和变量的概念,声明方式和作用域。
  • 8种基本数据类型的定义和概念。
  • Java运算符的介绍,诸如算术、赋值、逻辑、关系、自增和自减、位和条件运算符,还包括运算符计算优先级的说明。
  • Java基本数据类型的转换。

3、Java流程控制语句

  • 介绍Java语句的编写方式和编写规范。
  • 流程控制语句的介绍如if else语句、switch case语句、while和do while语句、for和foreach循环语句,以及其他的流程控制语句如return、break和continue语句。
  • 通过案例和代码来熟悉流程控制语句的使用和编写。

4、Java字符串处理

  • 讲解String类型的基本定义和使用,以及如何连接字符串、计算长度、转换大小、去除空格、截取字串、分割字符串、字符串比较和替换,通过这种如连接、修改、替换、比较和查找的方式来熟悉String字符串的基本处理。
  • StringBuffer和StringBuilder等可变字符串的讲解和使用。
  • 正则表达式的讲解和使用。

5、Java数字和日期处理

  • Java Math类的常用方法介绍。
  • Java生成随机数,数字格式化以及各种类型数字的运算和转换。
  • Java日期和时间的处理,日期格式化和日、月、年等的基本计算。

6、Java数组和基本排序算法

  • 数组简介,一维数组、二维数组和多维数组的介绍。
  • 数组的声明、填充、查找以及复制方法等的说明。
  • java数组排序介绍,如基本和常用的冒泡排序、选择排序、快速排序和插入排序等。

7、Java类和对象

  • Java面向对象的概述,认识类和对象及两者的关系。
  • 类的定义,属性和方法,类变量和类方法,成员变量和成员方法,this关键字。
  • Java对象的创建,如何访问对象的属性和方法。
  • 对象的销毁介绍,访问控制修饰符介绍。
  • static和final修饰符介绍和使用,main方法。
  • Java方法的书写,参数声明,值传递和引用传递。
  • Java构造方法,包的概念。

8、Java类的封装、继承和多态

  • Java类的封装概念。
  • Java类的继承概念和用法介绍,super关键字。
  • Java对象类型转换和强制对象类型转换。
  • Java方法的重载和重写概念,如何区分两者。
  • Java的多态性介绍。
  • Java接口和抽象类的说明,以及两者的比较和区别。
  • Java内部类和匿名类介绍和使用。

9、Java异常处理

  • Java中的异常介绍,异常处理机制。
  • try-catch-finally语句说明和使用。
  • 声明、抛出异常的说明和使用,如何自定义异常。
  • 通过大量案例说明异常的使用。

10、Java集合、泛型和枚举

  • Java集合类的概念,Collection接口、List、Set和Map结合的介绍和使用。
  • Collection类和各类集合运算,如复制和循环遍历。
  • Java泛型介绍,枚举类型介绍。

11、Java反射机制

  • 反射机制的概念。
  • 通过反射来访问构造函数、方法和成员变量的使用和说明。

12、Java输入输出流和文件操作

  • Java流的概念,File类等流相关类的介绍和使用。
  • Java动态读取文件内容和输出。
  • Java字节流和字符流的说明和使用。

13、Java多线程编程

  • Java中线程的概念,线程的实现方式和声明周期。
  • 多线程访问实例变量和线程安全问题。
  • 多线程的控制和同步机制。
  • 多线程API中各方法的使用,停止线程和暂停线程,线程优先级等。

14、Java网络编程

  • Java网络编程基础知识,认识Socket。
  • 认识TCP和UDP等概念。
  • 网络编程基础类的学习和使用。

15、Java图形用户界面

  • 组件布局等的概念介绍。
  • 布局搭建,时间处理和Applet。

Java学习知识体系大纲梳理的更多相关文章

  1. unity3d所要知道的基础知识体系大纲,可以对照着学习,不定期更新

    本文献给,想踏入3D游戏客户端开发的初学者. 毕业2年,去年开始9月开始转作手机游戏开发,从那时开始到现在一共面的游戏公司12家,其中知名的包括搜狐畅游.掌趣科技.蓝港在线.玩蟹科技.天神互动.乐元素 ...

  2. (转载)Unity3D所要知道的基础知识体系大纲,可以对照着学习,不定期更新

    本文献给,想踏入3D游戏客户端开发的初学者. 毕业2年,去年开始9月开始转作手机游戏开发,从那时开始到现在一共面的游戏公司12家,其中知名的包括搜狐畅游.掌趣科技.蓝港在线.玩蟹科技.天神互动.乐元素 ...

  3. [转]unity3d所要知道的基础知识体系大纲,可以对照着学习,不定期更新 ... ... ... ...

    本文献给,想踏入3d游戏客户端开发的初学者. 毕业2年,去年开始9月开始转作手机游戏开发,从那时开始到现在一共面的游戏公司12家,其中知名的包括搜狐畅游.掌趣科技.蓝港在线.玩蟹科技.天神互动.乐元素 ...

  4. CISP-PTE注册信息安全专业人员渗透测试工程师知识体系大纲

    CISP-PTE注册信息安全专业人员渗透测试工程师知识体系大纲 都是图.. 不足之处,欢迎补充

  5. 最强最全的Java后端知识体系

    目录 最全的Java后端知识体系 Java基础 算法和数据结构 Spring相关 数据库相关 方法论 工具清单 文档 @(最强最全的Java后端知识体系) 最全的Java后端知识体系 最全的Java后 ...

  6. 学习Java的知识体系路线(详细完整版,附图加目录)

    将网上的Java学习路线图进行归纳囊括,方便以后学习时弥补自身所欠缺的知识点,也算是给自己一个明确的学习方向.至于第一阶段,即JavaSE的基础,这里不给出. 第二阶段 技术名称 技术内容 数据库技术 ...

  7. Java后端知识体系及路线【最新秘籍】

    第一层(基本语法)   第一层心法,主要都是基本语法,程序设计入门,悟性高者十天半月可成,差一点的 3 到 6 个月也说不准.如果有其他开发语言的功底相助,并且有张无忌的悟性与运气,相信第一层只在片刻 ...

  8. 新手上路---Java学习知识梳理

    我随笔 我相信也有那么一些人跟我一样,脱下军装后对未来感到迷茫,不知所措甚至怀疑起自己的能力,自身体会的经历过才能明白其中的辛酸!归咎一切:心态,信心,自信!再穷不过乞讨,不死终将出头.好了,闲言碎语 ...

  9. Java基础学习知识体系图

随机推荐

  1. break、continue和return的区别

    break.continue和return的区别 break function myBreak() { for(var i = 0; i < 5; i++) { if(i == 3) { bre ...

  2. ContextMenu的自定义

    1.针对整个ContextMenu, 自定义一个Style,去掉竖分割线       <Style x:Key="DataGridColumnsHeaderContextMenuSty ...

  3. 清除@SessionAttributes 网站实现退出登录

    在网站实现登录时,我认识了@SessionAttributes,对我来说是真的好用,@SessionAttributes注解可以使得模型中的数据存储一份到session域中. 这样在页面跳转时可以直接 ...

  4. C++ 右值引用与移动操作

    右值引用和移动操作是C++11提出的新概念,通过这些操作,可以降低拷贝操作带来的消耗.先来简单介绍一下左值和右值. 左值一般指的是一个对象,或者说是一个持久的值,例如赋值的返回值.下标操作.解引用以及 ...

  5. Manacher's Algorithm 马拉车算法(最长回文串)

    这个马拉车算法Manacher‘s Algorithm是用来查找一个字符串的最长回文子串的线性方法,由一个叫Manacher的人在1975年发明的,这个方法的最大贡献是在于将时间复杂度提升到了线性,这 ...

  6. 初识Kotlin之集合

    Kotlin的集合是让我为之心动的地方,丰富的高阶函数帮助我们高效开发.今天介绍Kotlin的基础集合用法.获取集合元素的函数.过滤元素的函数.元素排序的函数.元素统计的函数.集合元素映射的函数.集合 ...

  7. js上传文件到后台时序列化数据

    let fd = new FormData() // 定义传递的序列化对象,for (let i = 0; i < addArr.length; i++) { // addArr是选中文件的输入 ...

  8. wordcount作业

    搭档:201631062427,201631062627 代码地址:https://gitee.com/oyyyyyy/wordcount 作业地址: 一: 代码互审情况 我们采用的都是c语言的方式完 ...

  9. U3D Shader基础

    http://blog.sina.com.cn/s/blog_471132920101dcnr.html 转载自风宇冲Unity3D教程学院 一个SubShader(渲染方案)是由一个个Pass块来执 ...

  10. Unity手游之路自动寻路Navmesh之高级主题

    http://blog.csdn.net/janeky/article/details/17492531 之前我们一起学习了如何使用Navmesh组件来实现最基本的角色自动寻路.今天我们再继续深入探索 ...