自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Janson_Lin

梦想多没好也不要忘记你手头的工作!

  • 博客(231)
  • 资源 (2)
  • 收藏
  • 关注

原创 Conda 命令

获取版本号Anaconda的安装文件都包含在一个目录中,直接将该目录删除即可。Linux系统下建议将.bashrc中的Anaconda路径也删掉上面得出的会有一个下载地址,通过下面不能直接mv,下面操作必须在base上进行)~/.condarc文件#显示目前conda的数据源有哪些#添加数据源:如清华源#删除数据源#显示目前pip的数据源有哪些# 添加#添加全局使用该数据源# 删除# 例如#搜索# 升级pip---总结pip国内的相关源14.

2024-03-29 15:41:45 542

转载 MySQL用B+树(而不是B树)做索引的原因

众所周知,MySQL的索引使用了B+树的数据结构。那么为什么不用B树呢?先看一下B树和B+树的区别。1.B树维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。B-tree算法减少定位记录时所经历的中间过程,从而加快存取速度。普遍运用在数据

2022-02-23 21:20:37 1302

转载 之前写参数校验(Validator),差点被劝退...

为什么要用validator javax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行校验 不然我们的代码就像下面这样: //http://localhost:8080/api/user/save/serial/***走串行校验**@paramuserVO*@return*/@PostMapping("/save/serial")publicObjectsa...

2022-01-07 10:24:45 368

转载 Redis到底是多线程还是单线程?

1、Redis 单线程到底指什么?没错,大家所熟知的 Redis 确实是单线程模型,指的是执行 Redis 命令的核心模块是单线程的,而不是整个 Redis 实例就一个线程,Redis 其他模块还有各自模块的线程的。下面这个解释比较好:Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为4部分:多个套接字、IO多路复用程序、文件事件分派器、事件处理器。因为文件事件分派器队列的消费是单线程的,所以Redis才叫单线程模型。2、Redi.

2021-12-06 09:34:32 721

转载 【PMP】燃起图燃尽图分析

Scrum中采用燃尽图(Burndown Chart)来直观得展现项目总体进度。它展示了时间和项目剩余总体工作量间的关系。燃尽图(burn down chart)是在项目完成之前,对需要完成的工作的一种可视化表示。理想情况下,该图表是一个向下的曲线,随着剩余工作的完成,“烧尽”至零。示例如下:燃起图(Burnup Chart),它能够直观展现项目时间与已完成的工作间的关系的一种图表,根据每天完成的story情况动态展现工作成果的曲线。因为燃起图可以区分不同角色展现工作量完成状况,更易跟踪和理解.

2021-11-25 16:09:35 6681

原创 【PMP】数据表现

适用于本过程的数据表现术包括(但不限于):流程图。流程图,也称过程图,用来显示在一个或多个输入转化成一个或多个输出的过程中,所需要的步骤顺序和可能分支。它通过映射水平价值链的过程细节来显示活动、决策点、分支循环、并行路径及整体处理顺序。图 8-6 展示了其中一个版本的价值链,即 SIPOC(供应商、输入、过程、输出和客户)模型。流程图可能有助于了解和估算一个过程的质量成本。通过工作流的逻辑分支及其相对频率来估算质量成本。这些逻辑分支细分为完成符合要求的输出而需要开展的一致性工作和非一致性工作。用于展示过

2021-11-25 14:34:04 591

转载 这篇 MySQL 索引和 B+Tree 讲的太通俗易懂

