Resulte's Blog

Thinking will not overcome fear but action will.

古典密码加解密

Hello World, Hello crypto

Classic-crypto-system 古典密码加解密系统,置换密码+栅栏密码,python实现 置换密码 流程介绍 加密: 建立随机化的密文字符表(随机置换表) 逐个字符进行查表替代 输出明文、密文 解密: 输入密文字符表 逐个字符进行查表替代 输出密文...

区块链

Hello World, Hello BlockChain

区块链 区块链概述 区块链是什么?一句话,它是一种特殊的分布式数据库。 首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链...

数据库索引

Hello World, Hello DataBase

数据库索引 (1)索引是什么?意义? 索引是在表的列上创建。所以,要记住的关键点是索引包含一个表中列的值,并且这些值存储在一个数据结构中。 使用索引的全部意义就是通过缩小一张表中需要查询的记录/行的数目来加快搜索的速度。 (2)索引与主键 如果给表上了主键,那么表在磁盘上的存储结构就由整齐排列的结构转变成了树状结构,也就是上面说的「平衡树」结构,换句话说,就是整个表就变成了一个索引...

数据库引擎

Hello World, Hello DataBase

数据库引擎 (1)InnoDB引擎 InnoDB使用B+树完成数据库索引的实现,但是在数据存储时数据结构中存储的是实际数据,被称为聚集索引的东东,不支持全文检索,启动也是比较慢的。 InnoDB引擎支持ACID事务的支持,提供了行级锁和外键约束,设计目标是处理大容量数据库系统,处理过程中会在内存中建立数据库缓冲区用于缓存数据和索引数据。但是如果进行select count(*) from...

数据库事务

Hello World, Hello DataBase

1.什么是事务?事务的特性? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典也经常被拿出来说例子就是转账了。事务就是保证这两个关键操作要么都成功,要么都要失败。 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性: 执行事务前后,数据保持一致; 隔离性: 并发访问数据库时,一...

Java实现文件上传功能

Hello World, Hello NetWorks

Java实现文件上传功能 文件上传功能是互联网中非常常见的应用,例如修改用户头像时需要上传照片,把文件上传到云端网盘等等。 其网络传输协议可以使用TCP协议,在Java中可以通过Socket和ServerSocket实现。其本质就是把本地客户端的文件复制到服务器端,对文件复制还不熟悉的小伙伴可以再回顾一下我的这篇博客:用Java实现文件复制 下面我将以上传图片文件photo.jpg为例,...

用Java转换文件编码

Hello World, Hello Files

用Java转换文件编码 常见的文件编码格式有许多种,例如ASCII编码主要包括控制字符(回车键、退格、换行键等)和可显示字符(英文大小写字符、阿拉伯数字和西文符号),GBK是最常用的中文码表,以及最为常用的UTF-8编码。 但是,在含有中文字符的文件中,常常会因为文件编码格式的不同产生乱码。因为在GBK中一个中文字符是两个字节编码的,而UTF-8中一个中文字符是三个字节编码的。 所以,文...

用Java实现文件复制

Hello World, Hello Java IO

文件复制 文件复制,就是将某个文件复制一份到指定路径下。 在Java中,我们可以通过文件输入输出流实现该操作。 原理:从已有文件中读取字节,将该字节写出到另一个文件中。 下面,我以需要将C:\下的sourceFile.txt文件复制到D:\下为例,总结文件复制操作的几个步骤和实现。 文件复制的步骤: 创建一个字节输入流对象,构造方法中绑定要读取的数据源(被复制文件)。 ...

用Java实现文件搜索

Hello World, Hello Java Files

文件搜索 文件搜索是操作系统中非常常见的应用,需要从指定目录下寻找到目标文件。 下面我以在C:\target目录下,寻找所有Java文件为例,简单总结了几个实现方法。 注:寻找所有Java文件,也就是寻找所有文件名以.java结尾的文件 1. 递归遍历搜索 分析: 目录搜索,无法判断多少级目录,所以使用递归,遍历所有目录。 遍历目录时,获取的子文件,通过文件名称...

Java线程安全与线程同步

Hello World, Hello Java Threads

线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 线程安全问题都是由全局变量及静态变量引起的。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步, 否则的话就可能影响线程安...