- 博客(148)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
转载 【无标题】
一、服务雪崩1、定义:服务堆积在同一个线程池中,因为所有的请求都是同一个线程池进行处理,这时候如果在高并发情况下,所有的请求全部访问同一个接口,这时候可能会导致其他服务没有线程进行接受请求,这就是服务雪崩效应效应。2、原因:a.某几个机器故障:例如机器的硬驱动引起的错误,或者一些特定的机器上出现一些的bug(如,内存中断或者死锁)。b.服务器负载发生变化:某些时候服务会因为用户行为造成请求无法及时处理从而导致雪崩,例如阿里的双十一活动,若没有提前增加机器预估流量则会造服务器压力会骤然增大二挂掉。
2022-06-20 09:02:01
253
原创 HashMap的实现原理
在JDK8中,HashMap底层是采用“数组+链表+红黑树”来实现的。HashMap是基于哈希算法来确定元素的位置(槽)的,当我们向集合中存入数据时,它会计算传入的Key的哈希值,并利用哈希值取余来确定槽的位置。如果元素发生碰撞,也就是这个槽已经存在其他的元素了,则HashMap会通过链表将这些元素组织起来。如果碰撞进一步加剧,某个链表的长度达到了8,则HashMap会创建红黑树来代替这个链表,从而提高对这个槽中数据的查找的速度。HashMap中,数组的默认初始容量为16,这个容量会以2的指数进行扩容。具体
2022-06-03 17:00:00
2439
1
转载 介绍一下信号量
信号量(Semaphore),也被称为信号灯,是在多线程环境下使用的一种设施,可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。信号量是一个非负整数,所有通过它的线程/进程都会将该整数减一(通过它当然是为了使用资源),当该整数值为零时,所有试图通过它的线程都将处于等待状态。在信号量上我们定义两种操作: Wait(等待) 和 Release(释放)。当一
2022-06-03 08:26:40
271
原创 Java创建字符串对象详解
JAVA创建对象有两种方式,一种是通过字符串常量的方式创建,比如String str=“abc”,一种是字符串变量通过new形式的创建,比如String str = new String(“abc”)String str = "abc"创建过程首先在常量池中查找是否存在内容为"abc"字符串对象如果不存在则在常量池中创建"abc",并让str引用该对象(也就是创建1个对象的情况)如果存在则直接让str引用该对象(该对象是存在方法区的运行时常量池中的)(也就是创建0个对象的情况)Java中
2022-05-03 15:05:21
2659
1
原创 GC(垃圾回收,Garbage Collect)
目录1 如何确定一个对象是垃圾?1.1 引用计数法1.2 可达性分析2 什么时候会垃圾回收3 垃圾收集算法3.1 标记-清除(Mark-Sweep)3.2 标记-复制(Mark-Copying)3.3 标记-整理(Mark-Compact)4 分代收集算法5 垃圾收集器5.1 Serial5.2 Serial Old5.3 ParNew5.4 Parallel Scavenge5.5 Parallel Old5.6 CMS5.7 G1(Garbage-First)5.8 ZGC5.9 垃圾收集器分类5.10
2022-04-08 19:44:32
443
原创 运行时数据区与JVM内存模型
文章目录一、运行时数据区1.1 图解1.2 初步认识1.2.1 Method Area(方法区)1.3.2 Heap(堆)1.3.3 JVM Stacks(虚拟机栈)1.3.4 程序计数器1.3.5 本地方法栈1.4 折腾一下1.4.1 栈指向堆1.4.2 方法区指向堆1.4.3 堆指向方法区1.4.4 Java对象内存模型二、 JVM内存模型2.1 与运行时数据区2.2 图形展示2.3 对象创建过程2.4 常见问题一、运行时数据区在装载阶段的第(2),(3)步可以发现有运行时数据,堆,方法区等名词
2022-04-07 21:32:07
509
1
原创 JVM详解
文章目录一、JVM1.1 源码到类文件1.1.1 源码demo1.1.2 前期编译1.1.3 类文件(Class文件)1.1.3.1 16进制1.1.3.2 文件结构1.1.3.3 简单分析1.1.3.4 常量池分析2.2 类文件到虚拟机(类加载机制)2.2.1 装载(Load)2.2.2 链接(Link)2.2.2.1 验证(Vertify)2.2.2.2 准备(Prepare)2.2.2.3 解析(Resolve)2.2.3 初始化(Initialize)2.2.4 类加载器ClassLoader2.2
2022-04-06 21:05:30
1291
原创 Maven生命周期和插件
生命周期和插件Maven的核心概念是:坐标、依赖、仓库、生命周期以及插件Maven的生命周期是抽象的,其实际行为都是由插件来完成的1.1 何为生命周期Maven的生命周期就是为了对所有的构建过程进行抽象和统一生命周期包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建步骤,几乎所有项目的构建,都能映射到这样一个生命周期上每个构建步骤都可以绑定一个或者多个插件行为1.2 生命周期详解1.2.1 三套生命周期Maven拥有三套相互独立的生命周期,分别
2022-04-04 22:12:34
1492
原创 Tomcat服务器的下载、安装以及部署
文章目录前言一、Tomcat下载二、安装Tomcat1.解压压缩包2.配置环境变量3.启动Tomcat三、 Tomcat项目部署1.内嵌部署web项目2.外部连接web项目前言本篇文章将对于tomcat这一工具的下载、安装以及将web项目部署至tomcat上进行讲解一、Tomcat下载Tomcat的官网如下:https://tomcat.apache.org/在这里,我们选择下载的是Tomcat 9点击Tomcat 9 之后,我们就可以看见如上图所示,图中标注出来了Windows需要下载
2022-04-03 17:30:18
1634
原创 Tomcat启动出现乱码
Tomcat在启动时出现乱码的解决办法如上图所示,我们在启动tomcat时出现了乱码现象,是由于我们的编码方式导致的,修改如下配置文件即可将此处的UTF-8改为GBK即可然后重新启动tomcat此时发现不存在乱码现象了...
2022-04-02 09:02:52
2640
原创 使用Nexus创建私服
文章目录前言一、搭建私服1.配置settings.xml文件二、上传本地项目至私服1.配置pom.xml文件2.上传项目前言前面讲过了如何在Windows上下载Nexus,接下来讲讲如何使用Nexus搭建私服以及上传本地项目至私服一、搭建私服1.配置settings.xml文件如下图,我们在settings.xml中配置了如下设置,意思是本机所有的请求都会转到nexus_aliyun仓库中去注意,如果我们访问的私服需要账号和密码,参考下图,同样是在settings.xml中配置注意,id
2022-04-01 18:21:09
455
原创 Windows下安装Nexus
文章目录前言一、下载Nexus二、安装1.解压2.启动Nexus3.访问网页4.登录前言这里不再将Nexus的基本概念了,直接讲如何在Windows上安装并运行Nexus。一、下载Nexus链接如下:https://help.sonatype.com/repomanager3/product-information/download进去后直接下载window系统的,但需要挂VPN,如果没有的话,下方有链接中有链接:https://pan.baidu.com/s/1edOn2DZfwdTlC2
2022-03-31 21:07:23
8315
7
原创 Maven仓库介绍
1 何为Maven仓库任何一个依赖、插件或者项目构建的输出都可以称为构件任何一个构件都有一组坐标唯一标识Maven可以在某个位置统一存储所有Maven项目共享的构件,这个统一的位置就是仓库2 仓库的布局构件:groupId = org.testng、artifactId = testng、version = 5.8、classifier = jdk15、packaging = jar,其对应的路径按如下步骤生成基于构件的groupId准备路径,将groupId中的句号分隔符转换成路径分隔符
2022-03-30 22:01:21
2499
原创 使用Archetype生成项目骨架
什么是项目骨架?基本目录结构和pom.xml文件内容称为项目的骨架,Maven提供了Archetype以帮助我们快速构建项目骨架其实Maven为我们提供了一个快速构建项目骨架的方式,那就是archetype,下面讲讲如何使用Archetype来快速构建项目骨架Maven3,使用命令 mvn archetype:generate在本地打开cmd,输入该命令后会有一段长长的输出,然后回车选择默认的Archetype接着就会提示出现要创建项目的groupId、artifactId、ver
2022-03-29 21:41:31
299
原创 使用eclipse打包Maven项目
Maven中最重要的是POM文件,其打包也是基于该文件的,在POM文件中配置插件,可以实现将Maven项目打包成可执行jar包依赖如下:<build> <plugins> <!-- 将项目打包成可执行jar包 --> <plugin> <artifactId> maven-assembly-plugin </artifactId> <configuration> <descr
2022-03-28 20:55:18
7985
1
原创 yum命令的使用
文章目录前言一、查询功能1.安装/升级功能:yum [install|update] 软件2.移除功能:yum [remove] 软件二、yum的配置文件三、yum的软件群组功能四、全系统自动升级前言很多人都觉得自己会用yum,它就是个下载命令而已,是,也不是。yum是通过分析RPM(RPM是Linux中两大软件安装方式之一,在这里不细讲)的标头资料后,根据各软件的相关性制作出属性相依时的解决方案,然后自动处理软件的相依问题,以此来解决软件安装或移除与升级的问题。一、查询功能查询功能的语法如下:
2022-03-26 15:24:04
4756
原创 Linux 函式库管理
文章目录前言一、动态与静态函式库1.静态函式库的特点2.动态函式库的特点二、ldconfig与/etc/ld.so.conf前言函式库在Linux中是一个非常重要的项目,因为很多软件都会调用彼此的函式库来进行特殊功能的运作,函式库依据是否被编译到程序内部而分为动态和静态函式库,本文分别讲讲他们。一、动态与静态函式库1.静态函式库的特点拓展名:(拓展名为.a)这类函式库的拓展名通常为libxxx.a类型编译行为:在编译的时候会被直接整合到执行程序中,所以利用静态函式库编译成的档案会比较大
2022-03-26 11:02:33
235
原创 Linux开机过程中可能遇到的问题及解决办法
文章目录一、init 配置文件错误二、BIOS磁盘对应的问题 (device.map)一、init 配置文件错误上一篇文章讲的 root 密码挽救的方法其实可以用在很多的地方,但有一种情况无法挽救,那就是 /etc/inittab 这个档案设定错误导致的无法开机!根据开机流程,我们知道 runlevel 0~6 都会读取 /etc/inittab 配置文件, 因此你使用 single mode (runlevel 1) ,当然也是要读取 /etc/inittab 来进行开机的。那既然无法进入单机维护模
2022-03-24 20:56:13
527
原创 Linux 忘记root密码
忘记root密码的解决之道其实在Linux 环境中 root 密码忘记时还是可以救回来的!只要能够进入并且挂载 / , 然后重新设定一下 root 的密码,就救回来啦!这是因为开机流程中,若强制核心进入 runlevel 1 时, 默认是不需要密码即可取得一个 root 的 shell 来救援的。整个动作有点像这样:重新启动!一定要重新启动!在开机进入 grub 选单后, (1)在你要进入的选单上面点 ‘e’ 迚入详细设定; (2)将光棒移动到kernel 上方并点’e’ 进入编辑画面; (3)然
2022-03-24 12:08:13
1323
原创 python实现KMeans算法
话不多说,直接上代码import numpy as npimport pandas as pdclass Kmeans: """使用python实现聚类算法""" def __init__(self, k, times) -> None: """初始化方法 Parameters ---------- k:int,聚类的个数 times:int,聚类迭代的次数 """
2021-12-17 17:12:00
2354
原创 Python爬取百度疫情数据并预测未来七天及其可视化
本文采用爬虫、AR模型以及pyrcharts技术,实现从百度上取疫情数据,并将数据用于训练模型,最后将模型的预测结果可视化展示,代码如下from random import randomimport pandas as pdimport requestsimport numpy as npimport pyecharts.options as optsfrom pyecharts.globals import ThemeTypefrom pyecharts.commons.utils impo
2021-12-14 11:42:37
4020
4
原创 Python在cmd中出现pip不是内部命令
解决办法:1.cmd中切换到python安装目录,在输入命令就可以解决2.将python安装路径添加到环境变量,或者重新安装选择添加到环境变量
2021-12-09 11:07:22
698
原创 python实现KNN回归算法
话不多说,直接上代码,数据集在百度网盘中,链接如下:链接:https://pan.baidu.com/s/1gOTQ1KoKbFUmDNQYA_0nWg提取码:softimport matplotlib.pyplot as pltimport matplotlib as mplimport numpy as npimport pandas as pddata = pd.read_csv(r"C:\\Users\\不归客\Desktop\\iris.csv", header=0)# 删除不需
2021-12-09 00:00:00
2061
原创 python实现带权KNN算法并可视化展示
常见的KNN算法并不带权,或者说是所有的数据的权值都是1,而在这里实现的是带权的KNN算法,权值为距离的倒数,K值为3,代码如下import matplotlib.pyplot as pltimport matplotlib as mplimport pandas as pdimport numpy as np# 读取鸢尾花数据集,header参数来指定标题的行,默认是0,如果没有标题,参数设置为Nonedata = pd.read_csv(r"C:\\Users\\不归客\Desktop\\
2021-12-08 21:45:00
2068
原创 python实现KNN算法并可视化展示
话不多说,直接上代码,本代码采用的是鸢尾花数据集,来实现KNN算法import matplotlib.pyplot as pltimport matplotlib as mplimport pandas as pdimport numpy as np# 读取鸢尾花数据集,header参数来指定标题的行,默认是0,如果没有标题,参数设置为Nonedata = pd.read_csv(r"C:\\Users\\不归客\Desktop\\iris.csv", header=0)# 随机抽取一定的
2021-12-08 17:06:06
1570
转载 机器学习 11 种经典时间序列预测方法
文章目录一、时间序列预测方法二、用法讲解及python程序1.AR2.MA3.ARMA4.ARIMA5.SARIMA6.SARIMAX7.VAR8.VARMA9.VARMAX10.SES11.HWES一、时间序列预测方法1.Autoregression (AR)2.Moving Average (MA)3.Autoregressive Moving Average (ARMA) 4.Autoregressive Integrated Moving Average (ARIMA)5.Seaso.
2021-11-25 22:19:20
6634
转载 机器学习之EM算法
文章目录前言一、 EM算法1.1 问题描述1.2 EM 算法总结前言EM算法是机器学习中常用的一种算法,说是算法,其实更像是一种思想。EM算法分为两步,E、M,E是做期望,M是求解参数模型。一、 EM算法1.1 问题描述1.2 EM 算法总结上面的学生属于男生还是女生我们称之为隐含参数,女生和男生的身高分布参数称为模型参数。EM 算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含参数(EM 算法的 E 步),接着基于观察数据和猜..
2021-10-28 16:59:08
633
1
转载 一文看懂集成学习
文章目录前言一、什么是集成学习?二、方法1.Bagging1.具体过程:2.举例:2.Boosting1.具体过程2.举例三、Bagging 和 Boosting 的4 点差别前言在机器学习中,我们讲了很多不同的算法。那些算法都是单打独斗的英雄。而集成学习就是将这些英雄组成团队。实现“3 个臭皮匠顶个诸葛亮”的效果。本文将介绍集成学习的 2 种主要思路:bagging、boosting。一、什么是集成学习?集成学习归属于机器学习,他是一种「训练思路」,并不是某种具体的方法或者算法。现实生活
2021-10-24 19:38:14
793
转载 MySQL 5.7.27详细下载安装配置教程
MySQL 5.7.27 详细下载安装配置教程前言在安装MySQL的时候会遇到很多问题,博客上有很多解决问题的办法,在这里我附上一些链接,遇到问题的朋友们可以阅读参考哈~本文主要针对于刚接触数据库的小白,来安装MySQL数据库。目前官网上的MySQL版本有5.5,5.6,5.7和8,在开发的时候我们一般要选择比最新版低1到2个版本的,因此我选择了5.7作为要安装的数据库1.下载步骤访问官方网站:https://www.mysql.com/选择Downloads下的Community2.下载对应
2021-09-17 21:17:11
1007
原创 2021数学建模B题及思路
乙醇偶合制备 C4 烯烃C4 烯烃广泛应用于化工产品及医药的生产,乙醇是生产制备 C4 烯烃的原料。在制备过程中,催化剂组合(即:Co 负载量、Co/SiO2 和 HAP 装料比、乙醇浓度的组合)与温度对 C4 烯烃的选择性和 C4 烯烃收率将产生影响(名词解释见附录)。因此通过对催化剂组合设计,探索乙醇催化偶合制备 C4 烯烃的工艺条件具有非常重要的意义和价值。某化工实验室针对不同催化剂在不同温度下做了一系列实验,结果如附件 1 和附件 2 所示。请通过数学建模完成下列问题:(1) 对附件
2021-09-13 08:45:33
3304
原创 2020年数学建模国赛C题
2020年数学建模国赛C题题目:在实际中,由于中小微企业规模相对较小,也缺少抵押资产,因此银行通常是依据信贷政策、企业的交易票据信息和上下游企业的影响力,向实力强、供求关系稳定的企业提供贷款,并可以对信誉高、信贷风险小的企业给予利率优惠。银行首先根据中小微企业的实力、信誉对其信贷风险做出评估,然后依据信贷风险等因素来确定是否放贷及贷款额度、利率和期限等信贷策略。某银行对确定要放贷企业的贷款额度为10100万元;年利率为4%15%;贷款期限为1年。附件1~3分别给出了123家有信贷记录企业的相关数据、30
2021-08-12 21:57:42
10589
2
原创 XPath常用规则
XPath,全称是XML Path Language,即XML路径语言,是一门在XML文档中查找信息的语言。最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索,所以完全可以使用XPath来做相应的信息抽取。表达式描述nodename选取此节点的所有子节点/从当前节点选取直接子节点//从当前节点选取子孙节点.选取当前节点…选取当前节点的父节点@选取属性文本获取我们可以使用XPath中的text()方法获取节点中的文本,用法如下
2021-07-14 08:45:37
1140
原创 多目标粒子群算法
多目标粒子群算法,简称PSO算法,它的基本概念源于对鸟群觅食行为的研究。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。最简单有效的策略?寻找鸟群中离食物最近的个体来进行搜素。如下是PSO算法的python实现import numpy as npfrom sko.PSO import PSOimport matplotlib.pyplot as pltfrom matplotlib.animation import
2021-07-13 21:07:23
1770
在linux下,使用mongo-connector将mongodb的数据传输至es
2023-03-24
编译型语言、JIT、AOT相关定义
2022-04-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人