正确的创建合适的索引,是提升数据库查询性能的基础。在正式讲解之前,对后面举例中使用的表结构先简单看一下:createtableuser(idbigintnotnullcomment'id'primarykey,namevarchar(200)nullcomment'name',agebigintnullcomment'age',genderintnullcomment'gende...

2021-11-17 19:33:18 170

原创 Mac关闭电脑后,配置的环境又失效了

继昨天关闭终端后配置失效问题:Mac终端配置好的环境变量在关闭终端后失效问题今天开机后,发现配置又是失效了。这里需要执行一个命令:cat ~/.zshrc因为这里每次打开终端,回去加载这个文件我这里执行完,是没有发现有这个文件的,执行一下命令touch ~/.zshrc然后吧加载的环境的配置文件信息写入:vim ~/.zshrc#这里是加载bash_profilesource .bash_profile...

2021-11-13 10:18:25 896

原创 Mac终端配置好的环境变量在关闭终端后失效问题

配置号的环境,在关闭终端后,环境有变成not found执行下面代码echo 'source ~/.bash_profile'>>~/.bash_profile这里的.bash_profile可以是以下文件,也可以是自定义文件。a. /etc/profileb. /etc/pathsc. ~/.bash_profiled. ~/.bash_logine. ~/.profilef. ~/.bashrc...

2021-11-12 11:58:54 1365 6

原创 linux环境Mysql主从库配置

mysql主从同步定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。因为复制是异步进行的,所以从服务器不需要一直连接着主服务器,从服务器甚至可以通过拨号断断续续地连接主服务器。通过配置文件,可以指定复制所有的数据库,某个数据库,甚至是某个数据库上的某个表。使用主从同步的好处:通过增加从服务器来提高数据库的性能,在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从服务器的数

2021-11-10 14:44:26 737

转载 volatile 关键字,你真的理解吗?

volatile 的作用大家都应该知道 volatile 的主要作用有两点: - 保证变量的内存可见性 - 禁止指令重排序那么,什么是内存可见性,什么是指令重排序,以及它们涉及了那些机制呢?下面就让我们来看看吧。在这里提醒一下,各位小伙伴要有个心理准备,就一个 volatile 关键字所涉及的知识点超乎你的想象哟。可见性问题在理解 volatile 的内存可见性前,我们先来看看这个比较常见的多线程访问共享变量的例子。/** * 变量的内存可见性例子 * * @author s

2021-10-14 14:44:00 158

原创 Java线程池 ExecutorService、ThreadPoolExecutor、ScheduledThreadPoolExecutor及Executors工厂类

Java中的线程池类有两个,分别是:ThreadPoolExecutor和ScheduledThreadPoolExecutor,这两个类都继承自ExecutorService。利用这两个类,可以创建各种不同的Java线程池,为了方便我们创建线程池,Java API提供了Executors工厂类来帮助我们创建各种各样的线程池。下面我们分别介绍一下这三个类。Java线程池ExecutorService继承树:1、ExecutorService介绍ExecutorService是Java中对线.

2021-10-13 20:42:18 1671

原创 HandlerInterceptor中的preHandle、postHandle与afterCompletion

HandlerInterceptor简介拦截器我想大家都并不陌生,最常用的登录拦截、或是权限校验、或是防重复提交、或是根据业务像12306去校验购票时间,总之可以去做很多的事情。我仔细想了想这里我分三篇博客来介绍HandlerInterceptor的使用,从基本的使用、到自定义注解、最后到读取body中的流解决无法多次读取的问题。1、定义实现类定义一个Interceptor 非常简单方式也有几种,我这里简单列举两种1、类要实现Spring 的HandlerInterceptor 接口2、

2021-09-23 09:12:36 2264

转载 vue中$refs、$emit、$on的使用场景

1、$emit的使用场景子组件调用父组件的方法并传递数据注意:子组件标签中的时间也不区分大小写要用“-”隔开子组件:<template> <button @click="emitEvent">点击我</button></template><script> export default { data() { return { msg: "我是子组件中的数据" } },...

2021-09-14 14:43:30 347

原创 Linux常用命令大全(详细归纳)

这篇文章可以搭配阅读:Linux常用命令大全(单个解析)Linux常用命令大全一、系统操作相关命令1、系统信息处理arch显示机器的处理器架构uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作cat/proc/cpuinfo显...

2021-08-30 16:16:57 5868 2

原创 【NIO】Java NIO知识汇总(详细)

一、Java NIO 概述Java NIO 由以下几个核心部分组成:Channels Buffers Selectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在单独的章节中讲到。Channel 和 Buffer基本上,所有的 IO 在NIO 中都从一个Chann

2021-08-27 14:29:54 260

转载 websocket+netty实时视频弹幕交互功能(Java版)

2021年了,还有不支持弹幕的视频网站吗,现在各种弹幕玩法层出不穷,抽奖,ppt都上弹幕玩法了,不整个弹幕都说不过去了,今天笔者就抽空做了一个实时视频弹幕交互功能的实现,不得不说这样的形式为看视频看直播,讲义PPT,抽奖等形式增加了许多乐趣。1 技术选型1.1 netty官方对于netty的描述:https://netty.io/主要关键词描述:netty是异步事件驱动网络框架,可做各种协议服务端,并且支持了FTP,SMTP,HTTP等很多协议,并且性能,稳定性,灵活性都很棒。

2021-08-25 09:14:26 269

转载 【面试】Redis 都有哪些监控指标

# 监控指标 性能指标:Performance 内存指标: Memory 基本活动指标:Basic activity 持久性指标: Persistence 错误指标:Error 性能指标:Performance Name Description latency Redis响应一个请求的时间 instantaneous_ops_per_sec 平均每秒处理请求总数 hi rate(calculated) 缓存命中率

2021-08-16 15:16:07 399

原创 【面试题】RabbitMQ 面试总结

# 前言RabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。# AMQP协议核心概念 server:又称broker,接受客户端连接,实现AMQP实体服务。 connection:连接和具体broker网络连接。 channel:网络信道,几乎所有操作都在channel中进行,channel是消息读写的通道。客户端可以建立多个channel,每个channel表示一个会话任务。 message:消息,服务器和应用程序之间传递的数

2021-08-16 15:08:28 256

原创 linux搜索log文件的内容

♛ 1 less1.1 less -N 日志文件名.logless -N test.log然后输入"/context"搜索context关键字点击键盘↑ ↓可以滚动,点击 N 可以查看上一个,n可以查看下一个1.2 less详解 SUMMARY OF LESS COMMANDS Commands marked with * may be preceded by a number, N. Notes in parenthese

2021-07-27 14:32:11 2461

转载 巧用 Stream API 优化 Java 代码

使用Stream API优化代码Java8的新特性主要是Lambda表达式和流,当流和Lambda表达式结合起来一起使用时,因为流申明式处理数据集合的特点,可以让代码变得简洁易读放大招,流如何简化代码如果有一个需求,需要对数据库查询到的菜肴进行一个处理: 筛选出卡路里小于400的菜肴 对筛选出的菜肴进行一个排序 获取排序后菜肴的名字 菜肴:Dish.javapublicclassDish{privateStringname;p...

2021-07-05 10:06:55 140

原创 vm16上安装centos8不能上网

不小心从官网下载了最新的镜像文件,是centos8的然后安装完之后,不能上网解决如下:1.使用root权限 去 编辑这个文件/etc/sysconfig/network-scripts/ifcfg-ens332.修改 ONBOOT=no 为 ONBOOT=yes3.改完之后,需要重新加载一下,值得一提的是,centos8 使用nmcli来管理网卡了,重新加载方式如下sudo nmcli c reload之后就可以上网了...

2021-06-21 15:31:22 227

原创 你知道,JDK里有机器人吗

Java中Robot类位于java.awt.Robot,该类用于为测试自动化,自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件,Robot类的主要目的是便于Java平台实现自动测试。Robot可以模拟鼠标和键盘的输入,相当于Java版的按键精灵。给大家介绍下Jdk里很少用到的一个“机器人”类库-Robot。核心就是自动化;...

2021-06-08 09:59:05 188 1

转载 超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!

Python 脚本部分实例:企业微信告警、FTP 客户端、SSH 客户端、Saltstack 客户端、vCenter 客户端、获取域名 ssl 证书过期时间、发送今天的天气预报以及未来的天气趋势图;Shell 脚本部分实例:SVN 完整备份、Zabbix 监控用户密码过期、构建本地 YUM 以及上篇文章中有读者的需求(负载高时,查出占用比较高的进程脚本并存储或推送通知);篇幅有些长,还请大家耐心翻到文末,毕竟有彩蛋。Python脚本部分企业微信告警此脚本通过企业微信应用,进行微信告.

2021-06-08 09:19:46 247

转载 7 个日常实用的 Shell 拿来就用脚本实例

1、list_sys_status.sh显示系统使用的以下信息:主机名、IP地址、子网掩码、网关、DNS服务器IP地址信息#!/bin/bashIP=`ifconfigeth0|head-2|tail-1|awk'{print$2}'|awk-F":"'{print$2}'`ZW=`ifconfigeth0|head-2|tail-1|awk'{print$3}'|awk-F":"'{print$2}'`GW=`route...

2021-06-08 09:15:57 227

转载 深度解析Java 线程池的实现原理

Java 系统的运行归根到底是程序的运行,程序的运行归根到底是代码的执行,代码的执行归根到底是虚拟机的执行,虚拟机的执行其实就是操作系统的线程在执行,并且会占用一定的系统资源,如CPU、内存、磁盘、网络等等。所以,如何高效的使用这些资源就是程序员在平时写代码时候的一个努力的方向。本文要说的线程池就是一种对 CPU 利用的优化手段。线程池,百度百科是这么解释的:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大

2021-05-26 10:26:34 3117

转载 美团二面:Redis与MySQL双写一致性如何保证?

前言四月份的时候,有位好朋友去美团面试。他说,被问到Redis与MySQL双写一致性如何保证?这道题其实就是在问缓存和数据库在双写场景下,一致性是如何保证的?本文将跟大家一起来探讨如何回答这个问题。谈谈一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。 强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大 弱一致性:这种一致性级别约束了系统在写入成功后,不承诺立即

2021-05-24 10:21:36 99

转载 学一下FROM_UNIXTIME 格式化MYSQL时间戳函数,很方便

函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。语法:FROM_UNIXTIME(unix_timestamp,format)返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。根据format字符串格式化date值。下列修饰符可以被用在format字符串中:%M 月名字(January……December)%W 星期名字(S

2021-05-20 17:16:43 313

原创 SQL 语法(超级详细)

一、基本概念数据库术语 数据库(database)- 保存有组织的数据的容器(通常是一个文件或一组文件)。 数据表(table)- 某种特定类型数据的结构化清单。 模式(schema)- 关于数据库和表的布局及特性的信息。模式定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。数据库和表都有模式。 列(column)- 表中的一个字段。所有表都是由一个或多个列组成的。 行(row)- 表中的一个记录。 ...

2021-05-08 15:45:39 19803

转载 git合并分支

假如我们现在在dev分支上,刚开发完项目,执行了下列命令:git add .git commit -m '提交的备注信息'git push -u origin dev想将dev分支合并到master分支,操作如下:1、首先切换到master分支上git checkout master2、如果是多人开发的话 需要把远程master上的代码pull下来git pull origin master//如果是自己一个开发就没有必要了,为了保险期间还是pull3、然后

2021-04-26 15:33:07 144

转载 mongodb 修改用户密码 2种方法

mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。1,错误做法,直接更新表> db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly" : false,"pwd":"123"}) > db.system.users.find(); { "_id" : Object

2021-04-23 10:46:43 3199

原创 深入解析SpringAOP源码

一、认识AOP及其使用二、AOP的特点2.1 Spring AOP2.1.1 他是基于动态代理实现的Spring 提供了很多的实现AOP的方式:Spring 接口方式,schema配置方式和注解的方式. 如果使用接口方式引入AOP, 就是用JDK提供的动态代理来实现.如果没有使用接口的方式引入. 那么就是使用CGLIB来实现的研究使用接口方式实现AOP, 目的是为了更好地理解spring使用动态代理实现AOP的两种方2.1.2 Spring提供了对AspectJ的支持, 但只提

2021-04-22 14:54:50 603

原创 高并发情况下,雪花ID一秒400W个,以及分布式ID算法(详析)

背景最近在研究雪花算法,在研究同时,想了一个问题,在高并发的情况下,一秒内,雪花算法能生成多少个ID。闲话少说,开撸。https://blog.csdn.net/weixin_43876121/article/details/107744260?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242https://blog.csdn.net/lairikeq.

2021-04-22 10:22:40 3559

转载 Java中的<< 和 >> 和 >>> 详细分析

<<表示左移移,不分正负数,低位补0; 注:以下数据类型默认为byte-8位左移时不管正负,低位补0正数:r = 20 << 2  20的二进制补码:0001 0100  向左移动两位后:0101 0000       结果:r = 80负数:r = -20 << 2  -20 的二进制原码 :1001 0100  -20 的二进制反码:1110 1011  -20 的二进制补码 :1110 1100  左移两位后的补码:...

2021-04-22 09:55:45 188

原创 IDEA 中GIT拉取分支提交到分支上

一、Idea拉取Git上项目的新分支背景说明:在Git仓库手动创建了一个新的分支,本地Idea想要拉取新建的分支到本地,但是Idea分支管理里找不到所建分支,所以无法拉取新分支到本地。处理方式:项目上右键–git–Repository–fetch,依次点击,再次查看分支管理,可以看到新建的分支了。二、在Idea上新建分支提交到Git处理方式:1、Idea将代码切换到本地新建的分支2、项目上右键–git–Repository–Push,依次点击,即可...

2021-04-20 09:36:26 5111

原创 巧了!面试官问我:String 长度有限制吗?是多少?

前言话说 Java 中 String 是有长度限制的,听到这里很多人不禁要问,String 还有长度限制?是不是都懵了?答案是的有,而且在 JVM 编译中还有规范,而且有的家人们在面试的时候也遇到了。本人就遇到过面试的时候问这个的,而且在之前开发的中也真实地遇到过这个 String 长度限制的场景(将某固定文件转码成 Base64 的形式用字符串存储,在运行时需要的时候在转回来,当时文件比较大),那这个规范限制到底是怎么样的,咱们话不多说先先撸为敬。String首先要知道 String 的长

2021-04-14 09:21:08 186 2

原创 linux 自定义欢迎界面 /etc/motd文件

linux 自定义欢迎界面 /etc/motd文件这里我们可以定义一些比较关键的信息,方便后期的运维工作实现:linux 系统中 /etc/motd 文件用来存储欢迎信息 用vi编辑输入mysql 5.7jdk 1.8nginx 1.18

2021-04-11 19:37:27 807 5

原创 CentOs linux 8.2 安装mysql,Error: Unable to find a match: mysql-community-server

centos8.2安装mysql8.0时报错Error:Unable to find a match: mysql-community-server今天用yum安装mysql8.0时报错信息如下解决方法:先禁用本地的 MySQL 模块在安装即可#禁用本地sql 接着会有提示 选择Yyum module disable mysqlyum -y install mysql-community-server...

2021-04-11 19:15:36 1500

原创 【解决】MySQL8.0出现2059错误

错误使用Navicat Premium 连接MySQL时出现如下错误:原因mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password解决更改加密规则:(如果这里mysql没有配置环境变量,这里需要进入到对应的mysql80/bin中去运行)mysql -uroot -ppassword #登录use mysql; #选择数据库# 远程连接请将'localhost'换成'%'

2021-04-09 10:32:13 408

原创 带你看看GeoJSON是什么!

0.背景最近因为工作需求,要去了解一些与GIS开发相关的知识,故写此文。1.简介GeoJSON是一种对各种地理数据结构进行编码的格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。一个完整的GeoJSON数据结构总是一个(JSON术语里的)对象。在GeoJSON里,对象由名/值对--也称作成员的集合组成。对每个成员来说,名字总是字符串。成员的值

2021-04-06 14:54:25 2038

PostgreSQL数据库培训学习手册 .pdf

PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。这个手册,可以从PostgreSQL 入门到进阶。

2021-04-08

Nacos 1.2 下载windows/linux

Nacos 1.2 /linux下载太慢,可以使用这里的链接去下载

2020-06-04

空空如也

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

TA关注的人

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