感悟

很奇怪,我怎么会想着写这么一篇博客——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. HDU 1166 敌兵布阵 (线段树单点修改和区间和查询)

    Input 第一行一个整数T,表示有T组数据.每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1 ...

  2. ACM学习历程—Hihocoder 1164 随机斐波那契(数学递推)

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 大家对斐波那契数列想必都很熟悉: a0 = 1, a1 = 1, ai = ai-1 + ai-2,(i > 1). ...

  3. 【Lintcode】 035.Reverse Linked List

    题目: Reverse a linked list. Example For linked list 1->2->3, the reversed linked list is 3-> ...

  4. 结合Django+celery二次开发定时周期任务

    需求: 前端时间由于开发新上线一大批系统,上完之后没有配套的报表系统.监控,于是乎开发.测试.产品.运营.业务部.财务等等各个部门就跟那饥渴的饿狼一样需要 各种各样的系统数据满足他们.刚开始一天一个还 ...

  5. mysql备份并升级sql语句

    #!/bin/bash ' time=`date +%Y%m%d-%H%M` db_path=/root/code/xizang_PAD_project/PHP_business_server/tfc ...

  6. zabbix3.2部署

    原地址   http://blog.csdn.net/zk673820543/article/details/50680333 CentOS6.7zabbix3.0.0 1.基础软件包安装,采用yum ...

  7. day6 面向对象(2)

    static关键字 1:如果没有static会怎样? 1:定义Person类 1:姓名.年龄.国籍,说话行为 2:多个构造,重载形式体现 2:中国人的国籍都是确定的 1:国籍可以进行显示初始化 cla ...

  8. USB相关资料

    http://www.usb.org/developers/defined_class/#BaseClass00h http://blog.csdn.net/lizzywu/article/detai ...

  9. 第二课2、ROS

    1.ROS框架 分为以下三个级别: 1)文件系统级 2)计算图级 计算图级是ROS处理数据的一种点对点的网络形式,描述程序是如何运行的. 基本的计算图级概念包括:节点,参数服务器,消息,服务,主题和包 ...

  10. C++11 assert/static_assert

    assert assert 是运行期断言,它用来发现运行期间的错误,不能提前到编译期发现错误,也不具有强制性,也谈不上改善编译信息的可读性,既然是运行期检查,对性能当然是有影响的,所以经常在发行版本中 ...