自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java通过Stream的方式根据Object的某属性对List<Object>去重

oddLotList = oddLotList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(OddLot::getAccountCode))), ArrayList::new));红色字体:oddLotList --> 传入list;OddLot::getAccountCode --> 根据list.

2021-09-14 13:17:10 592

原创 Python文件中头部的 #!(shebang) 基本解释

#!是Linux中的符号,叫做Shebang或者Sha-bang Shebang通常在 Unix/Linux 系统脚本文件的第一行使用 用于指定执行该脚本的解释程序使用步骤:1.使用which查询python解释器所在路径$ which python2.修改要运行的主python文件,并在文件第一行添加一下内容#! /usr/bin/python3.增加python文件的可执行权限$ chmod +x xxxxxx.py4.在linux中执行文件./xxxxxx.py

2021-03-02 09:54:12 1849

原创 python中使用return的基础理解

return,表示一个函数的返回值,也可以单纯的回调动作没有任何返回值 return 一旦执行,其后面的代码将不会被执行,如下面代码中,一旦符合 if 条件,将执行return代码,后面的 for 以及 print 语句将不会继续执行def show_all(): """显示名片""" print("-" * 50) print("显示名片") # 判断是否有记录 if len(card_list) == 0: print("当前没有名片,请使

2021-03-01 17:11:41 1146 1

原创 python中end=““的使用

一段代码为例9*9乘法表row = 1 # 行计数器开始位置while row <= 9: # 行循环条件 col = 1 # 列计数器开始位置 while col <= row: # 列循环条件 print("%d * %d = %d" % (col, row, col * row), end="\t") # 打印乘法表,列之间用制表符分割(也可以用其他的,此处暂写制表符) col = col + 1 #

2021-02-26 10:54:02 3573 1

原创 Jenkins自动化部署docker脚本

#!/bin/bash#maven打包mvn clean packageecho 'package ok!'echo 'build start!'cd ./service_name="your-server"service_prot=your-server-port#查看镜像idIID=$(docker images | grep "$service_name" | awk '{print $3}')echo "IID $IID"if [ -n "$IID" ]then e.

2021-02-24 17:21:35 525 1

原创 Jenkins插件配置国内镜像

1、打开jenkins默认访问路径http:yourip:80802、解锁jenkins3、配置国内镜像在配置国内镜像前不要点击下图中的安装插件选项注意:配置国内的镜像官方下载插件慢 更新下载地址cd {你的Jenkins工作目录}/updates #进入更新配置位置sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenki.

2021-02-24 15:28:54 2009

原创 《算法第一步》读书感悟

第一章 认识算法广义的算法:指做一件事情/解决一个问题的方法。狭义的算法:数据结构+控制流程。(实现算法就先确定数据结构,再明确控制流程,最后实现算法)掌握算法的5个层次:1、听说:知道有这么个算法 2、了解:知道算法的原理,用自然语言描述 3、理解:知道算法的细节,数据结构和控制流程,时空复杂度 4、实现:用编程语言实现 5、应用:举一反三算法的难点在于:从概括性的原理转换为具体数据结构,一步步实现对应的控制流程。对于每个算法:我们要讲抽象原理,再将其拆解成数据结构和控制流.

2021-02-19 15:37:02 301

原创 mybatis-plus异常org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

原因:maven默认加载机制造成的问题maven加载的时候,把java文件夹中的.java格式文件进行编译,其他类型文件不会加载,如下,会报箭头处方法not found。解决方案:1、复制not found方法对应的xml文件到target文件夹中。2、把xml文件放到resource目录中3、推荐:通过配置使用(1)pom.xml中配置<!-- 项目打包时会将java目录中的*.xml文件也进行打包 --><build> <reso

2021-02-02 18:09:04 739

原创 配置npm淘宝镜像、使用npm管理项目

1、淘宝镜像NPM官方的管理的包都是从 http://npmjs.com下载的,但是这个网站在国内速度很慢。这里推荐使用淘宝 NPM 镜像 http://npm.taobao.org/,淘宝 NPM 镜像是一个完整 npmjs.com 镜像,同步频率目前为 10分钟一次,以保证尽量与官方服务同步。设置镜像地址:#经过下面的配置,以后所有的 npm install 都会经过淘宝的镜像地址下载npm config set registry https://registry.npm.taob.

2021-01-13 15:50:39 1107

原创 【浅谈】数据库设计规约

1、库名与应用名尽量一致 2、表明、字段名必须使用小写字母或数字,禁止出现数字开头 3、表名不是使用复数名词 4、表的命名最好加上“业务名称_表的作用”。如edu_teacher 5、表必须具备三个字段:id,create_time,modified_time说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。(如果使用分库分表集群部署,则id类型为verchar,非自增,业务中使用分布式id生成器)create_time, modified_time

