自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

彳亍

人丑更要多读书

  • 博客(441)
  • 资源 (11)
  • 收藏
  • 关注

原创 窗口函数(Window Function)

窗口函数(Window Function)指的是对于查询结果的每一行,使用与该行相关的所有行,进行函数计算,可得到新的数据列。对于大多数聚合函数(如 min, max, count, sum, avg 等),如果其后紧跟 over 语句,就会作为窗口函数执行。

2023-02-15 23:45:41 1381

原创 ArrayBlockingQueue

ArrayBlockingQueue 阻塞队列

2023-05-14 23:37:20 179 1

原创 HashSet

底层的数据结构是数组和单向链表。

2023-05-11 14:15:35 172

原创 Java 泛型

默认情况下,Collection 集合(如 ArrayList)中的元素可以是任意类型,而取出元素时默认的类型是 Object。由于多态的约束,取出的元素可能就无法使用自身独有的方法。如果非要使用,就不得不进行强制类型转换。这样,就会显得比较复杂,而且容易出问题。泛型: 对容器中的元素数据类型进行约束。

2023-05-08 12:11:23 232 1

原创 LinkedList

LinkedList

2023-05-07 17:57:43 72

原创 ArrayList

ArrayList

2023-05-06 22:47:16 52

原创 Java 集合

集合: 是一个容器,用于容纳数据。容器中可以存储任意类型的数据。

2023-05-05 21:02:55 430

原创 Java 异常

在 java 中,异常分为两大类:可以通过代码恢复正常的异常,称之为运行时异常。 最大的父类为 RuntimeException。不可以通过代码恢复正常的异常,称之为编译时异常。 最大的父类为 Exception。

2023-05-04 16:05:33 423

原创 Java 日期类

Date 日期类

2023-05-03 13:42:04 709

原创 Enum 枚举和递归

枚举是一个特殊的类,里面包含了一些特殊的对象,这些对象是枚举类的实例,不会发生改变,这些特殊对象一般采用大写标识符。枚举采用 enum 关键字。枚举对象之间用逗号分隔,如果对象后还有其他语句,就需要用分号结尾。枚举类的对象是在内部自动创建的,不能在外部创建对象。

2023-05-02 20:09:09 70

原创 包装类-自动装箱、拆箱

在 java 中,专门为这 8 种基本数据类型提供了对应的包装类,以便也可像操作对象一样,操作它们。

2023-04-30 17:01:22 74

原创 static 和构造方法

和具体对象无关,只和类相关的属性,称之为静态属性。和具体对象无关,只和类相关的方法,称之为静态方法。

2023-04-29 19:56:20 892

原创 面向对象的特性

面向对象编程的三个非常重要的特征:继承、封装和多态。

2023-04-28 16:17:26 725

原创 抽象类、接口和匿名类

抽象类:用 abstract 关键字修饰的类就是抽象类。

2023-04-27 11:41:46 441

原创 package 包

package 相当于一个容器,用于容纳类,对类进行分类管理。同一个包中的类名不能重复。一个包中可包含多个源文件(.java),每个源文件中可声明(定义)多个类,但一般是每个源文件只声明一个类。

2023-04-25 23:42:29 384

原创 Object 类型

任意一个类都会直接或间接继承 Object 类。

2023-04-23 16:39:04 48

原创 面向对象-基础

面向对象编程(Object Oriented Programming) 以具体的事或物(Object)为核心进行分析和处理问题的编程思想,称为 OOP。所谓的面向对象,是指分析问题时,以问题所涉及到的事或物为中心的分析方式。重点是对一系列的事物进行提炼。归纳和整理的结果就是类 Class,具体的事或物就是对象 Object,也称实例。

2023-04-19 16:11:24 427

原创 数组 Array

在 Java 中,数组也是一种对象。数组的索引(下标)是从 0 开始的。数组中元素的数量不能超过数组的容量。数组中元素的类型相同,这个类型可以是任意类型。

2023-04-18 12:36:26 60

原创 字符串 String

String 是一组字符组成的数据整体。用双引号括起来。字符串类的全名是 java.lang.String在 java 中,字符串也是对象。字符串是按照字节存储的。

2023-04-13 23:23:55 408

原创 流程控制语句

流程控制: 指的是对代码的执行顺序进行控制。默认是自上而下顺序自行。顺序执行分支语句 if 语句,switch 语句循环语句 while 语句,do while 语句,for 语句

2023-04-11 17:29:02 51

原创 Java 中的运算符

对于数值类型,最小使用计算的数值类型为 int

2023-04-10 12:52:20 398

原创 变量和数据类型

变量和数据类型

2023-04-09 12:58:43 349

原创 docker-compose

docker-compose 命令是基于当前目录中的 docker-compose.yml 文件来运行的。在 docker-compose.yml 文件中的配置实现了和 docker run 类似的功能,只是名称不一样。通过 docker-compose 命令可以很方便地管理一组服务容器的创建和启动、停止、重启、查看日志等。如果没有 docker-compose 命令,请到官网下载安装。推荐使用 docker-compose 来管理多个服务容器。

