自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 排序

冒泡 public static int[] bubbleSort(int[] arr) { if(arr == null || arr.length <= 1){ return arr; } int len = arr.length; int temp; for (int i = 0; i < len-1; i++) { for (int j = 0; j &

2020-12-23 16:30:39 3

原创 Markdown

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-12-14 23:19:25 13

原创 java中Class对象详解和类名.class, class.forName(), getClass()区别

Class对象的生成方式如下:1.类名.class 说明: JVM将使用类装载器, 将类装入内存(前提是:类还没有装入内存),不做类的初始化工作.返回Class的对象2.Class.forName(“类名字符串”) (注:类名字符串是包名+类名) 说明:装入类,并做类的静态初始化,返回Class的对象3.实例对象.getClass() 说明:对类进行静态初始化、非静态初始化;返回引用运行时真正所指的对象(因为:子对象的引用可能会赋给父对象的引用变量中)所属的类的C

2020-11-20 15:43:44 11

原创 多线程

进程进程和线程的关系就是:一个进程可以包含一个或多个线程,但至少会有一个线程。和多线程相比,多进程的缺点在于:创建进程比创建线程开销大,尤其是在Windows系统上;进程间通信比线程间通信要慢,因为线程间通信就是读写同一个变量,速度很快。而多进程的优点在于:多进程稳定性比多线程高,因为在多进程的情况下,一个进程崩溃不会影响其他进程,而在多线程的情况下,任何一个线程崩溃会直接导致整个进程崩溃。多线程Java语言内置了多线程支持:一个Java程序实际上是一个JVM进程,JVM进程用一个主

2020-08-17 22:00:39 398

原创 JDBC

查询public class Main { public static void main(String[] args) throws SQLException { // JDBC连接的URL, 不同数据库有不同的格式: String JDBC_URL = "jdbc:mysql://localhost:3306/learnjdbc?useSSL=false"; String JDBC_USER = "root"; String JD

2020-08-17 18:15:32 402

原创 Maven基础

Maven是一个Java项目的管理和构建工具:Maven使用pom.xml定义项目内容,并使用预设的目录结构;在Maven中声明一个依赖项可以自动下载并导入classpath;Maven使用groupId,artifactId和version唯一定位一个依赖依赖关系compile说明示例compile编译时需要用到该jar包(默认)commons-loggingtest编译Test时需要用到该jar包)junitruntime编译时不需要,但运行时需

2020-08-17 15:38:17 410

原创 集合

java 集合

2020-08-14 17:53:53 410

原创 php实现阿里云签名类

<?phpnamespace App\Library\Ali;class VideoInterface{ public $data; public $accessKeyId = ""; public $accessKeySecret = ""; public $url; public function __construct($actionArray,$url){ $this->url = $url; date_de

2020-08-06 18:30:35 504

原创 explain

2020-06-30 18:31:41 394

原创 MYSQL基于成本的优化

什么是成本I/O成本我们的表经常使用的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当我们想查询表中的记录时,需要先把数据或者索引加载到内存中然后再操作。这个从磁盘到内存这个加载的过程损耗的时间称之为I/O成本。CPU成本读取以及检测记录是否满足对应的搜索条件、对结果集进行排序等这些操作损耗的时间称之为CPU成本。对于InnoDB存储引擎来说,页是磁盘和内存之间交互的基本单位,设计MySQL的大叔规定读取一个页面花费的成本默认是1.0,读取以及检测一条记录是否符合搜索条

2020-06-23 19:59:53 482

原创 两个表连接的原理

连接简介连接的本质//这两个表都有两个列,一个是INT类型的,一个是CHAR(1)类型的,填充好数据的两个表长这样:mysql> SELECT * FROM t1;+------+------+| m1 | n1 |+------+------+| 1 | a || 2 | b || 3 | c |+------+------+3 rows in set (0.00 sec)mysql> SELECT * FROM t2;+

2020-06-23 17:05:45 538

原创 单表访问方法

//eg single_table表建立了1个聚簇索引和4个二级索引CREATE TABLE single_table ( id INT NOT NULL AUTO_INCREMENT, key1 VARCHAR(100), key2 INT, key3 VARCHAR(100), key_part1 VARCHAR(100), key_part2 VARCHAR(100), key_part3 VARCHAR(100), common_fi

2020-06-23 15:22:22 445

原创 InnoDB的表空间

页面通用部分数据页,也就是INDEX类型的页由7个部分组成File Header:记录页面的一些通用信息File Trailer:校验页是否完整,保证从内存到磁盘刷新时内容的一致性。独立表空间结构区(extent)的概念设计InnoDB的大叔们提出了区(英文名:extent)的概念。对于16KB的页来说,连续的64个页就是一个区,也就是说一个区默认占用1MB空间大小。不论是系统表空间还是独立表空间,都可以看成是由若干个区组成的,每256个区被划分成一组。画个图表示就是这样:从上图

2020-06-17 20:56:29 423

原创 MySQL 的数据目录

数据库在文件系统中的表示每个数据库都对应数据目录下的一个子目录,或者说对应一个文件夹表在文件系统中的表示这个后缀名为.frm是以二进制格式存储的,我们直接打开会是乱码的~ InnoDB是如何存储表数据的InnoDB设计了一个表空间或者文件空间(英文名:table space或者file space)的概念,这个表空间是一个抽象的概念,它可以对应文件系统上一个或多个真实文件(不同表空间对应的文件数量可能不同)。系统表空间(system tablespace)认情况下,InnoDB会在数据目录下创

2020-06-17 17:38:31 428

原创 B+树索引

B+树索引InnoDB数据页的7个组成部分,知道了各个数据页可以组成一个双向链表,而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录没有索引的查找由于我们并不能快速的定位到记录所在的页,所以只能从第一个页沿着双向链表一直往下找,在每一个页中根据我们刚刚唠叨过的查找方式去查找指定的记录。索引为了故事的顺

2020-06-16 22:35:46 543

原创 InnoDB

InnoDB是一个将表中的数据存储到磁盘上的存储引擎将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB在Compact行格式中,把所有变长字段的真实数据占用的字节长度都存放在记录的开头部位,从而形成一个变长字段长度列表,各变长字段数据占用的字节数按照列的顺序逆序存放,我们再次强调一遍,是逆序存放!变长字段长度列表假设某个字符集中表示一个字符最多需要使用的字节数为W,也就是使用SHOW CHARSET语句的结果中的Maxlen列,比方说utf8

2020-06-13 19:24:01 1137

原创 字符集和比较规则

一些重要的字符集ASCII字符集共收录128个字符,包括空格、标点符号、数字、大小写字母和一些不可见字符。由于总共才128个字符,所以可以使用1个字节来进行编码,我们看一些字符的编码方式:'L' -> 01001100(十六进制:0x4C,十进制:76)'M' -> 01001101(十六进制:0x4D,十进制:77)ISO 8859-1字符集(latin1)共收录256个字符,是在ASCII字符集的基础上又扩充了128个西欧常用字符(包括德法两国的字母),也可以使用1个字节来

2020-06-13 18:16:30 441

原创 mysql配置和系统变量

/usr/local/mysql/bin关于配置文件路径which mysqld/usr/sbin/mysqld --verbose --help | grep -A 1 'Default options'Default options are read from the following files in the given order:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 从上图可以看出

2020-06-13 17:43:56 468

原创 顶尖 API 文档管理工具 (Yapi)

使用 Docker 构建 Yapi1、启动 MongoDBdocker run -d --name mongo-yapi mongo2、获取 Yapi 镜像,版本信息可在 阿里云镜像仓库 查看docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi3、初始化 Yapi 数据库索引及管理员账号docker run -it --rm \ --link mongo-yapi:mongo \ --entrypoint npm \ --

2020-06-13 16:29:43 489

原创 linux命令

查看日志cat orderInfo-2020-03-24.log |grep “142561”awk

2020-03-24 11:29:45 422

原创 ES

_search搜索http://localhost:9200/demo/_search?q=city:beijing&prettytook -Elasticsearch运行查询所需时间(毫秒)time_out 搜索请求是否超时_shards 搜索了多少分片,以及成功,失败或跳过了多少分片max_score 找到的最相关文件的文档hits.total.value 找到了多少匹配...

2020-03-23 15:50:27 439

原创 mysql笔记1

查询缓存MySQL服务器并没有人聪明,如果两个查询请求在任何字符上的不同(例如:空格、注释、大小写),都会导致缓存不会命中。另外,如果查询请求中包含某些系统函数、用户自定义变量和函数、一些系统表,如 mysql 、information_schema、 performance_schema 数据库中的表,那这个请求就不会被缓存MySQL的缓存系统会监测涉及到的每张表,只要该表的结构或者数据被修...

2020-03-11 09:53:28 428

原创 http 前端

跨域什么是跨域?由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。存在跨域的情况:网络协议不同,如http协议访问https协议。端口不同,如80端口访问8080端口。域名不同,如qianduanblog.com访问baidu.com。子域名不同,如abc.qianduanblog.com访问def.qianduanblog.com。...

2020-02-19 00:09:38 435

原创 服务器

说下一些你常用的linux命令toptop程序提供运行系统的动态实时视图,它可以显示系统概要信息以及当前由Linux内核当前管理的任务列表df命令Linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况ps命令要对系统中进程进行监测控制,用 ps 命令满足你和grep命令的一起使用ps -aux | grep test 找到test进程信息free命令fr...

2020-02-19 00:01:59 434

原创 mysql

Mysql 中 MyISAM 和 InnoDB 的区别有哪些InnoDB 支持事务、外键、行级锁MyISAM 表锁InnoDB 是聚集索引,MyISAM 是非聚集索引MyISAM:支持 FULLTEXT类型的全文索引InnoDB:不支持FULLTEXT类型的全文索引,但是innodb可以使用sphinx插件支持全文索引,并且效果更好。MyISAM:如果执行大量的SELECT,MyISA...

2020-02-18 23:39:03 441

原创 PHP消息队列实现及应用

目前对消息队列并不了解其原理,本篇文章主要是通过慕课网学习归纳的一些笔记,为后续学习打下基础。众所周知在对网站设计的时候,会遇到给用户“群发短信”,“订单系统有大量的日志”,“秒杀设计”等,服务器没法处理这种瞬间迸发的压力,这种情况要保证系统正常有效的使用,就需要“消息队列”的帮助。本篇主要通过消息队列的思路进行学习。主要了解如下知识:1、队列是个什么东西,他能干什么?2、对列的应用场景有...

2020-02-18 22:17:02 462

原创 redis

Redis与Memcached的区别与比较1 、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。memcache支持简单的数据类型,String。2 、Redis支持数据的备份,即master-slave模式的数据备份。3 、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而Memecac...

2019-08-19 09:18:48 418

原创 PHP面向对象

面向对象的三大特征是:封装,继承,多态。final 关键字禁止继承和重载。instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:<?phpclass MyClass{}class NotMyClass{}$a = new MyClass;var_dump($a instanceof MyClass);var_dump($a insta...

2019-04-23 14:20:19 428

原创 PHP基础2

include 和 requirerequire 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。require通常使用方法,这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。include 生成一个警告(E_WARNING)...

2019-04-10 17:53:44 444

原创 PHP基础1

数据类型integer float string boolean array object还有特殊的NULL:被赋值为 NULL或者尚未被赋值resource :资源是通过专门的函数来建立和使用的。常量常量是一个简单值的标识符。该值在脚本中不能改变。一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。注意: 常量在整个脚本中都可以使用...

2019-04-10 10:28:53 454

原创 laravel-admin隐藏按钮

$form //表单bottom $form->disableReset(); $form->disableEditingCheck(); $form->disableViewCheck(); //表单右上角 $form->tools(function (Form\Tools...

2019-04-08 11:40:08 3790 3

原创 laravel

生成modelphp artisan make:model Models/CoursewareResource生成控制器php artisan admin:make Coursewares\CoursewareResourceaaController --model=App\Models\CoursewareResource执行定时任务php artisan schedule:run...

2019-04-02 14:20:49 775

原创 php面试问题

“a” == 0 为什么成立?因为比较时PHP会自动把字符串转换为整型,字符串a的开头不包含任何数字,所以会被转为0.

2019-04-01 13:08:20 466

原创 leetcode笔记

只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4 /** * @param Integer[] $nums * @re...

2019-04-01 13:06:45 454

原创 git常用命令

git修改远程仓库地址方法有三种:1、修改命令 git remote set-url origin [url]2、先删后加git remote rm origingit remote add origin [url]3、直接修改config文件

2019-03-26 14:14:45 463

原创 常见算法

冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。$arr=array(1,43,54,62,21,66,32,78,36,76,39); function bubbleSort($arr){ $len=count($arr);...

2019-03-21 17:48:38 417

原创 观察者模式

观察者模式1:观察者模式(Observer),当一个对象状态发生变化时,依赖它的对象全部会收到通知,并自动更新。2:场景:一个事件发生后,要执行一连串更新操作。传统的编程方式,就是在事件的代码之后直接加入处理的逻辑。当更新的逻辑增多之后,代码会变得难以维护。这种方式是耦合的,侵入式的,增加新的逻辑需要修改事件的主体代码。3:观察者模式实现了低耦合,非侵入式的通知与更新机制。定义一个事件触发...

2019-03-21 17:20:30 423

原创 适配器模式

适配器模式将各种截然不同的函数接口封装成统一的API。PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。首先定义一个接口(有几个方法,以及相应的参数)。然后,有几种不同的情况,就写几个类实现该接口。将...

2019-03-21 16:56:49 429

原创 策略模式

策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2.定义具体策略类(具...

2019-03-21 16:36:04 412

原创 单例模式

单例模式单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。单例模式分3种:懒汉式单例、饿汉式单例、登记式单例。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。那么为什么要...

2019-03-21 16:09:59 406

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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