资料下载网
首页 计算机 考试教辅
Java 基础核心总结 V20(程序员cxuan编写) pdf电子书免费下载,百度云
首页 > 计算机 > 计算机F > Java 基础核心总结 V20(程序员cxuan编写) pdf电子书免费下载,百度云

《Java 基础核心总结 V20(程序员cxuan编写)》pdf电子书免费下载


下载方式一:

百度网盘下载地址:https://pan.baidu.com/s/1FkS8ax6ZGhJQ_S7DXsShvg
百度网盘密码:1111

下载方式二:

http://ziliaoshare.cn/Download/af_123902_pd_JavaJCHXZJV20(CXYcxuanBX).zip

 


Java 基础核心总结 V20(程序员cxuan编写)

作者:empty

页数:225

出版社:empty

《Java 基础核心总结 V20(程序员cxuan编写)》介绍

Java lO是一个庞大的知识体系, 很多人学着学着就会学懵了, 包括我在内也是如此, 所以本文将会从Java的BIO开始, 一步一步深入学习, 引出JDK 1.4之后出现的NIO技术, 对比NIO与BIO的区别, 然后对NIO中重要的三个组成部分进行讲解(缓冲区、通道、选择器) , 最后实现一个简易的客户端与服务器通信功能。

Java lO流是一个庞大的生态环境, 其内部提供了很多不同的输入流和输出流, 细分下去还有字节流和字符流,甚至还有缓冲流提高IO性能,转换流将字节流转换为字符流……看到这些就已经对IO产生恐惧了, 在日常开发中少不了对文件的IO操作, 虽然apache已经提供了Commons IO这种封装好的组件, 但面对特殊场景时, 我们仍需要自己去封装一个高性能的文件IO工具类, 本文将会解析JavaIO中涉及到的各个类,以及讲解如何正确、高效地使用它们,BIO NIO和AIO的区别我们会以一个经典的烧开水的例子通俗地讲解它们之间的区别类型烧开水BIO一直监测着某个水壶,该水壶烧开水后再监测下一个水壶NIO每隔一段时间就看看所有水壶的状态,哪个水壶烧开水就去处理哪个水壶AIO不用监测水壶,每个水壶烧开水后都会主动通知线程说:“我的水烧开了,来处理我吧 BIO(同步阻塞I/O)这里假设一个烧开水的场景, 有一排水壶在烧开水, BIO的工作模式就是, 小菠萝一直看着着这个水壶,直到这个水壶烧开,才去处理下一个水壶。线程在等待水壶烧开的时间段什么都没有做。NIO(同步非阻塞I/O)还拿烧开水来说, NIO的做法是小菠萝一边玩着手机, 每隔一段时间就看一看每个水壶的状态, 看看是否有水壶的状态发生了改变,如果某个水壶烧开了,可以先处理那个水壶,然后继续玩手机,继续隔一段时间又看看每个水壶的状态。AIO(异步非阻塞I/O)小菠萝觉得每隔一段时间就去看一看水壶太费劲了,于是购买了一批烧开水时可以哔哔响的水壶,于是开始烧水后,小菠萝就直接去客厅玩手机了,水烧开时,就发出 哔哔 的响声,通知小菠萝来关掉水壶。什么是流知识科普:我们知道任何一个文件都是以二进制形式存在于设备中,计算机就只有0和1,你能看见的东西全部都是由这两个数字组成,你看这篇文章时,这篇文章也是由01组成,只不过这些二进制串经过各种转换演变成一个个文字、一张张图片跃然屏幕上而流就是将这些二进制串在各种设备之间进行传输,如果你觉得有些抽象,我举个例子就会好理解一些:下图是一张图片,它由01串组成,我们可以通过程序把一张图片拷贝到一个文件夹中,把图片转化成二进制数据集,把数据一点一点地传递到文件夹中,类似于水的流动,这样整体的数据就是一个数据流IO流读写数据的特点:·顺序读写。读写数据时,大部分情况下都是按照顺序读写,读取时从文件开头的第一个字节到最硬盘后一个字节, 写出时也是也如此(RandomAccessFile可以实现随机读写)

