传统的同步阻塞式I/O编程 基于NIO的非阻塞编程 基于NIO2.0的异步非阻塞(AIO)编程 为什么要使用NIO编程 为什么选择Netty 第二章 NIO 入门 2.1 传统的BIO编程 2.1.1 BIO 通信模型图 2.1.2 同步阻塞式I/O创建的TimeServer源码分析 package com.phei.netty.bio; import java.io.IOException; import java.net.ServerSocket; import java.net.Socke…
在本章巾,我们会分别对 JDK 的BIO ,NIO 和JDK 1.7 最新提供的 NI02.0的使用进行详细说明 ,通过流程图和代 码讲解,让大 家体会到随着 Ja va 1/0 类库的 不断发展和改进,基于 Java 的网络编程会变得越来越简单 ,随着异步 I/0 功 能的增强,基于Java NIO 开发 的网络服务器甚至不逊色于采用 C++开发的网络程序 . 本章主要 内容包括 : 1.传统的 同步阻塞式 1/0 编程 2.基于 NIO 的非阻塞编程 3.基于 NI02 .0 的异步非阻塞…
Java 是由 SUN公司在 1995 年首先发布 的编程语 言和计算平 台.这基础技术 支持最新 的程序 ,包括 实用程序 .游 戏和业 务应用程序 .J ava 在世界各地 的 8.5  亿 多 台个 人计算机和数 十亿 套设备上运行着 ,其l扫 包括移动设备和 电视设备 . Java 之所 以能够得到如此广泛 的应用 ,除 了摆脱硬件平 台的依赖具有 “ 一次编写 .到 处运行 ” 的平 台无关性特性之外 ,另一个 重要原因是 :其丰富而强大的类库 以及众 多第三 方开源类库使得基于 Ja…
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&32 物联网开发 群号622368884,不喜勿喷 一.你如果想学基于Arduino的ESP8266开发技术 一.基础篇 ESP8266开发之旅 基础篇① 走进ESP8266的世界 ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 ESP8266开发之旅 基础篇③ ESP826…
第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码.为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容, 2.1.1.Python适合开发哪些类型的应用呢? 云计算 机器学习 科学运算 自动化运维 自动化测试 爬虫 数据分析 GUI图形化 Web开发等 2.1.2.P…
第一章 MySQL入门篇 一.MySql简介 简言: 和SQL Server数据库相同,MySQl也是一个关系型数据库管理系统.由瑞典的MySQL AB公司开发,2008年被SUN公司收购,2009年,SUN公司被Oracle公司收购,因此两个主流数据库均为Oracle公司所有. 1.MySQL的版本 a)       社区版(Community):可自由下载而且完全免费,但官方不提供任何技术支持. b)       企业版(Enterprise):收费版本,由技术支持. 2.MySQL的优势…
前言:撸基础篇系列,避免每次都要从头开始看,写个自己的知识体系树 NIO 核心就是异步, 比如,复制文件,让操作系统去处理,等通知 BIO核心类 一,BIO NIO基本操作类 Bytebuffer 构建: 用JVM的内存构建: ByteBuffer.allocate(bufferSize) 用JVM的直接内存构建: ByteBuffer.allocateDirect(bufferSize) 内存结构:  flip()后--> postion, limit,和captain的处理工具类 flip(…
C++ Primer Plus 第二章 开始学习C++ 知识点梳理 本章从一个简单的C++例子出发,主要介绍了创建C++程序的步骤,以及其所包含的预处理器编译指令.函数头.编译指令.函数体.注释等组成部分,说明了C++的基本代码风格及书写规则,对变量.函数.类的声明以及使用进行了阐述. 重点知识回顾 C++程序从main()函数开始,其中函数由函数头和函数体组成,函数头中包含函数所需的参数类型和函数的返回值类型,函数体是位于花括号中的C++语句.如下main()与普通函数没有区别,只不过其是由启…
2.1环境的安装 解释器:py2和py3 添加环境变量的作用:便于找到python解释器 开发工具:pycharm 2.2编码 2.2.1编码基础 ascii:只表示英文,8位表示一个元素,python2默认编码 unicode:包含现有已知所有文字,被称为万国码,32位表示一个元素,用于计算机内部计算,中文在其中为四字节. utf-8:unicode简化版,用于计算机网络传输和内部转换,中文在其中为3字节,python3默认编码. gb2312:亚洲地区所用编码,中文在其中为两字节 gbk:g…
在JDK1.4以前,I/O输入输出处理,我们把它称为旧I/O处理,在JDK1.4开始,java提供了一系列改进的输入/输出新特性,这些功能被称为新I/O(NEW I/O),新添了许多用于处理输入/输出的类,这些类都被放在java.nio包及子包下,并且对原java.io包中的很多类以NIO为基础进行了改写,新添了满足新I/O的功能. Java NIO和IO的主要区别 IO NIO 面向流 面向缓冲 阻塞IO 非阻塞IO 无 选择器 面向缓冲(Buffer) 在整个Java的心I/O中,所以操作都…