2021-01-08 12:29:11 140

原创 【浅谈】Mybatis-plus的wrapper构建和使用

一、wapper介绍Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 QueryWrapper : Entity 对象封装操作类,不是用lambda语法 UpdateWrapper : Update 条件封装,用于Entity对象更新操作 AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda...

2021-01-08 10:25:35 3469

原创 不考虑事务隔离性所导致的问题和乐观锁

不考虑事务隔离性所导致的问题读问题:脏读:读未提交 不可重复读(读已提交):多次读取同一条数据,数据不一致 幻读:多次读取,数据总量不一致写问题:丢失更新:多人同时修改同一条数据,最后提交的数据会覆盖之前的数据。解决方案悲观锁:串行 乐观锁乐观锁当要更新一条记录的时候,希望这条记录没有被别人更新,也就是说实现线程安全的数据更新。乐观锁实现方式:取出记录时,获取当前version 更新时,带上这个version 执行更新时, set version = newVer

2021-01-07 16:00:35 188

原创 数据库主键生成策略和mybatis-plus的主键策略配置方法

主键生成策略的几种方式数据库自增:利用数据库主键自增,优点:简单、便于排序,缺点:数据库迁移需要特殊处理,分库分表难以扩展。 UUID:用程序生成UUID的形式生成主键id,优点:简单,性能好,缺点:没有排序,字符串存储,查询效率低。 Redis:Redis通过原子操作INCR和INCRBY生成id。优点:id天然排序。缺点:需要redis组件,编码配置工作量大。 Twitter的snowflake算法(雪花算法):生成一个19位的数字。使用41bit作为毫秒数,10bit作为机器的ID(5个b.

2021-01-07 14:18:04 876

原创 【日志输出】配置mybatis-plus日志输出

输出MySQL底层执行过程#mybatis日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl输出示例:Creating a new SqlSessionSqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f9270ed] was not registered for synchronization

2021-01-07 13:26:24 2015

原创 java.sql.SQLException: The server time zone value‘Öйú±ê׼ʱ¼ä‘ is unrecognized or represents more

原因分析:spring boot 2.1之后默认使用mysql8.0以上驱动配置:spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/your_schema?serverTimezone=GMT%2B8spring.datasource.username=yournamespring.datasource.password

2021-01-07 11:17:04 145

原创 【浅谈】缓存穿透、缓冲击穿、缓存雪崩

1、缓存穿透缓存穿透指缓存和数据库都没有数据,用户不断的发起请求查询该数据,这种操作会穿透缓存不断对数据库进行查询,造成数据库压力过大。代码:public Integer findPrice(Long id) { //从缓存中查询 Integer sku_price = (Integer) redisTemplate.boundHashOps("sku_price").get(id); if(sku_price==null) { //缓存中没有, 从数据

2021-01-06 10:01:30 204

原创 【浅谈】策略模式---strategy pattern(2)

1、什么是策略模式来自大话设计模式:一种定义一系列算法的方法,所有这些算法完成相同工作,只是实现的具体方式不同,策略模式使用相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。策略模式封装了变化,封装了做一件事情的不同的执行方式。只要分析过程中听到需要在不同时间应用不同业务规则,就可以考虑使用策略模式封装这种变化的可能性。简单来讲,Context的ContextInterface()方法是我们用来做的事情(例如,排序),我们做这个事情由Strategy接口来提供具体的策略,Co

2021-01-04 15:24:48 163

原创 【浅谈】到底什么是倒排索引?

倒排索引倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值 的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted fifile)。 正排索引: 转化成倒排索引: 说明: “单词ID”一栏记录了每个单词的单词编号; 第二栏是对应的单词; 第三栏即每个单词对应的倒排列表; 比如单词“

2020-12-23 15:04:05 525

原创 【浅谈】使用docker搭建Redis集群

#拉取镜像 docker pull redis:5.0.2 #创建容器docker create --name redis-node01 -v /data/redis-data/node01:/data -p 6379:6379 redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf docker create --name redis-node02 -v /data/redis-data/node0.

2020-12-23 14:49:33 293

原创 Docker安装mysql57,创建表报错[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY

1、原因mysql> select @@sql_mode;2、sql_mode含义ONLY_FULL_GROUP_BY对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。在严格模式下,不要让GROUP BY部分中的查询指向未选择的列,否则报错。NO_AUTO_VALUE_ON_ZERO该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户 希望插入的值为

2020-12-23 11:01:32 463 1

原创 Docker创建percona镜像启动不成功docker ps无运行容器问题

1、创建镜像命令docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -eMYSQL_ROOT_PASSWORD=root percona:5.7.232、分析-v /data/mysql-data:/var/lib/mysql 上述,本地文件夹和容器文件夹映射的时候,data的权限不够,不能写入数据3、解决方案chmod -R 777 /data...

2020-12-23 10:04:56 282 1

原创 【简述】Shrio的简单介绍

1、简介Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。实际上,Shiro的主要功能是管理应用程序中与安全相关的全部,同时尽可能支持多种实现方法。Shiro是建立在完善的接口驱动设计和面向对象原则之上的,支持各种自定义行为。Shiro提供的默认实现,使其能完成与其他安全框架同样的功能,这不也是我们一直努力想要得到的吗!Apache Shiro相当简单,对比Spring Security,

2020-12-18 11:06:38 409

原创 【浅谈】单例模式---singleton pattern(1)

1、什么是单例?顾名思义,一个类只有一个实例。(换而言之,就是不能被随便创建实例)2、如何保证只有一个实例?将构造方法私有化(构造方法添加 private 修饰符),使其无法使用 new 关键字创建,类自身创建一个实例,提供一个 public 方法,供外部获得该实例。3、实现代码法一:最简单方法优点:简单缺点:饿汉式加载,在类加载到内存后就会实例化,无法防止反序列化public class Singleton{ // 初始化一个实例, 使用final必须马上实例化

2020-12-16 13:36:41 108

原创 如何做一些简单的JVM调优和Tomcat优化?

1、JVM的运行参数jvm的参数类型分为三类, 分别是:1)标准参数如: -help -version2)-X参数 (非标准参数)如: -Xint -Xcomp3)-XX参数(使用率较高)如: -XX:newSize -XX:+UseSerialGC简单记住有这三种参数就可以,具体使用到具体情况下具体对待。常见的有:-Xms 和 -Xmx分别是设置 jvm 的堆内存的初始大小和最大大小。 -Xmx20...

