自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

水木子的博客

记录学习工作中的技术知识。

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言— —流程控制

本文主要介绍程序的执行顺序。文章目录1. 顺序结构2. 选择结构2.1 if选择结构2.2 switch选择结构3. 循环结构3.1 while循环3.2 do...while循环3.3 for循环4. break和continue语句4.1 break语句4.2 continue语句5. 嵌套1. 顺序结构所谓顺序结构,就是程序从上到下一句一句地执行。之前我们所写的程序都是顺序结构的,不再多说。2. 选择结构所谓选择结构,就是当程序执行到某一行程序时,有多种路径可以选择,不管选择哪种路径,程序最

2021-11-24 10:23:26 892 1

原创 C语言— —运算符与表达式

本文讲解C语言中的运算符、表达式、语句及其相关的知识。文章目录1. 概述2. 运算符2.1 赋值运算符2.2 算术运算符2.3 比较运算符2.4 逻辑运算符2.5 位运算符2.6 移位运算符3. 表达式与语句4. 运算符的优先级5. 类型转换参考资料1. 概述什么是运算符?其实我们并不陌生,从小到大已经接触得非常多了,对其已经非常熟悉了,所以不要害怕。就举一个最简单的例子,加法就是一个数学运算符,当然,在C语言中加法也是一种运算符,除此之外,还存在许多其他的运算符,接下来我们都要一 一学习。什么是表

2021-10-22 12:18:28 4813

原创 C语言— —基本数据类型

本文主要介绍C语言中的基本数据类型(带*的章节内容为进阶知识,对于初学者可以暂时跳过)。文章目录1. 什么是数据类型2. 基本数据类型3. 有符号与无符号的区别和最值4. 浮点数的存储方式*4.1 二进制小数4.2 科学计数法4.3 浮点数的存储5. 变量与标识符6. 字符型与ASCII表参考资料1. 什么是数据类型数据类型,重点是类型。何谓类型,就是一组元素,具有某些相同的性质,我们可以把这些性质高度归纳概括为一个词语,那么这个词语就代表了一个类型。例如,狗就是一种动物类型。在数学中,数的分类如下

2021-10-17 19:16:23 11112 3

原创 C语言— —进制

本文主要介绍进制、进制转换、原码反码补码的知识。文章目录1. 进制2. 进制转换2.1 十进制转换为其它进制2.2 其它进制转换为十进制2.3 二进制、八进制、十六进制之间的转换3. 二进制中的存储单位4. 原码、反码、补码4.1 原码、反码和补码4.2 为什么用补码存储整数?参考资料1. 进制本章主要介绍什么是进制。现有数字 6179,从右到左分别为个位、十位、百位、千位,这是我们小学的知识了(所以不用害怕知识有多难,我们小学就接触了)。6179 就是一个十进制数,而我们在平时的生活中接触到的也

2021-10-05 13:25:26 1895

原创 C语言— —编程语言与Hello World!