·字节数组。读写数据时本质上都是对字节数组做读取和写出操作,即使是字符流,也是在字节流基础上转化为一个个字符,所以字节数组是IO流读写数据的本质。流的分类根据数据流向不同分类:输入流和输出流·输入流:从磁盘或者其它设备中将数据输入到进程中·输出流:将进程中的数据输出到磁盘或其它设备上保存图示中的硬盘只是其中一种设备,还有非常多的设备都可以应用在IO流中,例如:打印机、硬盘、显示器、手机--…根据处理数据的基本单位不同分类:字节流和字符流·字节流:以字节(8bit) 为单位做数据的传输·字符流:以字符为单位(1字符=2字节)做数据的传输字符流的本质也是通过字节流读取, Java中的字符采用Unicode标准, 在读取和输出的过程中,通过以字符为单位,查找对应的码表将字节转换为对应的字符。面对字节流和字符流,很多读者都有疑惑:什么时候需要用字节流,什么时候又要用字符流?我这里做一个简单的概括,你可以按照这个标准去使用:字符流只针对字符数据进行传输,所以如果是文本数据,优先采用字符流传输;除此之外,其它类型的数据(图片、音频等),最好还是以字节流传输。根据这两种不同的分类,我们就可以做出下面这个表格,里面包含了IO中最核心的4个顶层抽象类:现在看IO是不是有一些思路了,不会觉得很混乱了,我们来看这四个类下的所有成员。[来自于c xuan的《Java基础核心总结》]看到这么多的类是不是又开始觉得混乱了,不要慌,字节流和字符流下的输入流和输出流大部分都是一一对应的,有了上面的表格支撑,我们不需要再担心看见某个类会懵逼的情况了。看到Stream就知道是字节流, 看到Re oder/Writer就知道是字符流。这里还要颜外补充一点:Java lO提供了字节流转换为字符流的转换类, 称为转换流。注意字节流与字符流之间的转换是有严格定义的:为什么在输入流不能字符流=>字节流,输出流不能字节流=>字符流?在存储设备上,所有数据都是以字节为单位存储的,所以输入到内存时必定是以字节为单位输入,输出到存储设备时必须是以字节为单位输出,字节流才是计算机最根本的存储方式,而字符流是在字节流的基础上对数据进行转换,输出字符,但每个字符依旧是以字节为单位存储的。在这里需要额外插入一个小节讲解节点流和处理流。·节点流:节点流是真正传输数据的流对象,用于向特定的一个地方(节点)读写数据,称为节点·处理流:处理流是对节点流的封装,使用外层的处理流读写数据,本质上是利用节点流的功能,


《Java 基础核心总结 V20(程序员cxuan编写)》目录

反射的基本使用

获取类的Class对象

构造类的实例化对象

JDK Proxy

C GLIB

JDK Proxy和C GLIB的对比

Spr ngA OP

实例变的特点

静态变量的特点

获取一个类的所有信息

获取类中的变量(Field)

获取类中的方法[Met nod)

获取类的构造器[Constructor)

获取注解

通过反射调用方法

反射的应用场景

Spring的IOC容器

反射+抽象工厂式

JDBC加载数据库驱动类

反射的优势及缺陷

增加程序的灵活性

破坏类的封装性

性能损耗

代理模式

静态代理与动态代理

常见的动态代理实现

动态代理的实际应用

要量

变量汇总

实例变

全局变

静态变量

类变量

局部变量

成员变量

常量

验证过程

深入理解st aic关键字

statio基础知识

static修饰变量

statio修饰方法

statio修饰代码块

statio用作醇态内部类

静态导包

statio进阶知识

关于statio的所属类

statio修饰变量的存储位置

statio变量的生命周期

statio序列化

类加顺序

static经常用作日志打印

static经常用作单例模式

类的构造器是否是static的

String、StringBuffer和StringBuilder

String

StringBuffer

StringBuilder

深入理解String.String Bul der.String But fer

String

StringBuilder

String Buf for

StringBuilder和String But fer的扩容问题

Comparator和Comparable

从设计角度理解

对Comparable的解释

标记·清除算法

Finalizers

compare Too方法与equals) 方法的比较

compare To 0方法出异常

对Comparator的解释

Comparator比较器的方法

Comparable和Comparator的对比

谈谈强引用、软引用、弱引用、幻象引用

垃圾收集器

对象的生命周期

井发历史

线程

Re terence Queue

Reference

什么是多绳程

并发和并行的关系

优势和劣势

并发为什么会出现

线程带来的安全性问题

可见性问题

原子性问题

有序性问题

活跃性问题

性能问题

引起线程切换的几种方式

线程安全性

什么是线程安全性

原子性

流水线设计的优点

竞态条件

加锁机制

竞态条件和关键区域

并发模型和分布式系统银相

认识两个状态

并发模型

井行Worker

井行Worker的优点

井行Worker的缺点

道水线

响应式-事件驱动系统

Actor模型

Channels模型

流水线设计的缺点

函数性井行

创建井启动线程

继承Thread类来创建线程

便用Runnable接口来创建线程

便用Callable接口来创建线程

便用线程池来创建线程

Cached ThreadPool

Fl xed ThreadPool

fail-fast

fail-sade

Single Thread Executor

休眠

优先级

作出让步

后台线程

Thread Factory

加入一个线程

线程异常捕获

同步容器类

操作系统中的并发工具

信号量

互斥量

Futex es

Ticket Lock

Pthreads中的互斥量

管程

消息传递

屏障

避免锁:读-整制-更新

Java井发工具包

Java并发工具缩述

Con cum rent HashMap

Concurrent Map

Concurrent Navigable Map

Concurrent Skip List Map

Concurrent Skip List Set

Copy On Write ArrayList

Blocking Queue

Linked Blocking Queue

Blo a king Deque

版本号机制

GAS算法

ABA问题

循环开销大

CLH Lock

MCS Lock

CLH Lock和MCS Lock

Syn oh ron ized锁

偏向锁

轻级镁

重量级锁

Array Bioc king Queue

Prion ty Blocking Queue

Delay Queue

Transfer Queue

Linked Transfer Queue

A ray Deque

Concurrent Linked Deque

Linke

计算机


python
AI人工智能
javascript
计算机网络/服务器
数据库技术
计算机F

考试教辅


考研考博
英语四六级

沪ICP备18046276号-5