《Java从入门到精通(第四版)》读书笔记

    豆瓣上这样评论:《Java从入门到精通》(软件开发视频大讲堂)从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发应该掌握的各方面技术。废话不多数,go。

第一章 初识Java

    简单的了解,安装配置好jdk环境,执行第一个Java程序,恭喜你,入门了。

 

第二章 熟悉eclipse开发工具

    其实我常用的是idea,也曾经用过MyEclipse、eclipse开普勒版;没有绝对好坏,这几款都在不断更新,只是当时使用的时候能某一个IDEA有方便开发的新特性,就用了;选择一款,熟练使用上面的功能,尤其是快捷键的熟练使用必不可少,既方便又能装逼,本章以后要多看几遍。

 

第三章 Java语言基础

    两点注意:

    1、位运算符在应用类项目开发中几乎没怎么用过,如果感兴趣可以看看jdk源码,里面大量运用

    2、这章的编码规范很少,可以看看阿里巴巴Java开发手册Google Java 编程规范

 

第四章 流程控制(略)

 

第五章 字符串

    两点注意:

    1、String、Stringbuffer、Stringbuild区别,也是面试最常见的问题;

    2、正则表达式,用的多,仔细研究

 

第六章 数组

    两点注意:

    1、排序算法面试较多,除了文章中的排序方法,需要掌握这几种算法,才会有人买账,六大六大排序排序

  • 1.冒泡排序
  • 2.选择排序
  • 3.(直接)插入排序
  • 4.希尔排序
  • 5.归并排序
  • 6.快速排序

    2、注意和集合中list的区别,编程时根据实际情况,选择合适的使用

 

第七章 类和对象

    面向对象的核心和基础,四大特性:封装、继承、多态、抽象,初中级面试100%;其中多态对入门童鞋很不好理解,概念不说了,主要为了方便动态调用;假设一个场景,需要实现一个画图形的功能(可能是原型、方形、三角形),根据给不同的质量输入,画不同的图形;也就是说编程时候你不知道具体会画什么图形,只有在运行时候才能根据指令画图形,这时候多态就上场了,定义一个抽象的父类图形和三个子类(分别是圆形、方形、三角形),那入参就是三个子类对象,赋值给父类变量,执行画图方法时候,根据多态的功能,就可以实现不同的子类行为;

    另外,静态变量和方法的关系,对象之间的比较,也是面试重点,在实际应用中很基础;

 

第八章 包装类

    看本章从两个方面考虑:

    1、为什么需要包装类  ?

    2、是否可以用包装类代替基本数据类型 ?

 

第九章 数字处理类(略)

 

第十章 接口、继承和多态

    本章中讲的都是基本定义、语法和基本用法,提三点:

    1、instanceof的用法了实例,这里讲的不是很清楚,需要自己去搜一下,不用死记硬背,想不清楚,跑一下程序

    2、这里说了重载的概念,还有覆盖(也叫重写),这几个概念没啥理解难度,但是名字很困惑人,记不住就算了,面试时候      记不住名字,直接说理解也OK

    3、接口和抽象类的概念都容易理解,那提问:什么时候用接口,什么时候用抽象类?java抽象类与接口的选择

第十一章 类的高级特性

    没啥高级的,都是基础,只说一点:

    1、内部类的意义?

 

第十二章 异常处理

重点关注:运行时异常和非运行时异常(面试重点)

《Java从入门到精通(第四版)》读书笔记_第1张图片

第十三章 Swing程序设计

本人从事后端开发,对Swing了解不深,就不解析了,特此说明,以及后面的21章以后的内容都不在解析;

第十四章 集合

    集合是非常重要的内容,也是有很大研究意义的,本章写的有点简单,推荐大家从以下几点研究:

    1、了解集合类的继承关系,掌握集合类的特性(是否有顺序,元素是否重复,性能如何:检索效率,查询插入效率,以及相      互对比差异、应用场景等)

    2、有兴趣可以看看各个集合的实现原理,以及他们的线程安全方面的差异

《Java从入门到精通(第四版)》读书笔记_第2张图片

 

第十五章  I/O(输入/输出)

    本章的内容是IO的基础,以后遇到的主要应用主要是对文件(文本文件、excel文件等)的操作;这里是是入门介绍,就不多

介绍了,记得看看他们的类图;

第十六章 反射

    反射功能很强大,主要是对Java对象的访问,检测,修改等操作;反射的用途很广,在各种配置化的框架中,动态加载对象,甚至是我们使用的工具的IDE中,当输入对象或者类并向调用它的属性和方法时,一按 (“.”)点号,编译器就会自动列出她的属性或方法,这里就会用到反射。但是我实际应用开发中用到的不多,也仅仅用于对象属性的校验;不过建议大家还是要深入理解反射机制,是后续深度学习的基础;

    对了,annotion的功能是jdk1.5的特性了,结合AOP的使用,非常方便灵活,减少配置文件,提高开发速度,之余可读性,我觉得没有许多人说的那么困难。

 

第十七章 枚举类型和泛型

    说起枚举类型,主要用来定义常量;那Java中常量定义有哪几种方式?如何选择?请看《Java中定义常量(Constant) 的几种方法》,以我的经验,我比较认同这篇文章的观点,尽可能的配置化,不然就用enum,更大的灵活性;

    关于泛型,本章说的很浅,以后会有专门的文章针对性的讲解面试题的重点内容;看的时候从几点理解:除了概念、普通用法、高级用法之外,有兴趣可以看看泛型的原理,以及泛型擦除带来的问题和解决办法(引用、多态等);

 

第十八章 多线程

    都是基础介绍,没啥深度;在实际应用中,很少让你通过thread or runnable实现多线程,大部分都是通过线程池类来控制,虽然简化了程序,但是用好没有想象的那么简单,多线程是高并发的重点研究内容;推荐两本书《Java并发编程实战》、《java多线程编程核心技术》;

 

第十九章 网络通信(略)

 

第二十章 数据库

    讲的很浅,数据库类型很多,本人工作中用到的数据库,就关系型数据库:mysql和oracle,以及NOSQL数据库:redis;这两大类是Java后端人员避不开的数据库,需要深入学习,这里就不多说了,对初级入门的建议,先从语法入手,会用就好;对于oracle和mysql孰优孰劣,如何选择的纠结,没必要,因为差异很小。真正用的时候,都是O/R mapping框架(mybatis or Ibatis与Hibernate)

 

总结:

    因为是入门的书籍,讲的不多,提了一下重点关注,有些内容有空会写博客分析,欢迎大家留言提要求;水平不高,欢迎高手批评斧正;送入门者几句话:入门很简单,实践最关键,基础要牢靠,学习不能断;

 

 

你可能感兴趣的:(Java开发生涯阶段整理)