我的创作纪念日 初心实战项目中的经验分享日常学习过程中的记录通过文章进行技术交流帮助同学们进步收获帮助同学们学习巩固学过的知识当做图库…日常创作应该是一种习惯生活不止编程憧憬Java领域优质创作者用Go做出更多精彩的项目进一步了解深度学习Tips您发布的文章将会展示至 里程碑专区 ,您也可以在 专区 内查看其他创作者的纪念日文章优质的纪念文章将会获得神秘打赏哦...
Windows、Linux、Mac安装配置搭建RocketMQ环境 下载RocketMQWindows下载地址:https://dlcdn.apache.org/rocketmq/4.9.3/rocketmq-all-4.9.3-bin-release.zipLinux && MacLinux或Mac可以用命令下载,一般解压放在/usr/local目录下cd /usr/localwget https://dlcdn.apache.org/rocketmq/4.9.3/rocketmq-all-4.9.3-bin-release.zipunzip
Windows 关闭指定端口的进程 查看端口占用情况 netstat -ano |findstr “9876”查看相关进程信息tasklist | findstr 11448关闭进程以下命令二选一即可,推荐第一种,指定进程号关闭taskkill /f /t /im “11448”taskkill /f /t /im “java.exe”...
自定义GitHub的WebHook 背景/介绍如果我们想利用github搭建cicd平台的话需要使用webhook,即网络钩子。它的作用是当发生一些事件的时候会向目标服务器发送一个请求,通知服务器该仓库发生了变更,具体什么粒度我们可以指定,一般push即可搭建简易服务器from flask import Flask, requestapp = Flask(__name__)@app.route("/ping")def hello_world(): return "pong!"@app.route("/rive
go tool link: fork/exec /usr/local/go/pkg/tool/darwin_amd64/link: no such file or directory 原因从MacOS 12.3 Beta版本开始,Apple不再内置python2且将无法正常安装python2,无论是intel芯片还是Apple芯片的设备都无法安装。原因是/usr/bin/python的软链接无法正常被删除或覆盖。解决办法首先你需要安装一个Python2,下载地址:https://www.python.org/downloads/release/python-2718/方法一:修改link文件将link文件的第一行修改为#!/usr/bin/env pythonsudo vim
Python中heapq堆相关方法 背景在LeetCode中,有很多题目都可以使用优先队列实现,Python中的数据结构是heapq,Python的堆是小顶堆,heap[0]永远是最小的元素,今天总结一下常用方法常用方法添加元素>>> import heapq>>> my_list = []>>> heapq.heappush(my_list,2)>>> my_list[2]删除并返回最小的元素>>> my_list[1, 1,
分布式锁用 Redis 还是 Zookeeper 什么是分布式锁在分布式架构中,Java的锁无法管理多个实例,因此需要有一个类似于统一管理锁的架构模式,即分布式锁。目前比较常见的分布式锁实现方案有以下几种:基于数据库乐观锁,如MySQL(增加字段版本标识version控制实现)基于缓存,如Redis基于Zookeeper、etcd等(ZooKeeper机制规定:同一个目录下只能有一个唯一的文件名,借助ZooKeeper的临时节点实现)例如两个订单服务,对要更新数据库的数据,如果能获取到相应的锁才能进行后续操作。分布式锁的几种实现方式基
Linux硬盘空间爆满后如何清理 背景我远程连接MySQL的时候,报错显示tmp空间没了,我进入Linux去查看查看空间占用情况df -h额,我滴麻麻呀,我一共就40G的空间,占用已经达到100%了,得赶紧清理一下查看大于100兆的文件find / -size +100M |xargs ls -lh 突然想起来了,以前想用服务器做中转站,传了15G左右的视频,然后就删了就好了rm -rf /root/learn/python/*注:du -h --max-depth=1可以查看当前文件夹大小清理日志可以看到有
SpringBoot 缓存之 @Cacheable 详细介绍 简介缓存介绍Spring 从 3.1 开始就引入了对 Cache 的支持。定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术。并支持使用 JCache(JSR-107)注解简化我们的开发。其使用方法和原理都类似于 Spring 对事务管理的支持。Spring Cache 是作用在方法上的,其核心思想是,当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存在缓存中
ZooKeeper学习笔记 为什么会有ZooKeeperhttps://zhuanlan.zhihu.com/p/69114539?utm_source=wechat_sessionZooKeeper架构https://blog.csdn.net/qq_43161674/article/details/106380609ZooKeeper命令服务端命令操作zkServer.sh start启动服务器zkServer.sh stop关闭服务器zkServer.sh status查看服务器
知识图谱构建流程与实现技术浅谈 一些预备知识结构化、半结构化与非结构化数据知识图谱的原始数据类型一般来说有三类(也是互联网上的三类原始数据):结构化数据(Structed Data):如关系数据库半结构化数据(Semi-Structed Data):如XML、JSON、百科非结构化数据(UnStructed Data):如图片、音频、视频、文本实体实体可以简单理解为一个对象,它是知识图谱最基本的单位多关系图那什么叫多关系图呢? 学过数据结构的都应该知道什么是图(Graph)。图是由节点(Vertex)和边(Edge)
如何自己设计一个扫码登录 扫码登录场景扫码登录场景想必我们都不陌生——很多PC端的网站都提供了扫码登录的功能,无需在网页上输入任何账号和密码,只需要通过手机上的APP,如微信、淘宝、QQ等等,使用扫描功能,扫描网页上的二维码,确认登录,就可以完成网页端登录。扫码登录QQ邮箱扫码登录分析我们来分析一下,扫码登录,其实涉及到三种角色,需要解决两个问题。三种角色很明显,扫码登录当中涉及到的三种角色:PC端、手机端、服务端。三端相关的设计都要围绕这三端来展开,具体的设计其实就是每一端应该完成什么功能?应该怎么实现?端和端应该
由浅入深全面解析threadlocal https://blog.csdn.net/weixin_50280576/article/details/113849450ThreadLocal介绍ThreadLocal 是什么从Java官方文档中的描述:ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程上下文。ThreadLocal 有两大作用:
synchronized原理剖析与优化 并发编程的三个问题可见性原子性有序性缓存CPU的运算速度和内存的访问速度相差比较大。这就导致CPU每次操作内存都要耗费很多等待时间。内存的读写速度成为了计算机运行的瓶颈。于是就有了在CPU和主内存之间增加缓存的设计。最靠近CPU的缓存称为L1,然后依次是L2,L3和主内存,CPU缓存模型如图下图所示:CPU Cache分成了三个级别: L1, L2, L3。级别越小越接近CPU,速度也更快,同时也代表着容量越小。1. L1是最接近CPU的,它容量最小,例如32K,速度最快,每个核上都有一个
深入浅出JWT JWT(JSON WEB TOKEN)的组成https://jwt.io/header(头部)承载两部分信息:声明类型,这里是JWT;声明加密的算法,通常直接使用 HMAC SHA256playload(载荷)就是存放有效信息的地方,这些有效信息包含三个部分:标准中注册的声明;公共的声明;私有的声明;signature(签证信息)对header+.+payload进行base64编码,然后实用签证算法和密钥加密三种认证流程基于session+cookie的认证流程用
高并发解决方案 导读优秀程序员奋斗目标:实现高并发、高性能、高可用 的“三高”分布式系统衡量高并发常用的一些指标有:响应时间:系统对请求做出的响应时间吞吐量:单位时间内能处理的请求数量QPS:系统每秒能处理多少流量TPS:系统每秒处理多少事务(查询多少数据)并发用户数:同时能承载用户正常使用系统功能的用户数量提升硬件性能CPU 从 32 位提升为 64 位内存从 64GB 提升为 256GB(比如缓存服务器)磁盘从 HDD(Hard Disk Drive)提升为 SSD(固态硬盘(Solid
Java8新特性 笔记地址:https://blog.didispace.com/books/java8-tutorial/ch1.html视频讲解:https://www.bilibili.com/video/BV1T54y1q7W2Lambda与函数式接口接口中有默认方法实现Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法。interface Formula { double calculate(int a); default double
Java定时任务解决方案 https://www.bilibili.com/video/BV1WL41147PJ从定时任务说起自然界中定时任务无处不在,太阳每天东升西落,候鸟的迁徙,树木的年轮,人们每天按时上班,每个月按时发工资、交房租,四季轮换,潮涨潮落,等等,从某种意义上说,都可以认为是定时任务。大概很少有人想过,这些“定时”是怎样做到的。当然,计算机领域的同学们可能对此比较熟悉,毕竟工作中的定时任务也是无处不在的:每天凌晨更新一波数据库,每天9点发一波邮件,每隔10秒钟抢一次火车票。。。至于怎么实现的?很简单啊,操作系
Ubuntu安装Docker并配置镜像 方法一:从Ubuntu的仓库直接下载安装安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装。$ sudo apt install docker.io$ sudo systemctl start docker$ sudo systemctl enable docker查看是否安装成功$ docker -vDocker version 17.12.1-ce, build 7390fc6方法二:从Docker仓库下载安装:这种安装方式首先要保证U