java基础知识总结-经典
文章平均质量分 89
圣小童
向着目标不断前进
展开
-
【Java关键字】之final
java的final关键字表示最终的,不可改变的,就取其字面意思”不可改变的“。 final可以修饰类、方法、变量。那么分别是什么作用呢? 修饰类:表示类不可被继承 修饰方法:表示方法不可被覆盖 修饰变量:表示变量一旦被赋值就不可以更改它的值。java中规定final修饰成员变量必须由程序员显示指定变量的值。 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)下面我原创 2017-11-02 01:40:33 · 205 阅读 · 0 评论 -
IO模型与NIO模型简介
IO和NIO比较 同步与异步 同步I/O 每个请求必须逐个地被处理,一个请求的处理会导致整个流程的暂时等待,这些事件无法并发地执行。用户线程发起I/O请求后需要等待或者轮询内核I/O操作完成后才能继续执行。 异步I/O 多个请求可以并发地执行,一个请求或者任务的执行不会导致整个流程的暂时等待。用户线程发起I/O请求后仍然继续执行,当内核I/O操作完成后会通知用户线程,或者调用用户原创 2017-11-21 00:15:37 · 2205 阅读 · 0 评论 -
Java集合的精华总结
在尽可能短的篇幅里,将所有集合与并发集合的特征、实现方式、性能捋一遍。适合所有"精通Java",其实还不那么自信的人阅读。 期望能不止用于面试时,平时选择数据结构,也能考虑一下其成本与效率,不要看着API合适就用了。 1.List 1.1 ArrayList 以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.a转载 2017-12-10 14:23:22 · 222 阅读 · 0 评论 -
Java序列化与反序列化
一、序列化和反序列化 序列化:把对象或数据结构转换为字节序列 反序列化:把字节序列恢复为对象或数据结构 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 对象的序列化主要有两种用途: 1. 把对象的字节序列持久化,或存原创 2017-12-03 23:31:04 · 298 阅读 · 0 评论 -
网络I/O模型知识总结
在实际应用中,数据操作通常分为输入和输出,那么以输入为例,在操作系统中,一个数据的输入通常分为以下两个过程: 等待数据准备好.将准备好的数据从内核拷贝到用户空间 下面我们将会分别讨论 I/O 模型中的两个大类,即 同步 I/O 与 异步 I/O。 图 1. 基本I/O 模型的简单矩阵 同步阻塞I/O原创 2017-12-20 16:36:32 · 345 阅读 · 0 评论 -
NIO的使用总结
背景 传统流I/O是基于字节的,所有I/O都被视为单个字节的移动;而NIO是基于块的,大家可能猜到了,NIO的性能肯定优于流I/O。没错!其性能的提高 要得益于其使用的结构更接近操作系统执行I/O的方式:通道和缓冲器。 我们可以把它想象成一个煤矿,通道是一个包含煤层(数据)的矿藏,而缓冲器则是派送 到矿藏的卡车。卡车载满煤炭而归,我们再从卡车上获得煤炭。也就是说,我们并没有直接和通道交原创 2017-12-20 20:38:01 · 256 阅读 · 0 评论 -
Java自定义注解
最近在项目中用到了java的自定义注解,在解决问题之后,详细学习了java的自定注解的用法。 1、注解的作用 “注解”有注释、解释的含义。注解也是一种元数据,即是数据的数据,注解是描述java源代码信息的数据,是java源代码的元数据。 注解(Annotation)在代码中添加标记信息,之后我们可以通过解析注解来获取标记信息,完成某些动作。 SDK自带注解有以下几种:原创 2017-12-06 20:15:52 · 184 阅读 · 0 评论 -
java网络编程几种IO模型的介绍和对比
本文通过实现一个简单的时间服务器和客户端,分别对JDK的BIO、NIO和JDK1.7中的NIO 2.0的使用进行介绍和对比,了解基于java的网络编程的发展。本文内容主要参考《Netty权威指南》。 BIO BIO即同步阻塞IO,采用BIO通信方式的服务器,对于每一个连接请求都由服务器创建一个新的线层来接受和处理请求,处理完成后销毁线程。这就是典型的一请求一应答的模型。原创 2018-01-11 15:18:05 · 2924 阅读 · 0 评论