自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(320)
  • 资源 (2)
  • 收藏
  • 关注

原创 docker中安装vim 配置国内镜像源 提高下载速度

在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示Reading package lists... DoneBuilding dependency tree Reading state information... Don...

2020-04-22 20:45:00 659 1

原创 数据结构与算法之美学习笔记(15章,17章) 二分查找,跳表

二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。我们假设数据大小是 n,每次查找后数据都会缩小为原来的一半,也就是会除以 2。最坏情况下,直到查找区间被缩小为空,才停止。可以看出来,这是一个等比数列。其中 n/2k=1 时,k 的值就是总共缩小的次数。而每一次缩小操...

2020-02-28 21:57:29 115

原创 学习 mysql实战45讲 笔记(16~21),用于自己后期复习

16章 “orderby”是怎么工作的select city,name,age from t where city='杭州' order by name limit 1000 ;1.全字段排序在city字段上创建索引之后,我们用explain命令来看看这个语句的执行情况。Extra这个字段中的“Using filesort”表示的就是需要排序,MySQL会给每个线程分配一块...

2020-02-27 22:18:15 102

原创 数据结构与算法之美学习笔记(11章) 排序,冒泡,插入,选择,归并,快排

第十一章最常用的:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。

2020-02-26 22:25:21 106

原创 数据结构与算法之美学习笔记(10章) 递归

第10章 递归递归很重要,这篇全部是递归的知识和练习一个很好的例子帮助理解周末你带着女朋友去电影院看电影,女朋友问你,咱们现在坐在第几排啊?电影院里面太黑了,看不清,没法数,现在你怎么办?别忘了你是程序员,这个可难不倒你,递归就开始排上用场了。于是你就问前面一排的人他是第几排,你想只要在他的数字上加一,就知道自己在哪一排了。但是,前面的人也看不清啊,所以他也问他前面的人。就这样一排...

2020-02-26 20:15:05 78

原创 数据结构与算法之美学习笔记(5~9章)

第五章 数组:为什么很多编程语言中数组都从0开始编号?1.数组的定义数组是一种线性表数据结构,他用一组连续的内存空间,来存储相同类型的数据2.数组为什么可以根据下标随机访问数组元素(这里要注意不根据下标是不能随机访问的啊)假设一个长度为10的int型数组,会分配一块连续内存空间 1000~1039,其中,内存块首地址是1000我们可以通过以下公式快速获取到指定下标的元素...

2020-02-25 22:18:37 93

原创 学习 mysql实战45讲 笔记(11~15),用于后期检验

第十一章 字符串加索引在查询效率和索引占用空间之中取舍第十二章为什么我的MySQL会“抖”一下一条SQL语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。1.脏页和干净页当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。内存数据写入到磁盘后,内存和磁盘上的数据页的内容就一...

2020-02-25 14:18:03 88

原创 FIO安装部署及测试方法案例

