自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吾行远方

随笔记录

  • 博客(140)
  • 收藏
  • 关注

转载 MySQL中sum和count用法总结

MySQL中sum和count用法总结1.sum2.count例子:要求:查询出2门及2门以上不及格者的平均成绩。3、MySQL 分组之后如何统计记录条数 gourp by 之后的 count()例子4、sum mysql select 横向展示例子1纵向展示横向展示例子2:1.sum(1)sum()函数里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数。(2)sum(条件表达式),如果记录满足条件表达式就加1,统计满足条件的行数2.count(1)COUNT()函数里面的参数是列名

2020-05-26 10:57:34 9247

原创 MySQL Packet for query is too large解决方法

MySQL Packet for query is too large解决方法背景:昨天上线的分配订单业务在读取订单到缓存中时,由于是批量从DB查询读取缓存,一次查询读取数据量较大( Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4935 > 2048). You can change this value on the server by setting the max_allowed_pack

2020-05-14 11:22:43 8808

原创 分布式ID生成算法--雪花算法(SNOWFLAKE)

Github源码https://github.com/souyunku/SnowFlake分布式ID生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。注:1B就是1个字节。Byte、KB、B、MB、GB之间的关系是:Bit——比特 ; B ——字节;KB——千字节;MB——兆字节;GB——吉字节;TB——太字节1bit=0.125b ;1B=8 Bit ;...

2020-01-09 09:31:27 1035

原创 redis分布式锁(4)

redis分布式锁1、灾备切换Sentinel的使⽤1.1、Redis 主从复制可将主节点数据同步给从节点,从节点此时有两个作⽤:1.2、redis主节点挂掉之后应该怎么操作?命令模拟1.3、Sentinel正是实现了这个功能1.4、开启Sentinel配置 3主3从 3主6从1.5、命令讲解1.6、启动所有主从上的sentinel1.7、info Replication 查看节点信息1.8、sh...

2020-01-09 09:30:51 362

原创 redis分布式锁(3)

redis分布式锁31、不可不知的Redis⾼性能读写分离1.1、海量并发性能瓶颈处理1.2、对读写能⼒进⾏扩展,采⽤读写分离⽅式解决性能瓶颈1.3、redis已经发现了这个读写分离场景特别普遍,⾃身集成了读写分离供⽤户使⽤。我们只需在redis的配置⽂件⾥⾯加上⼀条,【slaveof host port】语句1.4、配置过程,启动多个redis节点,修改节点⾥⾯的redis.conf配置⽂件1....

2020-01-09 09:30:15 223

原创 redis分布式锁(1)

redis分布式锁1、redis分布式锁的使用场景1.1、分布式锁是什么1.2、分布锁设计目的1.3、设计要求1.4、分布锁实现方案分析2、Redis分布式锁的实现2.1、springboot定时任务配置,定时任务配置步骤2.2、本地服务器集群部署同一套代码?2.2.1、面临问题分析3、本地服务器集群部署同一套代码3.1、服务器log日志打印, springboot已经logback4、深入剖析T...

2020-01-09 09:28:55 389

原创 redis作为mybatis缓存

1用户第一次访问的时候获取数据库的值,再次访问时直接从缓存中获取数据设置缓存过期时间项目8080端口是对外端口(向外部暴露的端口),区别于内部进程号,查内部端口用ps -ef|grep port,查外部端口用lsof -i:port2 redis作为mybatis二级缓存 1、springboot cache的使用:可以结合redis、ehcache等缓存 ...

2020-01-09 09:27:02 462

原创 redis事务

redis事务1、事务介绍1.1、事务的ACID四大特性1.3、事务隔离机制1.4、mysql事务隔离机制和MVCC(多版本并发控制技术)2、redis事务2.1、 MULTI 与 EXEC命令2.2、DISCARD命令2.3、WATCH命令3、redis事务与传统关系型事务的比较3.1、原子性(Atomicity)3.2、 一致性(Consistency)3.3、隔离性(Isolation)3....

2020-01-09 09:26:32 154

原创 redis五种数据类型常用指令

redis常用指令1、String1.1、set/get1.2、mget1.3、incr && incrby1.4、decr && decrby1.5、setnx1.6、setex1.7、其他命令2、Hash2.1、hash运用场景2.2、Hash命令实例3、List3.1、lpush3.2、lrange3.3、lpop3.4、rpush3.5、rpop4、Set4...

2020-01-09 09:25:58 284

原创 多线程容器