本文主要介绍编程语言的基本知识以及带大家编写C语言版的Hello World!入门程序。文章目录1. 编程语言2. C语言历史3. Hello World!3.1 下载dev-cpp3.2 编写源程序3.3 编译3.4 执行参考资料1. 编程语言当我们开始学习编程时,首先学习的就是编程语言,那么自然而然,什么是编程语言?简单理解,编程语言就是我们和计算机交流的工具,就像英语、法语其它语言一样。编程语言按照阶段可以分为以下几类:机器语言:只有用机器语言编写的程序才能被计算机直接理解和执行(举个

2021-10-05 13:20:01 668 1

原创 C#— —[Winforms]自定义DataGridView和ComboBox

文章目录1. CLCDataGridView 介绍1.1 自动生成列样式规则介绍1.2 列顺序的自动保存与加载1.3 关于数据源2. CLCComboBox 介绍2.1 CLCComboBox的基础使用2.2 数据源、显示成员、值成员2.3 不同下拉面板的数据源要求2.3.1 ListDropDownItem2.3.2 CategoryDropDownItem2.4 关于自定义属性2.5 关于搜索、选择、获取选择项3. 项目地址本解决方案包括三个项目:CLCDataGridView:自定义的DataG

2021-08-22 21:33:46 2003

原创 C#— —[winforms]自定义DataGridView,实现列样式自适应呈现

本文主要介绍如何改造DataGridView,实现列样式的自动加载。文章目录1. 环境搭建+效果演示1.1 环境搭建之界面设计1.2 环境搭建之数据准备1.3 运行项目1.4 保存列样式演示2. 使用介绍3. 实现说明3.1 反射解析实体特性实现说明3.2 列样式的自动保存与加载3.3 CLCDataGridView中的最主要方法4. 下载地址参考资料1. 环境搭建+效果演示1.1 环境搭建之界面设计环境:Visual Studio 2019 + ,NET Framework 4.8首先在VS中创

2021-08-12 20:50:59 4173 3

原创 以无符号八进制形式输出负数的问题说明

文章目录1. 问题描述2. 解释-从结果出发3. 解释-从原因出发1. 问题描述问题:以无符号八进制形式输出负数-128:2. 解释-从结果出发得到八进制的结果:37777777600八进制转换为二进制:011 111 111 111 111 111 111 111 110 000 000二进制以8位为一组:11111111 11111111 11111111 10000000这是补码形式,减1转换为反码:11111111 11111111 11111111 01111111

2021-08-08 21:20:37 2317

原创 C#— —[winforms]自定义DataGridView,实现列顺序、宽度保存

本文主要介绍如何在DataGridView的基础上,自定义DataGridView,实现列的顺序、宽度、显示名等信息的保存与读取,实现用户的个性化需求。文章目录1. 需求说明2. 实现3. 使用方式参考资料1. 需求说明虽说在文章简介中大致说明了要实现的功能是什么,但是这里还是举个例子说明一下:假设现有一张学生表,表头如下:每个用户对于每张表的关注点不同,假设我比较关注学校和年级这些信息,那么我想要把学校和年级放在姓名的前面(如果一些表很复杂,列很多,学校和年级导致在后面,需要拉动滑动条才能看见

2021-08-03 21:23:58 1657

原创 C#— —数据库访问技术

本文主要介绍在C#中如何访问和操作数据库。文章目录1. ADO .NET介绍1.1 Data Provider1.2 DataSet1.3 ADO .NET 访问数据库的流程2. 操作MySQL数据库2.1 MySQL下载安装2.2 C#操作MySQL数据库2.2.1 添加MySQL.Data.dll2.2.2 连接数据库2.2.3 操作数据库查询插入、删除、修改3. DataAdapter和DataSet3.1 DataAdapter3.2 DataSet参考资料1. ADO .NET介绍ADO .

2021-07-23 16:55:24 3213 1

转载 C#— —泛型

本文主要介绍C#中的泛型。文章目录1. 泛型介绍1.1 泛型示例-集合1.2 泛型示例-可空类型2. 自定义泛型2.1 泛型类2.2 泛型方法2.3 泛型接口2.4 泛型委托3. 类型参数约束4. 参考资料1. 泛型介绍我们可以用int a变量来代表-2147483648—2147483647之间的任意一个整数,那么我们也可以用T来代表String、int、Object、自定义类等数据类型,这就是泛型。对于一些操作,如果需要处理多种数据类型,但处理逻辑是一样的,那么通过使用泛型,可以大大减少代码量。

2021-07-21 16:41:40 713

原创 C#— —文件操作

本文主要介绍C#中的一些文件操作,并介绍如何进行文件读写。文章目录1. 文件信息类1.1 File和FileInfo类1.2 Directory和DirectoryInfo类1.3 DriveInfo类2. 流3. 读写器参考资料1. 文件信息类1.1 File和FileInfo类File:提供关于文件创建、复制、删除、移动以及打开操作的静态方法,并且帮助创建FileStream对象;FileInfo:提供文件属性,以及关于文件创建、复制、删除、移动以及打开操作的实例方法,并且帮助创建FileS

2021-07-21 16:38:22 583

原创 C#— —委托、事件和Lambda表达式

本文主要介绍委托、事件和Lambda表达式。文章目录1. 委托1.1 委托使用1.2 委托链2. 事件3. Lambda表达式3.1 委托进化史3.2 Lambda方法体4. 参考资料1. 委托1.1 委托使用委托是一种类型,表示对具有特定参数列表和返回类型的方法的引用,可以理解为方法指针。 当实例化委托时,我们可以将委托实例与具有相同参数列表和返回类型的任何方法相关联。 我们可以通过委托实例调用方法。委托的声明如下:public delegate 方法返回值 delegateName([参数列

2021-07-21 16:32:01 693 1

原创 Typora图床搭建教程

究其根本,Typora只是一个Markdown文件编辑工具,Markdown只是一个文本格式文件。换句话说,Markdown就像一个txt文档,只能包含字符。这不对呀!Markdown文档里不是还有图片吗?这是因为Markdown包含有指向这些图片的链接,Markdown文件并不拥有这些图片。如果我们在Markdown中以相对路径引用图片,这就会造成移动Markdown文件时,因为引用不到图片,而造成图片丢失的情况。所以,最好的解决方法是将图片保存在图床中,然后在Markdown中引用图床中的图片。在本教

2021-04-23 20:45:46 3771 2

原创 so easy!从头教你用mkdocs构建个人博客系统~

本文主要介绍如何使用mkdocs构建个人网站。文章目录1. mkdocs介绍2. mkdocs安装3. mkdocs简单使用3.1 入门使用3.2 Markdown语法3.3 YAML语法3.4 添加页面3.5 更改外观更改图标更改主题4. 部署站点4.1 GitHub项目页面个人页面4.2 云服务器5. 高级知识5.1 mkdocs主题目录与site目录5.2 修改默认样式5.3 自定义主题参考资料1. mkdocs介绍MkDocs is a fast, simple and downright

2021-04-22 17:11:40 10836 5

原创 07. Redis— —Java连接Redis

本文介绍如何在Java中使用Redis。文章目录一、导入依赖二、连接Redis三、JedisPool一、导入依赖在Java程序中使用Redis,需要导入依赖Jedis:<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis&lt

2021-03-12 20:57:59 246

原创 06. Redis— —复制

本文介绍主从复制以及哨兵模式相关知识。文章目录一、什么是主从复制二、如何开启主从复制三、案例演示四、宕机处理五、哨兵模式一、什么是主从复制主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用:数据冗余:主从复制实现了数据的热备份,是持久化

2021-03-12 20:57:06 140

原创 05.Redis— —发布订阅

本文介绍Redis发布订阅相关知识。文章目录一、基本概念二、命令三、演示一、基本概念Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户

2021-03-12 20:51:59 176

原创 04.Redis— —事务

本文介绍Redis有关事务的知识。文章目录一、概述二、事务中的错误三、监测键一、概述Redis事务可以一次执行多个操作,其步骤如下:开启事务命令入队执行事务/放弃事务涉及到的命令如下:multi:开启事务,总返回OKexec:执行事务discard:清空事务队列, 并放弃执行事务演示如下:二、事务中的错误如果命令在入队时报错,则事务中的命令不会执行:如果事务中有命令执行出错,并不会回滚,其他的命令依旧会成功执行:三、监测键WATCH 命令可以为 Redis 事务

2021-03-12 20:50:13 183

原创 03.Redis— —持久化

本文介绍Redis持久化的两个技术:RDB和AOF。文章目录一、RDB二、AOF三、参考资料一、RDBRDB(Redis Database),是在一个特定的时间间隔保存一个数据快照(Snapshot),存储为dump.rdb文件。工作原理:Redis主进程调用fork(),复制一个与主进程相同的子进程,用于持久化工作;子进程把数据写到一个文件dump.rdb中;新的文件替换掉旧的文件;当Redis启动时,会加载文件dump.rdb中的数据到内存中;优点:性能好,当进行持久化操作时,

2021-03-12 20:47:56 181

原创 02.Redis— —数据类型

本文主要介绍Redis中键的操作、物种数据类型的操作。文章目录一、键-key二、字符串-string三、列表-list四、集合-set五、有序集合-zset六、哈希-hash一、键-key常用命令如下:序号命令及描述1DEL key 该命令用于在 key 存在时删除 key。2DUMP key 序列化给定 key ,并返回被序列化的值。3EXISTS key 检查给定 key 是否存在。4EXPIRE key seconds 为给定 key 设置过期时间

2021-03-12 20:46:30 222

原创 01.Redis— —Redis概述

本文主要介绍什么是Redis、Redis的特点、安装Redis、Redis的启动及其相关问题。文章目录一、什么是Redis二、Redis的特点三、Redis的安装3.1 Windows安装Redis3.2 Linux安装Redis四、Redis的启动4.1 Windows下启动Redis4.2 Linux下启动Redis五、Redis基础知识5.1 Redis的默认端口5.2 Redis默认数据库5.3 清空数据库5.4 键相关一、什么是RedisRedis官网:https://redis.io/R

2021-03-12 20:45:21 331

原创 设计模式— —单例模式

本文主要介绍单例模式。文章目录一、介绍二、单例模式的实现2.1 饿汉式2.1.1 静态变量2.1.2 静态代码块2.1.3 枚举方式2.1.4 饿汉式的说明2.2 懒汉式2.2.1 线程不安全到线程安全2.2.2 双重检查锁方式(DCL)2.2.3 静态内部类三、存在的问题3.1 序列化反序列破坏单例模式3.2 反射破坏单例模式四、通过反射破坏枚举单例模式五、源码分析六、参考资料一、介绍单例模式(Singleton Pattern)是属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个

2021-03-11 13:43:36 112

原创 非自交多边形的轮廓内缩外扩算法

文章目录1. 项目介绍2. 算法步骤2.1 内缩点的生成2.2 无效内缩线段的处理2.3 全局无效环的处理3. 使用方法及结果演示3.1 使用方法3.2 结果演示4. 不足之处5. 参考资料1. 项目介绍本项目是论文A new offset algorithm for closed 2D lines with Islands的JAVA实现。本项目的GitHub地址:https://github.com/Lee-0o0/polygon-offset-algorithm。欢迎大家star!该论文主要描述

2021-03-06 23:29:45 8991 37

原创 Java进阶— —日志技术

Java进阶— —日志技术本文主要介绍日志技术。本文主要由黑马教程的课堂笔记整理而成。视频地址:https://www.bilibili.com/video/BV1iJ411H74S文章目录Java进阶— —日志技术一、什么是日志?二、日志框架三、日志框架的使用3.1 JUL的使用3.1.1 JUL架构3.1.2 JUL入门程序3.1.3 日志的级别3.1.4 自定义Handler和Formatter3.1.5 Logger父子关系3.1.6 日志配置文件3.1.7 JUL日志原理解析3.2 LOG4

2021-01-29 20:47:33 750

原创 Java基础— —反射

Java基础— —反射本文主要介绍Java反射相关知识。文章目录Java基础— —反射一、什么是反射二、获取Class对象三、使用Class对象3.1 获取类名3.2 获取成员变量3.3 获取构造方法3.4 获取成员方法一、什么是反射Java 反射机制在程序运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种 动态的获取信息 以及 动态调用对象的方法 的功能称为 java 的反射机制。二、获取Class对象一般通过下述三种方法获取

2021-01-29 20:31:20 254

原创 Lombok使用教程

Lombok的使用本篇文章主要介绍Lombok。文章目录Lombok的使用一、什么是Lombok?二、Lombok的使用2.1 安装Lombok插件2.2 新建项目2.3 引入依赖2.3 使用Lombok三、Lombok特性介绍3.1 val3.2 var3.3 @NonNull3.4 @Cleanup3.5 @Getter/@Setter3.6 @ToString3.7 @EqualsAndHashCode3.8 Constructor注解3.9 @Data3.10 @Value四、关于Lombok的

2021-01-29 20:26:09 356

翻译 Typora画图教程

本文主要介绍如何在Typora中画图,翻译自Typora官网中关于画图的文章介绍。之前已经介绍过如何使用Typora,请参看如下教程入门使用:https://blog.csdn.net/qq_41261251/article/details/102817673文章目录一、概述二、开始画图2.1 序列图2.2 流程图2.3 Mermaid2.3.1 序列图2.3.2 流程图2.3.3 甘特图2.3.4 类图2.3.5 状态图2.3.6 饼图三、参考资料一、概述Typora supports some

2020-12-04 17:55:17 12505

原创 Java读取MAT文件中的三维矩阵

本文主要介绍如何在Java中读取MAT文件数据。文章目录一、matlab保存数据二、三维矩阵在mat文件中的存储格式三、Java读取mat文件四、参考资料一、matlab保存数据在matlab中将三维矩阵b保存到文件b.mat中,b三维矩阵如下:二、三维矩阵在mat文件中的存储格式此处不详细讲解mat文件格式,有兴趣可以自行了解:https://www.cnblogs.com/jackcin/p/3416099.html此处说明三维矩阵是如何在mat文件中存储的。在文件或内存中,我们很容易地根

2020-11-28 21:58:15 2424

原创 java时区ZoneId集

所有的ZoneId:Set<String> zoneIds = ZoneId.getAvailableZoneIds();for (String zoneIdString:zoneIds){ System.out.println(zoneIdString);}Asia/AdenAmerica/CuiabaEtc/GMT+9Etc/GMT+8Africa/NairobiAmerica/MarigotAsia/AqtauPacific/KwajaleinAmeric

2020-09-01 19:05:44 1611

原创 Git使用教程

Git使用教程本篇文章主要介绍如何使用Git进行版本控制。文章目录Git使用教程一、什么是Git二、简单使用Git2.1 创建版本库2.2 把文件添加到版本库中2.3 查看工作区状态三、版本控制3.1 查看提交日志3.2 版本回退3.3 历史命令记录3.4 撤销工作区修改3.5 撤销缓存区修改3.6 删除文件四、远程仓库4.1 添加远程仓库4.2 推送4.3 拉取五、分支管理5.1 分支管理基本语句5.2 冲突管理六、标签管理6.1 创建与删除标签6.2 推送标签七、参考资料一、什么是GitGit是

2020-07-19 11:32:10 167

原创 Mybatis-generator插件的使用[IDEA]

mybatis-generator插件的使用[IDEA]本文主要介绍在Maven项目中,如何利用mybatis-generator插件,用于自动生成MyBatis的Mapper和POJO。文章目录mybatis-generator插件的使用[IDEA]一、新建项目二、添加插件三、创建mybatis generator配置文件四、创建数据库配置文件五、引入数据库驱动文件六、运行插件七、创建mybatis配置文件八、总结一、新建项目打开IDEA,新建Maven项目,不使用模板,然后项目命名为mybati

2020-07-03 17:27:56 4488

原创 [吐血总结]如何在Windows Anaconda上安装Tensorflow-gpu

之前就尝试了一次如何在Windows Anaconda上安装Tensorflow-gpu,可是没能成功。这次经历千辛万苦终于成功安装上了,本篇文章就记录一下安装过程。(说明:很多操作、很多软件都需要翻墙进行下载,我尽可能帮你们下载好了)文章目录一、环境说明二、查看显卡信息三、查询显卡是否支持CUDA四、查询显卡驱动程序版本与CUDA的对应关系五、下载相应的CUDA六、下载cuDNN七、安装CUDA八、安装cuDNN九、创建虚拟环境十、查看CUDA与Tensorflow对应版本十一、在虚拟环境中安装tens

2020-05-22 00:29:29 1006 1

原创 Centos 7 安装python 3.8

Centos 7 编译安装python 3.8文章目录Centos 7 编译安装python 3.8一、下载前准备工作二、下载python 3.8压缩包三、解压缩安装包四、安装前准备工作五、安装python 3.8六、修改 python 2 链接七、修改yum配置文件八、配置python 3软链接九、结果十、后记十一、参考资料一、下载前准备工作Centos 7操作系统上默认安装了python...

2020-04-09 12:12:17 29251 28

原创 最齐的Typora使用教程

最齐全的Typora使用教程作者:水木子目录## 一、Markdown与Typora介绍1.1 Markdown介绍Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式...

2019-11-08 17:37:15 295775 62

原创 BMP文件格式解析

BMP文件格式解析作者:水木子一、图像概述1.1 位图位图(Bitmap),又称栅格图(英语:Raster graphics)或点阵图,是使用像素阵列来表示的图像。 ----维...

2019-11-08 17:23:50 7442 3

转载 八皇后问题

用C#解决八皇后问题一.引言首先,我们先了解一下什么是八皇后问题:八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。我们可以思考一下n皇后问题,当然,这里的n需要满足条件n=1或n≥4。二.工具已配置...

2018-09-28 17:29:20 274

CLCDataGridView.rar

c#桌面应用程序开发(winforms),自定义DataGridView,实现了如下功能: 1. 自动根据实体属性特性生成列样式,不再需要手动添加列样式了; 2. 自动保存列样式到用户本地,自动读取用户本地的列样式,实现用户个性化显示;

2021-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除