感悟

很奇怪,我怎么会想着写这么一篇博客——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. 二:apache的Qpid消息中间件介绍

    一:什么是Qpid?--->Qpid 是 Apache 开发的一款面向对象的消息中间件,它是一个 AMQP 的实现,可以和其他符合 AMQP 协议的系统进行通信.--->Qpid 提供了 ...

  2. ACM学习历程——HDU5202 Rikka with string(dfs,回文字符串)

    Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...

  3. Linux中vsftpd安装和配置

    目录 Redhat/CentOS安装vsftp软件 Ubuntu/Debian安装vsftp软件 Redhat/CentOS安装vsftp软件 1. 安装vsftp $ yum install vsf ...

  4. AtCoder Grand Contest 028 A:Two Abbreviations

    题目传送门:https://agc028.contest.atcoder.jp/tasks/agc028_a 题目翻译 给你两个串\(s\)与\(t\),长度分别为\(n,m\).问你存不存在一个串长 ...

  5. bzoj 3456 城市规划 —— 分治FFT / 多项式求逆 / 指数型生成函数(多项式求ln)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3456 首先考虑DP做法,正难则反,考虑所有情况减去不连通的情况: 而不连通的情况就是那个经典 ...

  6. rt-thread的定时器管理源码分析

    1 前言 rt-thread可以采用软件定时器或硬件定时器来实现定时器管理的,所谓软件定时器是指由操作系统提供的一类系统接口,它构建在硬件定时器基础之上,使系统能够提供不受数目限制的定时器服务.而硬件 ...

  7. C++与UnrealScript脚本交互

    转自:http://m.blog.csdn.net/blog/qweewqpkn/39932499 一.c++调用uc脚本中的函数 举例: 1. 在脚本MenuManager.uc文件中实现函数: e ...

  8. hadoop学习笔记411

    安装hadoop  1. 免秘钥  使用hadoop用户  ssh-keygen -t rsa  cp id_rsa.pub authorized_keys  cat id_rsa.pub>&g ...

  9. c# list排序的实现方式

    实体类实现IComparable接口,而且必须实现CompareTo方法 实体类定义如下: class Info:IComparable { public int Id { get; set; } p ...

  10. [bzoj2440]完全平方数(二分+mobius反演)

    解题关键:由容斥原理得,num=1的倍数的数量−一个质数平方数(9,25,49...)的倍数的数量+两个质数的积平方数(36,100,225...)的数量−三个质数...... 这道题用莫比乌斯的正向 ...