1、容器1.1、同步容器与并发容器同步容器Vector、HashTable – JDK提供的同步容器类Collections.synchronizedXXX 本质是对相应的容器进行包装同步容器类的缺点在单独使用里面的方法的时候,可以保证线程安全,但是,复合操作需要额外加锁来保证线程安全使用Iterator迭代容器或使用使用for-each遍历容器,在迭代过程中修改容器会抛出Con...

2020-01-09 09:25:18 297

原创 原子类

1、什么是原子类一度认为原子是不可分割的最小单位,故原子类可以认为其操作都是不可分割为什么要有原子类?对多线程访问同一个变量,我们需要加锁,而锁是比较消耗性能的,JDk1.5之后,新增的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式,这些类同样位于JUC包下的atomic包下,发展到JDk1.8,该包下共有17个类,囊括了原子更新基本类型、原子更新数组、原子更新属性、...

2020-01-09 09:24:02 112

原创 线程间的通信

1、wait、notify、notifyAll何时使用在多线程环境下,有时候一个线程的执行,依赖于另外一个线程的某种状态的改变,这个时候,我们就可以使用wait与notify或者notifyAllwait跟sleep的区别wait会释放持有的锁,而sleep不会,sleep只是让线程在指定的时间内,不去抢占cpu的资源注意点wait notify必须放在同步代码块中, 且必须拥有当前...

2020-01-09 09:23:48 105

原创 并发编程

进程与线程的区别 进程:是系统进行分配和管理资源的基本单位 线程:进程的一个执行单元,是进程内调度的实体、是CPU调度和分派的基本单位,是比进程更小的独立运行的基本单位。 线程也被称为轻量级进程,线程是程序执行的最小单位。 一个程序至少一个进程,一个进程至少一个线程。 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段, ...

2020-01-09 09:22:29 217

原创 垃圾回收算法

垃圾回收算法1、GC垃圾回收2、对象存活算法引用计数法3、对象存活算法可达性分析4、标记清除算法5、标记复制算法6、标记整理算法与分代收集算法1、GC垃圾回收为什么要垃圾回收?Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止...

2020-01-09 09:21:17 110

原创 java对象

java对象1、java对象创建的流程步骤?2、java对象的结构3、怎么访问对象--对象访问定位方式1、java对象创建的流程步骤?对象创建的流程步骤包括哪些:虚拟机遇到一条new指令时,首先检查这个对应的类能否在常量池中定位到一个类的符号引用判断这个类是否已被加载、解析和初始化为这个新生对象在Java堆中分配内存空间,其中Java堆分配内存空间的方式主要有以下两种...

2020-01-09 09:20:48 157

原创 JVM内存模型

JVM内存模型1、JVM运行时数据区分布图1.1、线程共享数据区:方法区(静态变量)、堆(所有数组和对象都是在堆中产生的)1.2、线程隔离数据区:Java虚拟机栈、本地方法栈(java虚拟机需要调用本地方法库)、程序计数器(主要是用来记录字节指令的行号)。这三块内存是线程私有的,生命周期和线程的生命周期是一样的2、JVM内存模型之程序计算器3、JVM内存模型之java虚拟机栈4、JVM内存模型之本...

2020-01-09 09:20:26 341

原创 Docker容器的文件复制与挂载

简介:容器与宿主机之间文件复制与挂载Docker容器的文件复制与挂载从宿主机复制到容器从容器复制到宿主机宿主机文件夹挂载到容器里挂载使用场景举例从宿主机复制到容器docker cp 宿主机本地路径 容器名字/ID:容器路径docker cp /root/123.txt mycentos:/home/追加写入后。另一个不变从容器复制到宿主机docker cp 容器名字/ID:...

2020-01-09 09:19:32 1948 1

原创 Docker容器的构建及基本操作

简介:Docker容器的创建,查看,停止,重启等Docker容器的构建及基本操作构建容器查看本地所有的容器:docker ps -a查看本地正在运行的容器:docker ps停止容器:docker stop CONTAINER_ID / CONTAINER_NAME一次性停止所有容器:docker stop $(docker ps -a -q)启动容器:docker start CONTAINE...

2020-01-09 09:18:53 349

原创 Docker核心基础之配置阿里云镜像加速