I/O输入/输出(Input/Output),读和写,提高缓存(cache)和做磁盘阵列(RAID)能提高存储IO性能。 IOPS (英文:Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库、存储等场合,衡量随机访问的性能。存储端的IOPS性能和主机端的IO是不同的,IOPS是指存储每秒可接受多少次主...

2020-02-25 12:25:44 331

原创 数据结构与算法之美学习笔记(1~4章)

第一章.为什么要学习数据结构和算法第二章.数据结构和算法的定义,学习的方法1.数据结构和算法的概念广义:数据结构指的是一组数据的存储结构,算法指的是操作数据的一组方法.例如:图书馆里一般会将书分类放,然后有相应的编号规则.这就是数据结构,我们具体来查找这本书的方法就是算法,比如我们可以从头到尾一本一本的找也可以按照分类,编号去找.狭义:数据结构就是指的一些著...

2020-02-24 21:41:59 232 1

原创 springboot解决跨域问题

@Configurationpublic class CorsConfig { public CorsConfig() { } @Bean public CorsFilter corsFilter() { // 1. 添加cors配置信息 CorsConfiguration config = new CorsConfigura...

2020-02-23 18:31:49 56

原创 学习 mysql实战45讲 笔记(1~10),用于后期检验

仅供自己复习用第一章1.MySQL的框架有几个组件, 各是什么作用?连接器,缓存器,分析器,优化器,执行器2.Server层和存储引擎层各是什么作用?server层提供核心组件的功能,同时提供视图,执行过程等和一些函数操作,引擎层主要对应数据的操作3.you have an error in your SQL syntax 这个保存是在词法分析里还是在语法分析里...

2020-02-23 16:46:07 174

原创 数据脱敏工具类

** * 通用脱敏工具类 * 可用于: * 用户名 * 手机号 * 邮箱 * 地址等 */public class DesensitizationUtil { private static final int SIZE = 6; private static final String SYMBOL = "*"; ...

2020-02-22 21:30:00 682

原创 CookieUtils--cookie工具

CookieUtils/** * * @Title: CookieUtils.java * @Package com.imooc.utils * @Description: Cookie 工具类 * Copyright: Copyright (c) * Company: www.imooc.com * * @author imooc * @version V1.0 */...

2020-02-22 20:58:48 98

原创 日期工具

各种常见日期需求基本涵盖public class DateUtil { /** * Base ISO 8601 Date format yyyyMMdd i.e., 20021225 for the 25th day of December in the year 2002 */ public static final String ISO_DATE_F...

2020-02-22 20:51:59 44

原创 深入理解spring中事务的传播

在平时工作中我们常常会遇到不同service相互调用各自方法的情况,为了保证数据的一致性,我们常常采用在方法上加@transaction注解的形式开启事务.同时针对不同的业务场景,我们需要控制事务的传播级别,众所皆知事务的传播级别有以下7种1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。2、PROP...

2020-02-21 23:50:58 103

原创 mybatis逆向生成工具(自用)

mybatis逆向生成工具,可以通过数据库映射生成对应pojo类,mapper接口,mapper.xml文件,同时提供通用mapper方法只需要继承MyMapper类即可直接调用对应的单表增删改查方法生成代码如下:记录下自用一.码云下载mybatis-generator工程我的码云地址二.修改generatorConfig.xml<generatorCo...

2020-02-21 20:24:28 213

转载 IDEA上传本地项目到码云

一、在码云上新建项目  二、复制远程地址  三、创建本地项目  四、选择目录初始化git五、将项目添加到缓冲区,并提交到本地创库  六、提交项目  七、填入远程地址  八、点击push  注:第一次提交会失败。    在idea的终端输入这行命令。  再次重新提交注:idea中可能要先配好github或码云账号 ...

2020-02-21 17:02:40 96

原创 Springboot日常使用--常见pom依赖(pom依赖gav)

这里只是总结下各个组件常用依赖 基于spring2.X 可能因为版本不同有所区别,实际使用时自由发挥TIPS:自用,免得用的时候要找 遇到一个加一个数据库相关...

2020-02-21 13:51:31 1105

原创 Springboot日常使用--常见配置总结(yml文件中配置)

总是不记得配置文件,但是说实话记感觉又没啥意义,手写又容易出错 关键是要用的时候翻以前的笔记又过于零散.所以特此整理一篇,以后拿来即用.数据库相关一.数据库连接1.springboot2.X默认hikaricpspring: datasource: url: jdbc:mysql://localhost:3306/foodie-shop?characterEncodi...

2020-02-21 13:51:02 749

原创 支付渠道-支付交易-支付交易日志表

用于编写聚合支付中 记录各种支付渠道信息,支付交易信息,和支付交易日志的表支付渠道表记录 支付渠道,商户号,公钥私钥,回调地址等信息支付交易表记录实际支付金额,订单ID,用户ID,支付状态等支付交易日志记录支付交易对应的回调报文日志,用于和第三方支付平台进行对账,和重新扣费用.支付渠道CREATE TABLE `payment_channel` ( `ID` int(11...

2020-02-18 10:33:31 507

原创 银联支付(一)申请测试环境,并运行测试demo(在线网关支付)

1.注册账号点击进入银联支付开放平台地址注册账号选择普通用户登录账号登录后点击前往商户测试中心进入后产品列表中选择在线网关支付,然后要点击操作中的集成测试申请支付权限,10分钟后生效(这里如果没有点击,支付时会提示没有权限)关于其他产品 如无跳转支付,二维码支付的介绍和使用场景可以参照网址业务产品场景应用介绍,本文中以在线网关支付为例2.测试demo搭建...

2020-02-17 20:52:56 659

原创 Elasticsearch分片原理

ES集群的基本概念Cluster代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的Shards主分片代表索引分片,es可以把一个完整的索引分成多个分片...

2020-02-16 16:07:47 1395

原创 docker容器间互相访问 docker bridge网络

方式一、虚拟ip访问安装docker时,docker会默认创建一个内部的桥接网络docker0,每创建一个容器分配一个虚拟网卡,容器之间可以根据ip互相访问。[root@33fcf82ab4dd /]# [root@CentOS ~]# ifconfig…docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500...

2020-02-16 14:30:23 1423

原创 Elasticsearch最新版本7.6.0使用docker安装集群

今天使用docker安装elasticsearch最新版本7.6.0的集群环境.遇到了好多坑,最终完成搭建先整理安装步骤1.先从docker hub下pull最新的es镜像2.创建数据挂在目录,配置ElasticSearch集群配置文件,调高JVM线程数限制数量下面以一台节点为例,其他的节点一样的步骤修改配置即可调高JVM线程数限制数量vim /etc/sysctl.co...

2020-02-15 23:15:27 2299 6

原创 将本地文件上传到Docker容器内指定目录下

假设我们要将ik分词器传入docker es容器下的plugin目录下1.将下载好的ik上传至linux服务器查询docker 容器id执行 docker cp 目标文件 容器id:目标路径进行复制docker cp elasticsearch-analysis-ik-7.6.0.zip 4909b402e5e8:/usr/share/elasticsearc...

2020-02-14 16:59:22 492

原创 Docker安装Elasticsearch和Kibana(单机开发版)

一.环境准备一台有docker环境的虚拟机,需要注意的是分配内存记得一定大于2G,因为ES需要的内存就至少要1G了二.拉取镜像进入docker hub查询自己需要的es版本docker hub elasticsearch tag这里以安装7.6.0为例 右边有拉取镜像的指令,直接复制,在linux下执行即可拉取镜像这里镜像已拉取完毕三.容器运行ES这里...

2020-02-14 16:25:52 117 1

转载 滑动窗口

https://blog.csdn.net/wdscq1234/article/details/52444277

2020-02-06 12:25:57 62

原创 操作系统精髓与设计原理(三)进程

一.进程进程的两个基本组成元素1.程序代码2.数据集进程控制块进程控制块是支持多进程的关键工具,进程中断时,操作系统会把程序计数器和上下文数据保存到进程控制块中,进程的状态也相应的改变为其他值,支持后来恢复进程的执行.标识符:用来区分其他进程状态:运行态等优先级:进程的优先顺序程序计数器:程序中即将执行的下一条指令的地址内存指针:程序代码和进程相关数据的指针...

2020-02-06 12:24:49 63

原创 操作系统精髓与设计原理(二)操作系统概述

一.操作系统的目标和功能目标:方便:操作系统使计算机更易于使用 有效:操作系统允许以更有效的方式使用计算机资源 扩展能力:在构建操作系统时,允许在不妨碍服务的前提下,有效的开发测试和引入新的系统功能操作系统通常提供服务:程序开发:为帮助程序员开发,操作系统提供各种各样的工具和服务,称为应用程序开发工具,如编辑器和调试器. 程序运行:运行一个程序有很多步骤,操作系统为用户处理这些...

2020-02-05 14:36:03 51

原创 操作系统精髓与设计原理(一)计算机系统概述

一.基本构成处理器:cpu 内存:存储数据和程序,关机后内存上的内容会丢失,相对应的是磁盘存储器,关机后内容不会丢失 输入输出模块(IO):在计算机和外部环境之间移动数据,外部环境由各种外部设备组成包括硬盘,通信设备和终端 系统总线:在处理器,内存,输入输出模块间提供通信的设施MAR:内存地址寄存器用于确定下一次读/写的存储器地址 MBR:内存缓存寄存器存放要写入内存的数据和从内...

2020-02-04 23:15:23 134

原创 单例模式8种写法及分析

最近复习了下单例模式写法,记录下来,分析每种优缺点其中标红的是推荐方式,有双重检查模式,还有枚举模式1.饿汉式 静态变量方式(可用)* 优点:编写简单 不存在并发问题 多个线程创建多个实例* 缺点:一开始就加载,浪费资源./** * @author: xuxu * @date 2020/2/2 16:08 * @Description: 第一种单例模式写法 * 饿汉式...

2020-02-03 17:11:24 370

原创 死锁详解及死锁的处理策略

一.什么是死锁在多线程并发中两个或多个线程互相持有对方所需要的资源,不主动释放,在没有外力干预的情况下,所有人都无法继续前进,导致程序陷入无尽的阻塞,就是死锁比如下图,线程A 线程B都尝试获取对方持有的锁,但是又不释放自己所持有的锁就会陷入死锁如果多个线程间的依赖关系是环形,存在环路的锁依赖关系,那么也有可能会发生死锁死锁一旦发生可能会造成系统崩溃,在高并发场景中,影响大量...

2020-02-02 22:56:42 1426

转载 字节、字、bit、byte Mbps的关系

字 word字节 byte位 bit,来自英文bit,音译为“比特”,表示二进制位。字长是指字的长度1字=2字节(1 word = 2 byte)1字节=8位(1 byte = 8bit)一个字的字长为16一个字节的字长是8bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps 等等。B...

2020-01-26 12:14:19 212

原创 IO编程(五)Netty编程入门(Netty数据传输载体 ByteBuf)

Netty 里面数据读写是以 ByteBuf 为单位进行交互ByteBuf结构ByteBuf 中每读取一个字节,readerIndex 自增1,ByteBuf 里面总共有 writerIndex-readerIndex 个字节可读, 由此可以推论出当 readerIndex 与 writerIndex 相等的时候,ByteBuf 不可读 写数据是从 writerIndex 指向的...

2019-12-27 17:35:36 102

原创 IO编程(四)Netty编程入门(服务端和客户端双向通信)

通过上篇文章已经分别对netty服务端和客户端有了简单的认识.详情见:IO编程(三)Netty编程入门(服务端,客户端流程)下面我们要实现客户端写数据到服务端,服务端读取数据同时写数据返回客户端回到之前的客户端NettyClient在bootstrap.handler()中添加写数据的方法 //处理IO逻辑 bootstrap.handler(n...

2019-12-26 15:10:15 90

原创 IO编程(三)Netty编程入门(服务端,客户端流程)

简介Netty 封装了 JDK 的 NIO,让你用得更爽,你不用再写一大堆复杂的代码了。 用官方正式的话来说就是:Netty 是一个异步事件驱动的网络应用框架,用于快速开发可维护的高性能服务器和客户端。使用 JDK 自带的NIO需要了解太多的概念,编程复杂,一不小心 bug 横飞 Netty 底层 IO 模型随意切换,而这一切只需要做微小的改动,改改参数,Netty可以直接从 NIO 模...

2019-12-26 11:21:23 89

原创 IO编程(二)NIO编程概念

注意标题.此章只是让我们对NIO有个概念,而不是让你真正的去敲或者熟悉以下代码传统BIO编程如图1,来一个客户端连接就需要一个新的线程.而NIO中会把新的连接注册到 selector 上,然后,通过检查这个 selector,就可以批量监测出有数据可读的连接,进而读取数据举个例子:幼儿园小朋友要上厕所,但是太小不会表达.BIO 一个小朋友(客户端连接)配一个老师(线程),同...

2019-12-25 15:07:26 49

原创 IO编程(一)传统IO编程

假设我们要实现一个需求 客户端每隔两秒向服务端发送一次信息,服务端接收打印首先我们需要一个服务端一个客户端服务端SocketServer服务端监听8000端口.循环接收新的客户端连接请求.同时打印客户端发送来的消息public class SocketServer { public static void main(String[] args) throws Except...

2019-12-25 14:40:25 78

原创 ArrayList源码阅读

一.概述1.ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的list类2.该类封装了一个动态再分配的Object[]数组,每个ArrayList的实现类都有一个capacity属性,表示它所封装的Object[]数组的容量.当arrayList添加元素时,该属性会自动增加.同时在ArrayList大量添加元素时,可以使用ensureCapacity一次性增加容量,可以减...

2019-12-23 17:47:10 51

原创 IDEA查看Java源码技巧

1 查看接口的实现类:Ctrl+Alt+B选中按快捷键,然后跳到实现类的地方去2 返回上/下个光标地方:Alt+<- 和 Alt+->可通过修改快捷键(搜关键字left、right)找到对应并改为 Ctrl+J。。。。3 查看Java方法调用树(被调/主调):Ctrl+Alt+H分为调用当前方法的树、当前方法调用的下级方法4 层级关系的子类关系列表...

2019-12-23 16:26:14 114

Java面试资源“80%的offer掌握在20%的人手中”

“80%的offer掌握在20%的人手中” 这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部 分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offer。运气暂且不谈,就拿心态来说,千万 不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来 越强大。

2019-04-25

RabbitMQ安装包

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等

2018-09-11

空空如也

空空如也

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

TA关注的人 TA的粉丝

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