- 博客(160)
- 资源 (7)
- 收藏
- 关注
原创 阿里巴巴25校招内推
内推投递链接:http://aidc-jobs.alibaba.com/campus/qrcode/home?code=Mx8ppk_s4MjkOFnb6XS3Vw%3D%3D
2024-08-17 11:04:57 264
原创 Session,Cookie,Headers,Token,公参都是些啥
背景知识:首先,互联网应用大多使用http协议,而HTTP是无状态(stateless)协议。什么是无状态:就是每一次通信都不会保留本次回话的信息,常说鱼的记忆只有七秒,http的记忆是0秒。但是大多数应用都是需要保留每次的会话信息的,所以就有了cookie和session。他们是用来保持HTTP连接状态的技术。
2022-11-05 16:42:14 1588 1
原创 Minikube采坑记录
[root@VM-16-14-centos bin]# minikube start* Centos 7.8.2003 上的 minikube v1.13.0* Automatically selected the docker driver* The “docker” driver should not be used with root privileges.* If you are running minikube within a VM, consider using --driver=no
2022-10-30 16:51:51 819
原创 MongoDB分别如何接入到python(FastApi),java(spring)中
docker-安装mongodb,使用docker-compose容器编排,这里贴有详细的脚本可直接使用。mongodb如何在python中接入,已经相关的crud操作。还有mongodb在java中的引入,这里都有详细的介绍
2022-10-30 16:48:43 858
原创 基于官方自行实现的sentinel-dashboard持久化到Zookeeper、Nacos、Apollo
sentinel是由阿里开源的,一款广泛流行的限流软件。官方提供的sentinel-dashboard(sentinel的操作控制台)非常便捷,但比较可惜的是官方在已经开发的版本中仅集成了基于内存的实现,一旦项目重启,原先的配置就失效了。对于持久化的实现在官方代码的test目录中有所示例介绍,但是需要开发者进行二次开发,所以这里基于网上其他的一些大佬的代码,实现了下面的直接集成zookeeper,nacos,apollo持久化话的控制台。并且提供了对应的docker镜像,可以直接部署使用。
2022-10-25 20:10:02 912
原创 锁系列三:分布式锁之redis实现、zookeeper实现
分布式锁几乎是在微服务架构下的标配。在前面的系列已经讲过如何通过redisson实现分布式锁(redisson本身已经封装好了,开箱即用),不过得引入redisson的依赖,这里将配合lua脚本自行实现redis的分布式锁。同时还将实现zookeeper版的分布式锁。
2022-10-25 19:50:40 1018
原创 mybatis-plus与代码生成器
mybatis-plus是在mybatis的基础上做了一些改进和简化,方便更加快速进行代码开发。mybayis-plus提供了专门的代码生成器,可以帮助一键生成数据库实体entity,mapper,mapper.xml,service,controller等所有代码,可以极大的提升代码开发效率。下面是参考官方的文档,编写的一个现成可用的生成器。
2022-10-25 19:31:06 954
原创 定时任务框架xxl-job的Docker部署与接入方法
1.原理与介绍:官方文档2.部署首先你需要有一个mysql的数据库,关于数据库的创建这里不做介绍,本地通过任何方式创建均可。创建完成后需要创建对应的库和表,这里的库名定义为xxl_job(可以修改,注意和下面的docker-compose.yml文件中的配置保持一致)对应的数据库文件在:https://github.com/xuxueli/xxl-job/blob/master/doc/db/tables_xxl_job.sqldocker-compose.yml文件如下注意替换上面连接的数据库的账号
2022-10-03 10:58:46 5248
原创 配置中心系列二:Nacos的接入与使用(配置中心+注册中心)
nacos是一款优良的,集服务注册与发现和配置于一体的软件系统,即可以作为注册中心也可以作为配置中心。由于官方介绍非常完善,所以这里仅介绍具体的搭建和接入方式。
2022-10-02 17:50:19 2555
原创 注册中心系列二:Consul的接入与使用
consul主要有server和client两种组件组成。server负责核心数据的存储和处理请求,server可以部署多个实例(通常推荐3-5个),server只有一个实例是leader实例,就是主节点,主节点是自动选举产生的,主节点负责处理数据的写入处理,同时将数据同步至其他server节点。client负责跟server通信,处理转发服务注册、服务发现请求到server节点,client还负责服务的健康检查,client节点也可以部署多个实例,甚至每个微服务节点都部署一个client实例。
2022-10-02 17:16:46 1474
原创 注册中心系列一:Eureka的接入与使用
从组件功能看黄色注册中心集群,分别部署在北京、天津、青岛机房;红色服务提供者,分别部署北京和青岛机房;淡绿色服务消费者,分别部署在北京和天津机房;北京机房部署了注册中心、服务提供者和服务消费者;天津机房部署了注册中心和服务消费者;青岛机房部署了注册中心和服务提供者;组件调用关系服务提供者启动后,向注册中心发起register请求,注册服务在运行过程中,定时向注册中心发送renew心跳,证明“我还活着”。停止服务提供者,向注册中心发起cancel请求,清空当前服务注册信息。
2022-10-02 17:03:41 1861
原创 配置中心系列一:SpringCloud Config的接入与使用
Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。
2022-10-02 15:06:38 692
原创 策略模式的java实现-实际应用场景进阶版
在APP中有很多广告位展现,比如Banner,胶囊位,顶通广告,侧边栏广告,开机广告,弹窗广告等各种广告位。这么多位置的展现方式或许有所区别,但都基本是一个图片+点击跳转的链接。所以可以采用策略模式,对于不同的位置的广告走不同的策略透出,对于指定位置增加特殊字段的解析和设置。
2022-10-02 11:28:23 1480
原创 Linux-shell常用运维指令
ps命令将某个进程显示出来grep命令是查找中间的**|**是管道命令 是指ps命令与grep同时执行ps是LINUX下最常用的也是非常强大的进程查看命令grep命令是查找,是一种强大的文本搜索工具字段含义如下:UID :程序被该 UID 所拥有PID :就是这个程序的 IDPPID :则是其上级父程序的IDC :CPU使用的资源百分比STIME :系统启动时间TTY :登入者的终端机位置TIME :使用掉的CPU时间。CMD :所下达的是什么指令。
2022-09-13 19:03:54 602
原创 ElasticSearch内容详讲
Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库基础之上。Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—无论是开源还是私有。ES使用 Java 编写的,它的内部使用 Lucene 做索引与搜索。特点一个分布式的实时文档存储,每个字段可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据非常好的教程推荐:https://www.tizi365.com/archives/590.html。
2022-09-13 18:55:38 572
原创 锁系列一:有哪些锁机制?
Exclusive(独占):只有一个线程能执行,如ReentrantLock。公平锁:按照线程在队列中的排队顺序,先到者先拿到锁非公平锁:当线程要获取锁时,无视队列顺序直接去抢锁,谁抢到就是谁的Share(共享):多个线程可同时执行,如Semaphore/CountDownLatch。Semaphore、CountDownLatch、 CyclicBarrier、ReadWriteLock的Read锁。不同的自定义同步器争用共享资源的方式也不同。
2022-09-12 18:03:00 384
原创 java-文件与IO操作详讲
long lastModified():返回当前文件最后一次被修改的时间。boolean isAbsolute():判断当前路径是否为绝对路径。boolean isHidden():判断当前文件是否是一个隐藏文件。boolean isDirectory():判断当前文件是否为目录。boolean isFile():判断当前文件是否为一个标准文件。boolean exists():判断文件或目录是否存在。String getName():返回文件或目录的名称。long length():返回当前文件的长度。
2022-09-12 17:57:26 485
原创 AOP、IOC、注解、反射
IOC(控制反转)就是依赖倒置原则的一种代码设计思路。就是把原先在代码里面需要实现的对象创建、对象之间的依赖,反转给容器来帮忙实现。所谓的 IoC 容器就是指的 Spring 中 Bean 工厂里面的 Map 存储结构(存储了 Bean 的实例)。注意,只有一个值的时候,使用value,在赋值时可以忽略,但其他的单词是不行的,这是一个不成文的规定。
2022-09-12 17:53:14 724
原创 docker-compose安装zookeeper集群与kafka
kafka的安装依赖于zookeeper,所以这里将通过docker-compose先安装zookeeper集群,并通过zkui作为可视化面板进行查看,然后安装单机kafka,并注册到zk集群上。同时,通过开源软件kafka-ui作为可视化面板进行监控和操作。
2022-09-12 17:45:03 1214
原创 释放linux缓存 echo 1 > /proc/sys/vm/drop_caches
购买的云主机(1核2G,Debian系统)安装了docker。docker中运行着六七个服务(包括几个微服务项目和mysql,redis,nginx等),之前启动一直好好的,偶尔一天,不知什么原因,系统需要重启,当我手动启动docker的时候,几秒钟的时间内存和cpu立马撑爆了,并且服务器处于假死或者说宕机状态。也无法登录,连云厂商的后台监控都丢失了cpu和内存的监控数据。服务器重启之后,正常,但是只要一启动docker就再次假死,怎么回事?之前一直好好的呀进过多次重启尝试无果后,仔细查看了一下内存 发现
2022-06-11 13:09:44 6405
原创 快速查看maven,jar包依赖关系——maven tree与jar tf
在之前的log4j,fastjson等问题漏洞排查过程中,需要对每一个项目的依赖进行排查,如何知道并确定jar包的依赖顺序并快速排查,解决问题后又如何在服务器上进行验证。maven dependency:treejar tf jar包名称...
2022-06-04 11:37:15 7637
原创 通过bash,命令行直接ssh登录服务器,scp上传文件到远程服务器
ssh登录服务器 `ssh -p远程登录端口 登录用户名@服务器ip` ssh -p22 root@1.1.1.1一般的,对于云服务器,默认都是使用的22端口进行远程登录,只需要修改为自己的登录账户和服务器ip就好了2.scp上传本地文件到服务器` scp [本地文件名称a.txt] [登录服务器的用户名]@[服务器ip]:[远程服务器目录/root]`scp Python-2.6.tgz root@1.1.1.1:/root
2022-04-12 21:59:02 1952
原创 类加载器与垃圾回收机制
目录索引1.类加载器1.1类生命周期1.2三种类加载器1.3类加载的特性1.3.1类不会重复加载1.3.2双亲委派机制1.3.3沙箱安全机制2.垃圾回收机制2.1概念2.2jvm运行时区方法区堆内存虚拟机栈本地方法栈程序计数器2.3堆内存空间2.4垃圾收集算法2.5垃圾收集器
2022-04-07 08:42:14 2064
原创 锁系列二:利用Redisson实现分布式锁-集群、单机
redisson作为一个简单的高度封装的工具,可以帮助轻松实现分布式锁,处理各种资源抢占问题
2022-04-06 19:28:47 2214
原创 锁系列三:优雅的通过数据库行锁代替Redis实现分布式锁
当系统有一个时间较长的同步任务执行时,不能有其他线程重复去执行这个任务,因此需要用到锁,由于是集群应用,所以只能是分布式锁。分布式锁比较常见的方式都是借助一个中间件实现的,比如zookeeper锁,redis锁。但是这样的话会额外映入一个组件,并不是很划算。一般系统会用到redis,所以使用redis锁的会比较常见,但是redis并非完全可靠,所以也不是特别好。所以这里使用数据库(mysql)实现一种基于行锁的简单优雅的实现方式。
2022-04-06 16:12:38 2604
原创 @SpringBootApplication与springboot启动原理
@SpringBootApplication用于标识springboot的启动类,是整个系统的个启动入口。他所做的事情主要有两个。分别是自动导入配置包,加载bean到容器中去。如下图:@SpringBootConfiguration@EnableAutoConfiguration //这个注解是核心@ComponentScan@EnableAutoConfiguration这个核心注解里面又有两个核心注解,而最终起作用的是两个类。该注解下一个是@AutoConfigurationPack
2022-03-27 16:34:11 790
原创 设计模式——单例模式
单例模式的六种写法|实现方式|是否线程安全 | 是否懒加载| 实现难度 | 是否被反射破坏| 性能| 推荐程度|| 懒汉模式 | 否 | 是 | 易| 是| 优| 不推荐|| 懒汉模式-加锁 | 是 | 是| 易| 是|差|不推荐|| 饿汉模式 | 是 | 否 | 易|是 |优|推荐|| 双重检验锁 | 是 | 是 | 较复杂| 是|良|推荐|| 静态内部类 | 是 | 是| 一般|是 |优|要求延迟加载时使用|| 枚举 | 是 | 否| 一般
2022-03-27 15:45:10 3705
原创 Cassandra入门学习
一.概要介绍Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。1.Cassandra特点弹性可扩展性 - Cassandra是高度可扩展的; 它允许
2022-03-20 10:40:51 1931
原创 maven命令解释
部分命令解释mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。mvn clean deploy依次执行了clean、resources、compile、testResources、
2022-03-19 16:31:25 473
原创 JVM参数中的 -、-X、-XX、-D、-Javaagent:
一.JVM 启动参数规则:-、-X、-XX、-D参考:https://blog.csdn.net/liujianyangbj/article/details/115215680通过JVM运行一个java程序的时候,我们通常会用java -jar xxxx.jar 的命令,我们通常都会根据情况配置很多的运行参数。这些参数可以分为四类:1.以 - 开头的是标准参数,所有JVM都支持,并且向后兼容-verbose:gc -server2.以 -X开头的为非标准参数,绝大多数都是控制JVM的参数-X
2022-03-19 16:01:54 2322
原创 win10 安装 GPU版TensorFlow
WIN10安装CUDA9+CUDNN+TENSORFLOW1.9.0安装环境:笔记本电脑win10专业版操作系统 + 1050显卡,安装CUDA9
2022-03-12 14:31:25 1839
原创 设计模式入门推荐
设计模式是软件工厂领域,软件开发过程中非常重要的一种方法论,下面推荐两个个人觉得非常好的设计模式学习教程的网站,真的讲的非常好,非常详细,个人后面的文章也都是参考这两处资料。
2021-12-12 16:57:28 474
原创 log4j2的核弹级bug排查与验证过程
Apache Log4j2 的 Java JNDI 注入漏洞:当程序将用户输入的数据记入日志时,攻击者通过构造特殊请求,来触发 Apache Log4j2 中的远程代码执行漏洞,从而利用此漏洞在目标服务器上执行任意代码。问题复现过程,以及相关原理,还有修复建议如下
2021-12-11 15:17:08 4428
转载 GIT统计代码量及IDEA Statistic统计解析
GIT统计代码量Git统计个人提交代码行数git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total
2021-10-30 14:40:21 1034
docker学习笔记.zip
2020-08-03
软件质量测试,思维导图,知识点汇总
2020-06-28
一个简单的爬虫编写模板
2020-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人