Docker核心基础之配置阿里云镜像加速阿里云镜像加速器配置地址配置步骤重启阿里云镜像加速器配置地址https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors配置步骤vi /etc/docker/daemon.json{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.co...

2020-01-09 09:18:35 187

原创 Docker镜像的搜索下载以及查看删除

Docker镜像的搜索下载以及查看删除查看本地镜像:docker images搜索镜像:docker search centos搜索镜像并过滤是官方的: docker search --filter "is-official=true" centos搜索镜像并过滤大于多少颗星星的:docker search --filter stars=10 centos下载centos7镜像:docker pu...

2020-01-09 09:18:09 886

原创 Linux Centos7环境下安装Docker

Linux Centos7环境下安装Docker安装环境:Centos 7网络安全下载阿里云docker社区版 yum源查看docker安装包:yum list | grep docker安装Docker Ce 社区版本:yum install -y docker-ce.x86_64设置开机启动:systemctl enable docker更新xfsprogs:yum -y update xfs...

2020-01-09 09:16:11 228

原创 Docker自定义镜像

为什么要自定义镜像,因为公共镜像很难满足日常开发需求,一般会作修改。容器是暂时的,这是对它的定位,当我们对容器进行个性化修改的时候,后期删除容器,再启动一个容器,我们的个人化修改全部都没了。所以要将容器的个性化修改commit成镜像,即使容器删除,再使用镜像重新启动一个就可以了Docker自定义镜像docker目前镜像的制作有2种方法:1、Commit构建自定义镜像启动并进入容器:docker...

2020-01-09 09:15:35 246

原创 -bash: telnet: command not found

-bash: telnet: command not foundcentos 运行telnet命令,出现下面的错误检查服务是否已经安装安装talnet服务centos 运行telnet命令,出现下面的错误-bash: telnet: command not found检查服务是否已经安装rpm -qa telnet*安装talnet服务yum list telnet* 列出teln...

2020-01-08 14:31:47 122

原创 docker python库中urllib3 or chardet 的版本不兼容

python库中urllib3 or chardet 的版本不兼容背景:升级docker版本后,再次启动运行原来的容器,出现以下原因:python库中urllib3 (1.24.1) or chardet (2.2.1) 的版本不兼容解决:背景:升级docker版本后,再次启动运行原来的容器,出现以下/usr/lib/python2.7/site-packages/requests/__in...

2020-01-03 16:38:54 1273

原创 Docker升级到最新版本

Docker升级到最新版本1.查找主机上关于Docker的软件包2.使用yum remove卸载软件3.使用curl升级到最新版4.重启Docker5.设置Docker开机自启背景: 在搭建docker私有仓库的时候出现以下错误,版本太低Need to upgrade docker package to 17.06.0+.1.查找主机上关于Docker的软件包# rpm -qa | gr...

2020-01-03 16:33:26 3083 1

原创 微信小程序-携带参数转发分享页面

小程序分享有两种,一种是页面右上角,一种通过页面按钮<button open-type="share">分享名片</button>onShareAppMessage: function(res) { if (res.from === 'button') { // 来自页面内转发按钮 } return { title: "...

2019-12-24 13:50:04 2660 1

原创 微信小程序--在app.js 和其他页面中更改globalData的值

微信小程序--在app.js 和其他页面中更改globalData的值app.js中修改其他页面app.js中修改在app.js中,应当在小程序初始化完成以后再更改全局变量的值,即在onLaunch函数中:App({ //在小程序初始化完成以后再更改全局变量的值,即在onLaunch函数中 onLaunch: function (options) { const that =...

2019-12-24 13:44:00 6734 1

原创 org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [BC_TEST]

异常org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [BC_BANK_DESC]产生场景将本地windows的mysql数据库数据迁到服务器上面,项目启动时。产生原因hibernate 表名大小写,windows 的 mysql表名忽略大小写,linux 的...

2019-12-20 09:53:15 3406

原创 idea将javaweb项目部署到tomcat

idea将javaweb项目部署到tomcatidea导入 javaweb项目添加tomcat下面两张图关键一步项目找不到jar包启动项目idea导入 javaweb项目添加tomcat在这里插入图片描述下面两张图关键一步项目找不到jar包启动项目...

2019-12-19 17:53:45 865

原创 如何查看 云服务器中 tomcat中输出“控制台”的信息

查看 云服务器中 tomcat中输出“控制台”的信息在web项目调试期间,时常需要查看输出的调试信息,例如sout,logger.info()等这样的控制台输出语句时,在终端是不能直接看到的。tomcat启动后,该文件每秒都会更新一次,并且像其中输入日志信息,所以如果用直接打开的方式查看文件内容,由于文件在不断刷新,往往难以实现。我们希望查看到动态的日志内容,有两种方式:1.方式一进入to...

2019-12-17 17:55:57 1471 2

原创 云服务器安装Redis

1、安装wgetyum install wget2、下载redis安装包wget http://download.redis.io/releases/redis-4.0.6.tar.gz3、解压压缩包tar -zxvf redis-4.0.6.tar.gz4、yum install gcc5、进入redis解压目录下cd redis-4.0.66、编译安装make MALLOC...

2019-11-18 22:39:07 431

原创 redis 设置密码后 实现主从复制

场景:在设置redis主从节点时,所有的配置都修改配置了,但是从节点还是无法复制主节点的数据。最后查明是设置密码原因。问题描述:如果我们在主redis服务器上设置了密码,即:在redis.conf配置文件中使用了requirepass fbiao;那么我们在从redis服务器上的配置文件redis.conf中使用了slaveof 主节点ip 主节点port 后发现:主从复制失败。解决方案是...

2019-11-12 14:33:42 807

原创 本地项目连接阿里云redis

1、安全组开放接口2、修改 redis.conf2.1、默认只允许本地访问,注释掉允许其他访问2.2、保护模式改成no2.3、需要密码就设置

2019-11-01 11:39:13 890

原创 本地项目无法连接阿里云mysql解决办法SQLException: null, message from server: "Host 'XXX' is not allowed to connect

异常:java.sql.SQLException: null, message from server: "Host ‘XXX’ is not allowed to connect这个异常是数据库只允许localhost或127.0.0.1访问,不允许远程访问。由于本地项目无法设置SSH通道,所以需要修改数据库的访问权限。...

2019-11-01 10:58:26 5290

原创 RocketMQ4介绍及在linux服务器部署

1、JMS介绍和消息中间件1.1、JMS消息服务和使用场景解耦异步prc调用,数据源变动1.2、消息中间件常见的概念和编程模型1.3、主流消息队列和技术选型2、 RocketMQ4介绍及在Linux服务器部署2.1、RocketMQ4消息队列介绍官网:http://rocketmq.apache.org/资源:http://jm.taobao.org/2017/...

2019-10-31 22:48:05 562

原创 云服务器 源码部署php服务与nginx 的整合

简介:php服务的搭建1、PHP是一种脚本语言,常用于做动态网站的nginx适合处理静态的2、源码编译安装:2.1、安装依赖组件:yum -y install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel ncurses ncursesdevel openssl openssl-develyum install -y l...

2019-10-31 22:45:47 642

原创 云服务器 源码安装 mysql5.7.17数据库 服务器

简介:云服务器mysql数据库服务器的搭建1、mysql简介mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的一款产品,由C和C++语言编写,可移植性高。支持在多种操作系统上安装,最常见有AIX,linux,window。mysql因为开源免费,所以受到了目前互联网行业的欢 迎。以mysql作为数据库,linux系统作为操作系统,apache或者nginx作为web服务...

2019-10-31 22:43:45 371

原创 linux 下的 shell脚本 编程

1、shell编程语言的介绍简介:shell脚本的重要性与应用场景1.1、shell简介Shell是一种脚本语言,又是一种命令语言。可以通俗一点来讲,Shell脚本就是一系列命令的集合,可以在Unix/linux上面直接使用,并且直接调用大量系统内部的功能来解释执行程序把一些重复性工作交给shell做,来实现自动化运维。Shell 虽然没有C/C++、Java、Python等强大,但也支...

2019-10-31 22:42:39 354

原创 云服务器 源码部署apache网站服务器

简介:apache网站服务器的搭建1、Apache简介:Apache软件基金会的一个开源免费的网页服务器,也是目前世界上使用最广泛的一种web server ,apache最出名的 是它跨平台,高效和稳定,可以运行在几乎所有广泛使用的计算机平台上。其特点是简单、速度快、性能稳定,并可做代 理服务器来使用,并且可通过简单的 API 扩充,将 Perl/Python 等解释器编译到服务器中2...

2019-10-31 22:41:02 1443

原创 Linux 源码部署nginx网站服务器

简介:nginx网站服务器的搭建1、nginx 简介:Nginx是一款高性能的 HTTP 和反向代理服务器2、Nginx的优点:1.高并发量:根据官方给出的数据,能够支持高达 50,000 个并发连接数的响应 2.内存消耗少:处理静态文件,同样起web 服务,比apache 占用更少的内存及资源,所有它是轻量级的 3.简单稳定:配置简单,基本在一个conf文件中配置,性能比较稳定,...

2019-10-31 22:40:03 348

空空如也

空空如也

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

TA关注的人

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