2020-12-11 17:26:55 242

原创 JVM常用指令

指令码 助记符 说明0x00 nop 什么都不做0x01 aconst_null 将null推送至栈顶0x02 iconst_m1 将int型-1推送至栈顶0x03 iconst_0 将int型0推送至栈顶0x04 iconst_1 将int型1推送至栈顶0x05 iconst_2 将int型2推送至栈顶0x06 iconst_3 将int型3推送至栈顶0x07 iconst_4 将int型4推送至栈顶0x08 iconst_5 将int型5推送至栈顶0x09 lco...

2020-12-11 09:13:23 107

原创 TCC是什么?如何基于TCC进行分布式事务设计?

1、事务的定义 事务是指由一组操作组成的一个工作单元,这个工作单元具有原子性(atomicity)、一致性( consistency)、隔离性(isolation)和持久性(durability)------- ACID原子性:执行单元中的操作要么全部执行成功, 要么全部失败。 如果有一部分成功一部分失败那么成功的操作要全部回滚到执行前的状态。 一致性: 执行一次事务会使用数据从一个正确的状态转换到另一个正确的状态, 执行前后数据都是完整的。 隔离性: 在该事务执行的过程中, 任何数...

2020-12-08 09:49:56 3403 1

原创 CentOS 7安装和启动docker及配置ustc镜像源

Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的。在很多版本的CentOS中是不支持更新最新的一些补丁包的。​安装在CentOS中,优先使用7.x以上的版本,在CentOS6.x的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新1、yum 包更新到最新sudo yum update2、安装需要的软件包,yum-util 提供yum-config-manager功能,另外.

2020-11-11 14:03:15 379

原创 ElasticSearch报错max virtual memory areas vm.max_map_count [65530] likely too low

常见错误和解决方式1、进程虚拟内存不足报错:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]解决方式:vim /etc/sysctl.conf 添加下面内容:vm.max_map_count=6553602、线程数目不够报错:max number of threads [1024] for user [leyou] is

2020-09-18 10:35:09 348

原创 到底如何安装和配置Nginx并访问FastDFS?

1.FastDFS基本传输过程 FastDFS通过Tracker服务器将文件放在Storage服务器存储,但是同组存储服务器之间需要进入文件复制,有同步延迟的问题。 假设Tracker服务器将文件上传到了192.168.4.125,上传成功后文件ID已经返回给客户端。此时FastDFS存储集群机制会将这个文件同步到同组存储192.168.4.126,在文件还没有复制完成的情况下,客户端如果用这个文件ID在192.168.4.126上取文件,就会出现文件无法访问的错误。fa...

2020-09-17 10:41:12 363

原创 到底如何单节点安装和配置FastDFS?

