- 博客(17)
- 收藏
- 关注
原创 Netty核心原理(一)
1.Netty是由JBOSS提供的一个Java开源框架。Netty提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络IO程序。2.Netty是一个基于NIO的网络编程框架,使用Netty可以帮助你快速、简单的开发出一个网络应用,相当于简化和流程化了NIO的开发过程。不同的线程模式,对程序的性能有很大影响,在学习Netty线程模式之前,我们首先来了解一夏各个线程模式,最后看看Netty线程模型有什么优越性.目前存在的线程模型有。......
2022-07-19 10:45:51
1282
原创 Java网络编程——NIO编程
JavaNIO全称javanon-blockingIO,是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即NewIO),是同步非阻塞的.缓冲区(Buffer)缓冲区本质上是一个可以读写数据的内存块,可以理解成是一个数组,该对象提供了一组方法,可以更轻松地使用内存块,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况。Channel提供从网络读取数据的渠道,但是读取或写入的数据都必须经由Buffer.......
2022-07-16 11:47:31
2053
原创 Java网络编程——I/O模型
目录第一部分:I/O模型简介1. I/O 模型简单的理解2. Java 共支持 3 种网络编程模型/IO 模式3.阻塞与非阻塞4.同步和异步第二部分:BIO(同步并阻塞)1.BIO的理解2.BIO工作机制3.举个小例子4.BIO问题分析 5.DEMO 1.BIO执行流程:2.客户端(Client)3.服务端(Server)第三部分:NIO(同步非阻塞)1.NIO的理解小插曲:多路复用器1.了解Selector2.使用Selector的好处 2.工作机制3.举个小例子 4.DEMO1. NIO执行流程2.客户
2022-07-14 17:29:25
1406
原创 Java网络编程——客户端Socket
目录第一部分:使用Socket一.数据报二.socket的功能第二部分:了解SOCKET类1.socket类2.构造方法3.常用方法介绍4.DEMO:客户端和服务端通信第三部分:用Telnet研究协议一、了解Telnet二、用Socket从服务器读取1.在终端上用Telnet测试daytime服务器 2.小DEMO:Daytime协议客户端3.小DEMO:通过与time.nist.gov对话构造一个Date 4.小DEMO:时间协议客户端三、用Socket写入服务器1.了解用socket如何写入服务器2.用
2022-07-13 20:11:16
8743
原创 Java网络编程——InetAddress类
目录1.节点(NODE)2.Internet地址或IP地址3.域名系统2>详细了解InetAddress类1.创建新的InetAddress对象程序一: 显示某地址的程序 程序二:查找本地机器的地址2.InetAddress的常用方法1.小DEMO2.给定地址,找到主机名称3.找到本地机器的IP地址3>.InetAddress缓存4>.地址类型5>.测试可达性 6>.Object方法7>. Inet4Address和Inet6Address连接到Internet的设备称为节点。计算机节点称为主机每个节点或者
2022-07-13 08:55:19
4084
原创 (二)使用MySQL
目录一、连接和断开服务器1.连接2.断开连接 二、简单的查询1.查询服务器的版本号和当前日期2.取消命令三、创建和使用数据库1.使用使用该SHOW语句找出服务器上当前存在哪些数据库2.访问已有的数据库 3.创建一个数据库4.使用数据库 四、创建表1.查看数据库 2. CREATE TABLE语句来指定表格的布局3.SHOW TABLES显示创建的表4.DESCRIBE查看表中的内容 五、将数据加载到表中方法一:文本文件加载pet.txt到 pet表中方法二:使用INSERT语句每次添加一条信息 六、从表中检
2022-07-12 09:03:47
948
原创 (一)了解MySQL
目录*1 数据库基础一、什么是数据库二、表三、列和数据类型四、行五、主键*2 浅浅了解SQL*3 MySQL简介一、MySQL二、客户机——服务器软件三、MySQL工具四、mysql 命令行实用程序五、 MySQL Administrator六、 MySQL Query Browser数据库是一个以某种有组织的方式存储的数据集合。数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)。表(table) 某种特定类型数据的结构化清单。表是一种结构化的文件,可用来存储某种特定类型的
2022-07-11 11:38:44
512
原创 抽象类和接口
一.抽象类1>.了解抽象类1.抽象类不能创建对象。抽象类可以包含抽象方法,这些方法将在具体的子类中实现。2.在继承的层次结构中,每个新的子类都使类更加明确和具体。如果从一个子类向父类追溯,类就会变得更不通用并且不明确。类的设计应该确保父类包含其子类的共同特征。有的时候呢,父类会设计的十分抽象,以至于不能用于创建任何具体的实例;这样的类就称为抽象类。2>. abstract(在类的头部使用abstract修饰符表示该类是抽象类public abstract class .
2022-05-15 07:30:00
536
原创 文本I/O
目录一、File类二、文件的输入输出1.使用PrintWrite写数据1.创建一个PrintWrite对象2.了解PrintWrite中的常用方法3.为什么要关闭文件4.使用try-with-resources自动关闭资源2.使用Scanner读取数据3.学以致用:设计一个替换文本的小程序三、小小总结1.为什么要异常处理一、File类1、File类包含了获得文件/目录的属性,以及对文件/目录进行改名和删除的方法。2、在文件系统中,每一个文件..
2022-05-12 21:29:13
429
原创 继承和多态
第一部分:父类和子类1.继承:面向对象编程支持从已经存在的类中定义一个新的类,称为继承。2.父类和子类:继承使得你可以定义一个通用的类(也就是父类),之后继承该类为一个更特殊的类(也就是子类)。3.设计一个小程序(GeometricObject、Circle、Rectangle)public class TestCircleRectangle { public static void main(String[] args){ Circle circle =
2022-04-28 19:54:53
2532
原创 Java面向对象*~*
第一部分:类的抽象和封装先来了解一些小概念类的抽象:是指将类的实现和使用分离;实现的细节被封装并且对用户隐藏,这就被称为类的封装。类的合约:从类外可以访问的公共构造方法、普通方法和数据域的集合以及对这些成员预期行为的描述,构成了类的合约。...
2022-04-21 22:50:01
1384
原创 java基础知识
首先呢,我们先来看一个简单的java程序public class Welcome{ public static void main(String[] args){ System.out.println("Welcome to java!"); }}输出:Welcome to java
2022-04-17 19:42:58
262
原创 Linux下gdb调试用法
稍微小小介绍一下gdb是GUN组织开发的Linux下的调试利器。一般用于调试C/C++程序。GDB主要有以下4个功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所指定的调置的断点处停住。3、当程序被停住时,可以检查此时你的程序中所发生的事。4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。下直接进入主题这是本次用来测试的代码#includ...
2022-02-09 17:41:09
9363
3
原创 关于设计一个 C 语言的动态扩容缓冲区
日月不肯迟,四时相催迫。这个项目的条条例例都是小组的学姐学长的写出来的呐(不得不感叹小组学长的智慧吖),我也只是按照要求写了每个API,写的磕磕盼盼,但是呢,学到了不少知识,现在分享个大家。先来了解了解做这个项目需要掌握什么知识叭知识点字符串。 面向对象的 C 语言设计。 动态内存分配。 Linux File API。 getline。一.首先看缓冲区类的定义struct strbuf { int len; //当前缓冲区(字符串)长度 int all..
2022-01-21 14:53:27
865
原创 西邮linux小组2019-2021面试题总结
知识点一:sizeof()和strlen()的异同先看道题我们再来总结知识点输出:16 12解析:I love Linux \0\0\0一共是15个内存,生成字符类型的时候会在后面自动补充一个'\0',所以是16strlen是以遇到的第一个'\0'为结束符,I love Linux为12个字符长度显而易见,这道题考查的是与sizeof()和strlen()相关的知识点,我们来总结一下学以致用,我们来练习一道题输出结果:26 27!!你对了吗,没有对的话...
2021-12-07 21:44:27
714
1
原创 西邮Linux兴趣小组2019纳新试题
解析:unsigned int 的取值范围是0~4294967295(2^32-1)当i减到0的时候,再一次减1就会变成4294967295,这样的话就一直满足i>=0的条件, 所以会输出无数个‘=’知识点:unsigned int:无符号整型,表示从0开始到2^32-1的所有整数,unsigned后面的int可以省略递减运算符–(顺便也把递增运算符++了解一下叭)递增递减运算符“++”和“–”是两个很特殊的运算符,它们是单目运算符,这个算子还必须是变量。这两个运算符分别.
2021-12-04 13:52:08
598
1
原创 宏定义#define
❀不带参数的宏定义1.宏定义指令#define:用来定义一个标识符和一个字符串,以这 个标识符来代表这个字符串,在程序中每次遇到该标识符时就用所定义的字符串替换它。2.宏定义的作用:相当于给指定的字符串起一个别名。不带参数的宏定义一般形式如下:#define 宏名 字符串#表示这是一条预处理命令。宏名是一个标识符,必须符合C语言标识符的规定。字符串可以是常数、表达式、格式字符串等。下面我们举一个例子来看看叭????例如:#define PI3.14159首先呐,该语句的作用是在
2021-11-30 13:11:54
3621
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人