摘要:
[toc] 一、准备环境 准备如下 tar 包: | | fastdfs 6.06.tar.gz| libfastcommon 1.0.43.tar.gz| fastdfs nginx module 1.22.tar.gz| nginx 1.17.7.tar.gz| 下载地址: "fastdfs n 阅读全文
摘要:
[toc] 一、树 为什么要使用树,因为数组删除、插入的效率太低。而链表查找数据的速度太慢,在树中能快速的查找数据项、插入数据项和删除数据项。 从上图中我们可以发现“树”这种结构和现实中的树一样的,节点之间用线相连,形成父子关系。 知道了树,我们还需要知道以下概念 路径 :顺着连接节点的边从一个节点 阅读全文
摘要:
上、简单的单端链表 完整代码向下拉 链表是一种常用的数据结构,在插入和移除操作中有着优秀的表现,同为数据结构的数组哭晕,其实数组的访问效率比链表高多了有木有。 我们先看一下链表的样子 有同学可能要说了,这不就是我们生活中的交通工具——火车,没错链表的结构和下图简直就是一个模子刻出来的。(咳咳,忽略这 阅读全文
摘要:
完整代码拉到最底下 一、介绍 队列顾名思义就像我们生活中排队一样,先进先出。 如上图所示,25、16、5、9依次在队列中,按照顺序拿出的数据也分别是25、26、5、9。 二、实现过程及思路 底层使用数组来实现,实现的功能有插入数据到队尾、移除队首数据、查看队首数据、判断队列是否为空、判断队列是否存满 阅读全文
摘要:
一、介绍 栈是一种数据先入后出,后入先出的数据结构。 如果图所示,将数字 10、15、6、9 存入栈后,从栈中取到的数据按顺序将会是 9、6、15、10。栈的结构像我们生活中的箱子,最先放入的物品将会在箱子的最底部,最后放入的数据在最上面,拿物品时也需要从最上面拿起。 二、代码实现 1、创建 MyS 阅读全文
摘要:
数组是一种常用的数据结构,数组具有不可变性,创建后的数组的长度固定,通过索引访问数组中的元素,访问速度快,删除添加效率低。 通过面向对象模拟数组,模拟的数组具有以下功能: 1. 添加新元素 2. 展示 3. 查找元素所在位置 4. 根据索引获取元素 5. 根据索引删除元素 6. 修改指定位置的元素 阅读全文
摘要:
[toc] 在开发过程中,java后端需要与客户端进行交互,需要将后端的接口及参数写成文档给调用者查阅。一个问题也有此而生,需求改动频繁,接口设计也会随之改动,文档修改的不及时会带来很大的问题。 Swagger是一个自动生成文档的工具,可以在线查阅文档,减少了开发人员的负担,下面我们就来看看如何在S 阅读全文
摘要:
[toc] 一、依赖及配置 使用下面的SQL创建数据库与添加数据 1、在idea中创建一个SpringBoot项目,在pom.xml中添需要的依赖 添加MyBatis Plus、mysql连接驱动、lombok的依赖 2、配置数据库连接 application.yml 3、在启动类中添加注解 @Ma 阅读全文
摘要:
前言 验证码是我们做人机验证最常用的方式,常用于敏感操作的验证,比如:登录、注册、修改等。 验证码的原理:不同的客户端拥有不同的 session 对象,在看到验证码图片的时刻,服务器后端代码生成图片并将随机字符存储到 session 中。这样客户端看到的只能是图片,人工识别图片后将字符发送到服务器与 阅读全文
摘要:
一、数据类型 常量 1、通过预处理声明常量 2、通过 const 关键字声明常量 区别: define 在运行时会替换为指定的值,const可以看到数据类型,更推荐使用 const 整型 在C语言中分为有符号和无符号整型,无符号是整数,有符号包含负数 类型|说明 | short|2字节 int|4字 阅读全文
摘要:
这几天把c语言过了一遍,基本上算是入门了,常用语法、函数的使用。c语言是比较古老的语言了,很多系统的底层、工业控制软件都是使用C语言编写,过一遍之后觉得c语言屹立不倒是有原因。c程序员有一句话:使用c语言时间长了,感觉自己能控制整个世界。 01 c语言和其他语言的区别和联系 c比较古老,很多现代编程 阅读全文
摘要:
咱们可能都用过 Spring AOP ,底层的实现原理是怎样的呢? 反射常用于编写工具,企业级开发要用到的 Mybatis、Spring 等框架,底层的实现都用到了反射。能用好反射,就能提高我们编码的核心能力。 反射机制 JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性 阅读全文
摘要:
认识 JDBC JDBC (Java DataBase Connectivity) 是 Java 数据库连接技术的简称,用于连接常用数据库。 Sun 公司提供了 JDBC API ,供程序员调用接口和类,集成在 java.sql 和 javax.sql 包中。 Sun 公司还提供了 DriverMa 阅读全文
摘要:
还记得之前介绍NIO时对比传统IO的一大特点吗?就是NIO是非阻塞式的,这篇文章带大家来看一下非阻塞的网络操作。 补充:以数组的形式使用缓冲区 使用NIO实现阻塞式网络通信 TCP协议的网络通信传统实现方式是通过套接字编程(Socket和ServerSocket),NIO实现TCP网络通信需要用到 阅读全文
摘要:
互联网上那么多设备,java 是如何与其他设备通信的呢?这次的内容是网络通信的基础,有了它咱们才能上网页、玩游戏、视频聊天。 Socket 客户端套接字 Socket 客户端套接字,用于连接互联网提供服务的设备。 Socket 构造方法 构造方法|说明 | Socket()|通过系统默认类型的 So 阅读全文
摘要:
NIO 是什么 java.nio全称java non blocking(非阻塞) IO(实际上是 new io),是指jdk1.4 及以上版本里提供的新api(New IO) ,为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。 NIO与IO的区 阅读全文
摘要:
File类的使用 Java程序如何访问文件?通过 java.io.File 类 使用File类需要先创建文件对象 ,创建时在构造函数中指定物理文件或目录,然后通过文件对象的方法操作文件或目录的属性。 \\ 是特殊字符,要使用需要转义 \\\\ File 类常用方法 方法名称|说明 | boolean 阅读全文
摘要:
什么是线程 在操作系统中,一个应用程序的执行实例就是 进程 ,进程有独立的内存空间和系统资源,在任务管理器中可以看到进程。 线程 是CPU调度和分派的基本单位,也是进程中执行运算的最小单位,可完成一个独立的顺序控制流程,当然一个进程中可以有多个线程。 多线程 :一个进程中同时运行了多个线程,每个线程 阅读全文
摘要:
为什么要进行异常处理 下面这段代码能否正常执行 结果是我们在控制台中看到一段错误提示,那是因为除数不能为0。异常就是在程序运行过程中发生的不正常事件,会 中断运行的程序 。 Java 使用了异常处理机制为程序提供了错误处理的能力,在程序中预先设置好对付异常的处理办法,待程序发生异常时对异常进行处理, 阅读全文
摘要:
集合 如何存储每天的新闻信息?每天的新闻总数是不固定的,太少浪费空间,太多空间不足。 如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象,可以使用Java集合框架。 Java 集合框架提供了一套性能优良、使用方便的接口和类,位于 java.util 包中。 接口 Collection 阅读全文