1.安装gccyum -y install gcc2.安装libeventyum -y install libevent3.安装libfastcommon-masterunzip libfastcommon-master.zipcd libfastcommon-master编译并且安装:./make.sh ./make.sh install4.安装fastdfstar -zxvf FastDFS_v5.08.tar.gzcd FastDFS./make.sh

2020-09-17 10:28:49 147

原创 IDEA2020.1基于Maven开发spring cloud项目报错 程序包 com.xxx.xxx.xxx不存在

原因分析在dependency中有相应的包,但是Maven找不到,那么最根本的原因是没引入依赖通常,一个微服务开发中会创建两个子模块,一个用于写接口和实体类与其他微服务相互调用,另一个写业务逻辑插件一般以下入方式引入,但是,用这个插件可以把模块直接打成Jar包直接运行,但其无法依赖,所以微服务的一个模块引用另一个模块会报错,无法找到程序包 <build> <plugins> <plugin> <gro

2020-09-15 17:43:03 883

原创 完美解决oracle连接ORA-12514:tns、ORA-01034:Oracle not available、ORA-27102-shared memory realm does not exis

1、ORA-12514listener.ora文件中添加 (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = oracle安装目录\db_1) (SID_NAME = ORCL) )这时候会报错 ORA-01034、ORA-271022、ORA-01034、ORA-27102解决:1、lsnrctl start ,查看监听启动了没有2、如上图 SID_NAME = ORCL手动设置一下,c

2020-09-03 17:41:34 1858

原创 Ubuntu安装软件依赖包导入解决方案

sudo apt-get install aptitudesudo aptitude install 安装包

2020-09-01 14:37:20 636 1

原创 到底什么是maven私服?私服是如何搭建和使用的?

概念 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的 maven 远程仓库,每个员工的电脑上安装 maven 软件并且连接私服服务器,员工将自 己开发的项目打成jar并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)。架构私服还充当一个代理服务器,当私服上没有 jar 包会从互联网中央仓库自动下载,如下图:仓库类型nexus 的仓库有 4 种类型:1.hosted,宿主仓库,部署自己的 jar 到这个类...

2020-08-31 17:02:19 3383 1

原创 Idea中工程和模块的区别到底是什么?

工程和模块的区别1、工程是独立的,具有自己的内部资源(jar包等)。 模块不是独立的,属于某一个工程,并可以使用该工程的所有资源。2、同一个工程中的模块对于该工程是继承关系,子模块之间初始状态下没有关系。 父工程和子模块之间不用单独手动建立关系,子模块之间需要手动建立关系,各模块之间的关系称为依赖。...

2020-08-31 14:01:03 5498

原创 SpringWeb工程练习使用的maven坐标

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&.

2020-08-31 10:49:14 1103

原创 IDEA2020.1中Error:(5, 47) java: 程序包org.springframework.web.bind.annotation不存在

如下图,亲测有效

2020-08-29 10:53:09 4399 6

原创 到底在SpringMVC中前端控制器是如何工作的?

1、前端发请求到前端控制器2、前端控制器根据 @RequestMapping 注解的值找到具体方法3、执行相关逻辑并返回 success 等4、前端控制器根据返回值用使用视图解析器找到返回值对应的页面5、页面把数据返回给前端控制器6、前端控制器把页面响应给客户端...

2020-08-28 14:21:36 451

原创 IDEA常用的快捷键有哪些?

idea常用的快捷键Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动补全代码Ctrl+空格 代码提示Ctrl+Alt+Space 类名或接口名提示...

2020-08-28 12:04:45 332

原创 到底如何解决IDEA在使用骨架创建Maven工程时加载过慢的问题?

创建工程时,添加如下图所示key :archetypeCatalogvalue :internal

2020-08-28 12:02:26 266

mysql8.0.19数据库驱动jar包,亲测有效.rar

数据bai库驱动是不同数据库开发商du(比如oracle mysql等)为了某一种开发语zhi言环境(比如java)能够实现统一的数dao据库调用而开发的一个程序,他的作用相当于一个翻译人员,将Java语言中对数据库的调用语言通过这个翻译翻译成各个种类的数据库自己的数据库语言,当然这个翻译(数据库驱动)是由各个开发商针对统一的接口自定义开发的

2020-08-15

自行制作,亲测可用,yuv测试视频,420p

自行制作420p的yuv测试视频,用于开发流媒体播放器测试使用。YUV,是一种颜色编码方法。常使用在各个视频处理组件中。 YUV在对照片或视频编码时,考虑到人类的感知能力,允许降低色度的带宽。 YUV是编译true-color颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

2020-07-29

空空如也

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

TA关注的人

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