2023-04-05 13:33:13 524 3

原创 Docker 常用命令

镜像 image,容器 container 常用命令

2023-03-31 12:15:40 309

原创 Stream 数据类型

Redis 5.0 版本新增了 Stream 数据类型(数据结构),它给 Redis 带来了支持持久化、消费者 ack 、断点消费、多消费者组的消息队列。Stream 从概念上来说就像是一个消息链表,把所有发布的消息都一个个串起来,每个消息都有一个唯一的 ID。可以把 Stream 看作是轻量级的内存版 kafka。

2023-03-12 16:50:11 308

原创 PubSub 发布订阅

Redis 支持简易的 publish/subscribe (发布/订阅)模式,简称 PubSub。发布者一旦向某个频道发送消息,订阅了该频道的多个订阅者,都能立马收到消息。但订阅者无法获取在它订阅之前,就已经产生的消息。

2023-03-10 11:20:19 354

原创 InnoDB 死锁和问题排查

两个及以上的事务各自持有对方需要的锁,导致双方都无法继续执行,只能互相等待(循环等待)。因为双方都在等待对方释放锁,而各自又无法释放锁,从而导致了死循环。这就是死锁(dead lock)。当两个事务锁定了多张表的多条记录(如 UPDATE 或者 SELECT ... FOR UPDATE),且它们各自锁定的顺序相反时,就会出现死锁。当 sql 语句锁定了多行记录和间隙时,也容易出现死锁。

2023-03-03 19:09:10 1222

原创 InnoDB 锁

共享锁(S)与 共享锁(S)兼容;共享锁(S)与 排他锁(X)冲突;排他锁(X)与 共享锁(S)、排他锁(X)冲突;

2023-03-01 22:46:18 162

原创 Redis 存储用户信息时 string 和 hash 的对比

在 redis 中,string 类型和 hash 类型,都可以用来存储对象信息(结构体数据)。那么,string 和 hash 有什么区别?该如何抉择?既然 string 可以实现相同的功能,为何还要用 hash 呢?在 redis 官网可看到优先使用 hash 的字眼,主要是基于以下三个因素:内存占用率、时间复杂度和使用的简便性。

2023-02-28 14:39:16 1636 1

原创 Redis 数据持久化

Redis 是一种内存数据库,也就是说 Redis 服务器在运行时,系统为其分配了一部分内存来存储数据,若 Redis 服务突然宕机,内存里的数据将会丢失。为了应对这种情况,必须通过持久化的方式将数据从内存保存到磁盘。Redis 数据持久化有两种方案:RDB 持久化(Redis DataBase)AOF 持久化(Append-Only File)RDB 是指将内存中某个时间点的全量数据备份,存储到磁盘文件(dump.rdb),这个文件是一个二进制压缩的紧凑文件。

2023-02-26 15:31:03 392

原创 Windows 安装 Redis 5.0

Windows 安装 Redis 5.0。可以到 github 上搜索 redis for windows,自行寻找资源。或者直接使用 https://github.com/tporadowski/redis/releases 。然后,点击 Redis-x64-5.0.14.1.msi,开始下载。

2023-02-25 12:24:21 2305

原创 缓存穿透、缓存击穿和缓存雪崩

当数据查询在 Redis 缓存中没有数据时,该查询会下沉到 MySQL 数据库层,同时如果数据库层也没有该数据,就无法进行缓存。当出现大量这种查询(或被恶意攻击)时,查询请求全部透过缓存访问底层数据库,而数据库中也没有这些数据,这种现象就是缓存穿透。

2023-02-24 00:21:15 142

原创 布隆过滤器

布隆过滤器(Bloom Filter)是 Redis 中的海量数据去重或过滤工具。需手动下载,并在 Redis 的配置文件中加载 redisbloom.so 模块。布隆过滤器是一种高空间利用率的概率型数据结构。常用于判断某个元素是否存在于一个集合中。虽然这个判断只是一个概率性的结果,并不完全准确。但只要正确使用,在足够大体量的数据中,误判的概率可以忽略不计。

2023-02-22 23:43:36 225

原创 五种 IO 模型

5种 IO 模型分别是:阻塞 IO 模型、非阻塞 IO 模型、IO 复用模型、信号驱动的 IO 模型和异步 IO 模型。

2023-02-21 19:47:42 304

原创 array_merge 和 + 运算符的区别

array_merge 和 + 运算符的区别

2023-02-19 19:20:29 260

原创 cast() 和 convert() 函数

cast() 和 convert() 函数非常常用,它们可以转换数据的数据类型、字符集以及排序校对规则。

2023-02-16 23:21:34 361

原创 配置局域网IP之No alive nodes found in your cluster

自己在本地搭建了 Windows 版本的 elasticsearch-5.5.2 和 kibana-5.5.2。未曾修改 config/elasticsearch.yml 配置文件,启动 elasticsearch 和 kibana之后,一切正常。但是,在 PHP 开发的项目中使用 "elasticsearch/elasticsearch": "6.7.2" 包操作本地的 elasticsearch 时,报以下错误

2023-02-07 19:49:26 925

原创 Win10 的 Ubuntu子系统安装可视化图形界面

操作之前,先确保 apt 源已修改为国内的阿里云镜像源。否则,下载速度可能会很慢。Ubuntu子系统所在的路径C:\Users\<用户名>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc更新 apt-get 源sudo apt-get update安装图形界面sudo apt install xorgsudo apt install xfce4安装并配置

2021-01-03 14:23:11 4045 1

原创 Ubuntu 20.04 apt 源修改为国内的阿里云镜像源

查看当前系统的版本信息命令:lsb_release -ayj@LAPTOP-ND0NRET5:~$ lsb_release -aNo LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 20.04.1 LTSRelease: 20.04Codename: focal切换为 root 用户sudo - root备份默认的源cp /etc/apt/sou

2021-01-02 16:09:28 5023

原创 RabbitMQ 死信队列

死信交换机DLX(Dead-Letter-Exchange)可以称之为死信交换机,也称之为死信邮箱。当消息在一个正常的业务队列中变成死信(dead message)之后,它能被重新发送到另一个交换机中,这个交换机就是 DLX,绑定 DLX 的队列就是死信队列。如果一个正常的业务队列设置了死信邮箱,那么,在业务队列的消费者运行后,死信邮箱就会创建成功,并且在 RabbitMQ Management(web管理工具)的 Queues 菜单栏中,可以看到该业务队列 Features 栏会多出一个 DLX 标

2020-12-20 22:15:44 282

手机号码段全国归属地数据库(共360569条记录)txt文件和sql文件

该数据库共包含360569条记录,涵盖了最新的170和171号码段,可满足几乎所有的手机号码的归属地查询。 数据文件的格式有两种:txt文件和sql文件,字符编码为utf8。 无需积分,可直接下载。

2017-06-07

sublime-TortoiseSVN-master.zip

sublime的svn插件包,可以支持Sublime Text 2和Sublime Text 3,可直接下载,无需积分。

2015-12-15

php_enhanced_zh.chm

php_enhanced_zh.chm是php的使用手册,大多数英文已翻译成中文,内容详细、丰富,非常适合PHP爱好者参考查阅。

2015-11-19

wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.exe

wampserver2.5,操作系统要求:Window 64位,WampServer2.5包含的软件包主要有Apache : 2.4.9, MySQL : 5.6.17 ,PHP : 5.5.12,PHPMyAdmin : 4.1.14等。

2015-11-12

ThinkPHP3.1.2完全开发手册.chm

ThinkPHP3.1.2完全开发手册.chm,这个是tp3.1.2的chm版,非常方便ThinkPHP框架爱好者进行学习和查阅。在此分享给大家,无需积分,直接下载即可。

2015-11-05

ThinkPHP3.2.2完全开发手册.chm

ThinkPHP3.2.2完全开发手册.chm,这个是tp3.2.2的chm版,非常方便ThinkPHP框架爱好者进行学习和查阅。在此分享给大家,无需积分,直接下载即可。

2015-11-05

php-5.4.45-nts-Win32-VC9-x86.rar

php-5.4.45-nts-Win32-VC9-x86版本的php,php5.4.45,NTS版(None Thread Safety,非线程安全),操作系统要求:windows 32位操作系统,VC9编译。

2015-11-04

php-5.3.29-nts-Win32-VC9-x86.rar

php-5.3.29-nts-Win32-VC9-x86版本的php,php5.3.29,NTS版(None Thread Safety,非线程安全),操作系统要求:windows 32位操作系统,VC9编译。

2015-11-04

mod_fcgid-2.3.6-win32-x86.zip

windows下的apache服务器开启FastCGI模式所必须的模块,apache加载该模块fcgid_module,稍微修改一下apache的配置文件,即可开启FastCGI模式。

2015-11-04

wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-32b.exe

wampserver就是Windows下的Apache、Mysql、PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。WampServer 2.5包含的软件包有Apache : 2.4.9, MySQL : 5.6.17 ,PHP : 5.5.12 ,PHPMyAdmin : 4.1.14 ,SqlBuddy : 1.3.3, XDebug : 2.2.5。该软件包仅支持windows 32位操作系统,WampServer开源、免费、易于安装和使用,是PHP初学者的最佳选择。

2015-11-04

Zend Guard 加密 与 Zend Loader 解密

Zend Guard是目前市面上最成熟的PHP源码加密产品,本文档详细介绍了如何利用Zend Guard加密PHP文件,以及如何利用Zend Guard Loader对加密后的PHP文件进行解密,以便web服务器能够正确解析运行经过Zend加密后的PHP文件。

2015-11-01

空空如也

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

TA关注的人

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