自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 JVM——类的主动使用和被动使用

REF_getStatic、REF_putStatic、REF_invokeStatic句柄对应的类没有初始化,则初始化。java.lang.invoke.MethodHandle实例的解析结果。被动使用:除以上方法,都是被动使用,都不会导致类的初始化。2、访问某个类或接口的静态变量,或对其赋值。6、虚拟机启动时表明为启动类的类。

2024-03-18 22:49:13 356

原创 JVM学习——双亲委派机制

当类加载器接收到加载类的任务时,首先会向上请求,一直请求到引导类加载器,如果引导类加载器无法加载,就会逐层返回让类加载器自己执行,最后就是调用系统类加载器,或者是线程的上下文加载器。例如自定义String类,会与系统类重复,基于双亲委派机制就会从根本上拒绝这个访问,项目无法启动,这个也叫沙箱安全机制。简而言之就是为了防止与Java固有全类名重复,而导致系统崩坏所设立的机制。主要还是为了保证安全,和类加载的唯一性。

2024-03-18 22:39:59 385

原创 JVM学习——类的加载器以及类的加载过程

在JVM中只有两种分类,分别为引导类加载器和自定义类加载器,简单来说就是C写的就是引导类,Java写的就是自定义类加载器。阶段三:解析,将class中的符号和常量池中的引用对应上,还有一些接口、字段、类方法、接口方法、方法类型等等。3、加载JDK安装目录的jre/lib/ext子目录下的类库,用户也可以将自己的类库放到这个路径下,也会被扩展类加载器加载。加载到的类信息存放在方法区中(JDK8以后改名了),此外也会存一些常量的信息,都是加载的class类中的。类加载器以及类的加载过程可分为三个阶段。

2024-03-17 23:08:39 980

原创 Nacos-Feign-Gateway

类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试一般情况下默认值就能够满足我们的日常需求,但是当面对需要自定义配置的时候,我们只要创建自定义的@Bean覆盖默认的配置就可以了。配置文件方式。

2022-10-21 21:33:40 610 1

原创 认识微服务

同时服务提供者会以30s的时间间隔向注册中心发送心跳续约,如果注册中心超时没有收到提供者的续约申请,就会从自己的信息注册表中删除对应提供者的信息,这样消费者在访问的时候就无法获取到宕机的业务的数据,也就不会产生失败的情况。比如如果服务A需要服务B的一个业务,那么服务A就是消费者,服务B就是提供者,当然也会出现连续调用的情况,服务A调用服务B,服务B调用服务C,这时,相对于不同的服务,服务B就有拥有不同的身份。注册中心用于注册服务集群中不同地点分区的服务端的业务暴露接口的地址,以便于不同业务的整合。

2022-10-20 09:41:44 211

原创 日常——二进制中1的个数

共一行,包含n个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中1的个数。给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。第二行包含n个整数,表示整个数列。0≤数列中元素的值≤109。

2022-09-20 09:34:04 145

原创 日常——判断子序列

子序列指序列的一部分项按原有次序排列而得的序列,例如序列 {a1,a3,a5} 是序列 {a1,a2,a3,a4,a5}的一个子序列。给定一个长度为 n 的整数序列 a1,a2,…,an 以及一个长度为 m 的整数序列 b1,b2,…如果 a 序列是 b 序列的子序列,输出一行 Yes。第二行包含 n 个整数,表示 a1,a2,…第三行包含 m 个整数,表示 b1,b2,…请你判断 a 序列是否为 b 序列的子序列。第一行包含两个整数 n,m。

2022-09-20 09:20:15 193

原创 日常——数组元素目标和

给定两个升序排序的有序数组A和B,以及一个目标值x。第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。请你求出满足A[i] + B[j] = x的数对(i, j)。共一行,包含两个整数 i 和 j。第二行包含n个整数,表示数组A。第三行包含m个整数,表示数组B。数组长度不超过100000。同一数组内元素各不相同。1≤数组元素≤109。

2022-09-20 09:06:49 71

原创 日常——最长连续不重复子序列

给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。第二行包含n个整数(均在0~100000范围内),表示整数序列。共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。

2022-09-20 08:52:56 146

原创 啃书:《利用python进行数据分析》第七章——数据清洗(三)

字符串操作是我们很常见的一种处理,在实际应用中,我们会经常使用到对字符串的处理,python本身就是对字符串处理非常擅长,非常多的库函数可以帮助我们解决绝大部分我们生产生活中的简单问题。对于我们学习的每一种编程语言,都会有对应的正则表达式的讲解,这都要归功于它提供了一种文本中能够灵活查找与匹配字符串模式的方法。编写正则表达式的方式是完全可以自己独立为一个大的章节的,由于网上有很多的更加详细的教程,这里就不在这里进行过多的赘述,大家可以通过网上学习很多详细的正则表达式的视频进行学习。下图是一个简要概括。

2022-09-15 21:52:19 572

原创 啃书:《利用python进行数据分析》第七章——数据清洗(二)

对数据处理的另一类重要操作则是过滤、清理以及其他的转换工作。DataFrame中出现重复行有多种原因。下面就是一个例子:DataFrame的duplicated方法返回一个布尔型Series,表示各行是否是重复行(前面出现过的行):还有一个与此相关的drop_duplicates方法,它会返回一个DataFrame,重复的数组会标为False:这两个方法默认会判断全部列,你也可以指定部分列进行重复项判断。假设我们还有一列值,且只希望根据k1列过滤重复项:duplicated和drop_duplica

2022-09-12 16:44:50 247

原创 日常——差分矩阵

输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。接下来q行,每行包含5个整数x1, y1, x2, y2, c,表示一个操作。共 n 行,每行 m 个整数,表示所有操作进行完毕后的最终矩阵。每个操作都要将选中的子矩阵中的每个元素的值加上c。接下来n行,每行包含m个整数,表示整数矩阵。请你将进行完所有操作后的矩阵输出。第一行包含整数n,m,q。

2022-08-19 19:18:14 87

原创 日常——差分数组

接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。接下来m行,每行包含三个整数l,r,c,表示一个操作。共一行,包含n个整数,表示最终序列。第二行包含n个整数,表示整数序列。请你输出进行完所有操作后的序列。输入一个长度为n的整数序列。第一行包含两个整数n和m。

2022-08-19 18:44:23 133

原创 日常——子矩阵的和

输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来q行,每行包含四个整数x1, y1, x2, y2,表示一组询问。接下来n行,每行包含m个整数,表示整数矩阵。对于每个询问输出子矩阵中所有数的和。共q行,每行输出一个询问的结果。第一行包含三个整数n,m,q。

2022-08-19 17:24:28 320

原创 日常——前缀和

接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。对于每个询问,输出原序列中从第l个数到第r个数的和。接下来再输入m个询问,每个询问输入一对l, r。第二行包含n个整数,表示整数数列。共m行,每行输出一个询问的结果。输入一个长度为n的整数序列。第一行包含两个整数n和m。

2022-08-19 14:01:31 76

原创 日常——高精度除法

给定两个非负整数A,B,请你计算 A / B的商和余数。共两行,第一行输出所求的商,第二行输出所求余数。共两行,第一行包含整数A,第二行包含整数B。

2022-08-18 18:43:26 72

原创 日常——高精度乘法

给定两个正整数A和B,请你计算A * B的值。共两行,第一行包含整数A,第二行包含整数B。共一行,包含A * B的值。

2022-08-18 18:37:06 90

原创 日常——高精度减法

给定两个正整数,计算它们的差,计算结果可能为负数。共两行,每行包含一个整数。共一行,包含所求的差。

2022-08-18 18:19:23 95

原创 日常——高精度加法

给定两个正整数,计算它们的和。共两行,每行包含一个整数。共一行,包含所求的和。

2022-08-18 18:01:44 90

原创 日常——三次方根

共一行,包含一个浮点数,表示问题的解,结果保留六位小数。给定一个浮点数n,求它的三次方跟。共一行,包含一个浮点数n。

2022-08-18 11:47:42 305

原创 日常——查询数的范围

对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。第二行包含n个整数(均在1~10000范围内),表示完整数组。给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。接下来q行,每行包含一个整数k,表示一个询问元素。如果数组中不存在该元素,则返回“-1 -1”。第一行包含整数n和q,表示数组长度和询问个数。如果数组中不存在该元素,则返回“-1 -1”。...

2022-08-18 11:42:53 117

原创 日常——逆序对的数量

逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对;用归并就可以,如果一个连续数组部分开头大于结尾,那么中间的都可以两两组合逆序对,这样从。给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。第二行包含 n 个整数,表示整个数列。第一行包含整数n,表示数列的长度。输出一个整数,表示逆序对的个数。...

2022-08-18 11:39:43 100

原创 日常——归并排序

请你使用快速排序对这个数列按照从小到大进行排序。输出共一行,包含 n 个整数,表示排好序的数列。第二行包含 n 个整数(所有整数均在。输入共两行,第一行包含整数 n。给定你一个长度为n的整数数列。并将排好序的数列按顺序输出。范围内),表示整个数列。...

2022-08-18 11:33:54 57

原创 练习——第K个数

给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。输入共两行,第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在。输出一个整数,表示数列的第k小数。范围内),表示整个数列。...

2022-08-18 11:31:36 90

原创 训练——快速排序

请你使用快速排序对这个数列按照从小到大进行排序。输出共一行,包含 n 个整数,表示排好序的数列。第二行包含 n 个整数(所有整数均在。输入共两行,第一行包含整数 n。给定你一个长度为n的整数数列。并将排好序的数列按顺序输出。范围内),表示整个数列。...

2022-08-18 11:27:43 55

原创 啃书:《利用python进行数据分析》第七章——数据清洗(一)

在数据分析和建模中,我们绝大部分的时间将会是对数据进行处理准备上:加载、清理、转换以及重塑。这些工作都会占用我们全部分析时间的80%以上甚至更多。有时,存储在文件和数据库中的数据格式不适合某些任务,许多数据分析人员会使用一些编程语言(如Python、Perl、R或者Java)或者UNIX文本处理工具(如sed或awk)对数据格式进行独立的处理。...

2022-08-14 17:59:18 261

原创 啃书:《利用python进行数据分析》第六章——数据加载(四)

对于那些非常大的无法直接放入内存的数据集,HDF5就是不错的选择,因为它可以高效地分块读写。pandas的ExcelFile类或pandas.read_excel函数支持读取存储在Excel 2003(或更高版本)中的表格型数据。之后,我会给出几个HDF5的例子,但我建议你尝试下不同的文件格式,看看它们的速度以及是否适合你的分析工作。它最适合用作“一次写多次读”的数据集。数据导入的东西有很多,这里是一个初步的学习,当我们完成了数据的读入之后我们要对数据进行一系列处理,这是我们之后要学习的内容。...

2022-08-12 18:05:27 125

原创 啃书:《利用python进行数据分析》第六章——数据加载(三)

除其空值null和一些其他的细微差别(如列表末尾不允许存在多余的逗号)之外,JSON非常接近于有效的Python代码。对象中所有的键都必须是字符串。pandas有一个内置的功能,read_html,它可以使用lxml和Beautiful Soup自动将HTML文件中的表格解析为DataFrame对象。lxml的速度比较快,但其它的库处理有误的HTML或XML文件更好。我们在日常的开发中,经常会用到JSON数据,JSON已经成为通过HTTP请求在Web浏览器和其他应用程序之间发送数据的标准格式之一。...

2022-08-11 18:59:56 321

原创 SpringBoot学习记录(三)

此时我们就可以发现,其实SpringBoot在开始的时候会把所有的写好的配置信息,全部加载进来,每个配置信息都会根据条件选择是否再进行注入生效,默认的所有配置类都有它默认的配置信息,如果有自定义的用户配置,会优先使用用户的配置,覆盖掉默认信息。当然这里的Config和Pojo是我自己创建的,大家创建的时候是没有的,其他的目录格式都是系统帮助我们完成的,而且我们学习的配置信息,也根据我们需要的场景都写入了Pom文件,我们无需再关心,非常的方便快捷。之后又读取了参数中所存在的。...

2022-08-05 11:31:33 58

原创 SpringBoot学习记录(二)

我们看这样一个配置类,这里面设计了两个Bean,其中我们的User组件依赖于下面的Car组件,当我们调用user组件的时候,会去使用第二个组件,这时如果我们的第二个组件不是单独唯一的,就会使得我们获取到的结果不唯一,此时两次创建的Car组件是不同的,这时候就会导致问题,如果我们上面的注解设置了。首先是这个基本注解类,这个类非常好理解,就是它的翻译——配置。首先@Target这个很简单,如果我们学过Java的基础知识,就会有了解,这是Java自带的注解,用于标记自定义注解的作用范围,这里的。......

2022-08-04 21:37:43 83

原创 SpringBoot2学习记录(一)

最近开始学习SpringBoot了,同步的看一下SpringBoot的一些基础代码是如何实现的,逐渐深挖每一个细节,能让我们的学习能力大步提高,在这里做一下学习记录。

2022-08-04 20:29:32 80

原创 啃书:《利用python进行数据分析》第六章——数据加载(二)

由于接收到含有畸形行的文件而使read_table出毛病的情况并不少见。read_csv所返回的这个TextParser对象使你可以根据chunksize对文件进行逐块迭代。在当我们对大文件处理时,有可能我们只想读取出其中的一小部分并逐块对整体迭代。要手工输出分隔符文件,你可以使用csv.writer。对于任何单字符分隔符文件,可以直接使用Python内置的csv模块。现在,为了使数据格式合乎要求,你需要对其做一些整理工作。TextParser还有一个get_chunk方法,它使你可以读取任意大小的块。..

2022-07-19 14:42:07 121

原创 啃书:《利用python进行数据分析》第六章——数据加载(一)

访问数据是使用本书所介绍的这些工具的第一步。我会着重介绍pandas的数据输入与输出,虽然别的库中也有不少以此为目的的工具。输入输出通常可以划分为几个大类读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用WebAPI操作网络资源。......

2022-07-19 12:04:24 301

原创 硬啃:《Deep Learning》最大似然估计

学习了很多的模型评估指标后,我们如何在合适的模型中使用合适的指标得出优秀的估计水准呢?最常用的就是最大似然估计。考虑一组含有mmm个样本的数据集X={x1,…,xm}\mathbb X=\{x^{1},\dots,x^{m}\}X={x1,…,xm},独立地由未知的真实数据生成分布pdata(x)p_{data}(x)pdata​(x)生成。令pmodel(x;θ)p_{model}(x;\theta)pmodel​(x;θ)是一族由θ\thetaθ确定在相同空间上的概率分布。简单来说,pmodel(x;θ

2022-07-11 20:38:35 291

原创 硬啃:《Deep Learning》机器学习基础篇(三)

继续紧接上文内容,接下来我们要学习统计领域的相关知识,统计领域给了我们很多工具来实现机器学习的目标,不仅可以解决训练集上的任务,还可以泛化。例如一些基本概念,估计、偏差和方差,对于正式刻画泛化、欠拟合和过拟合都非常有帮助。点估计试图为一些感兴趣的量提供一个单例“最优”预测。一般地,感兴趣的量可以是单个参数,或是某些参数模型中的一个向量参数,也有可能是整个函数。为了区分参数估计和真实值,我们习惯将参数θ\thetaθ的点估计表示为θ^\hat{\theta}θ^。令{x(1),…,x(m)}\{x^{(1)}

2022-07-11 19:18:54 229

原创 硬啃:《Deep Learning》机器学习基础篇(二)

书接上回,机器学习的基础知识大家应该有所了解,今天再继续学习几个机器学习的概念,方便以后学习的理解。机器学习算法的重点在于我们要能够在位置的数据中获得良好的结果,而不是只看在测试机中表现良好,要能够应对不同的数据输入,这种能力被称为泛化。通常情况下,我们在训练机器学习模型时候,我们往往希望能够有更少的测试误差,这些误差来源于不同的新输入的未训练的数据中,我们要考虑到这些未训练数据所占总体的概率分布。通常上我们从训练集中分裂出一部分作为测试集,通过这部分测试集来计算我们的模型训练的泛化误差(测试误差)。在

2022-07-04 16:12:13 300

原创 啃书:《利用python进行数据分析》第五章——pandas入门(三)

numpy的通用函数也可以对pandas对象操作:另一个常见的操作是,将函数应用到由各列或行所形成的一维数组上。DataFrame的apply方法即可实现此功能:这里的函数f,计算了一个Series的最大值和最小值的差,在frame的每列都执行了一次。结果是一个Series,使用frame的列作为索引。如果传递axis='columns’到apply,这个函数会在每行执行:传递到apply的函数不是必须返回一个标量,还可以返回由多个值组成的Series:排序和排名排序一直都是数据中不可缺少的部分。

2022-06-28 19:31:47 176

原创 啃书:《利用python进行数据分析》第五章——pandas入门(二)

接下来索引篇的一个难点,处理pandas的整数索引常常会难住新手,因为它与python的内置列表元组的索引方式不同。例如下面代码:是不是没什么问题?? 不,这里错了!!!这里,pandas可以勉强进行整数索引,但是会导致小bug。我们有包含0,1,2的索引,但是引入用户想要的东西(基于标签或位置的索引)很难。另外,对于非整数索引,不会产生歧义:为了进行统一,如果轴索引含有整数,数据选取总会使用标签。为了更准确,请使用loc(标签)或iloc(整数):算术运算和数据对齐pandas最重要的一个功能就是

2022-06-28 19:00:35 261

原创 啃书:《利用python进行数据分析》第五章——pandas入门(一)

通过前面几个章节的铺垫,我们对于数据处理也有了一点了解。后续主要首选是Pandas,它包含了使数据清洗和分析工作更快更简单的数据结构和操作工具。pandas经常会和其他工具一起并行使用,如上章学习到的numpy和scipy,分析库statsmodels和scikit-learn,和数据可视化库matplotlib。pandas是基于numpy建立的,特别是对基于数组的函数和不使用for循环的数据处理。虽然pandas使用了很多的numpy编码风格,但是二者最大的不同是pandas专门为处理表格和混杂数据设计

2022-06-28 18:25:42 559

原创 硬啃:《Deep Learning》机器学习基础篇(一)

深度学习已经成为了当代人类生活中不可缺少的部分,自从2006年被正式提出以来,经过十几年的发展演变,深度学习的进展在人类生活中创造了巨大的价值财富。也有更多的人希望能够从深度学习中学习到更多的知识,今天开始我从基础开始进行深度学习的系统学习。首先,需要大家有一定的基础知识的学习,其中包含线性代数、概率论与数理统计、简易数值计算等基础知识,这些知识在本科学习中都会有所学习,不清楚的可以简单回顾以下基本概念。更加熟练的基础功底,能够方便后续的知识学习。深度学习是机器学习的一个分支,我们如果要彻底的学习好深度学习

2022-06-27 14:32:11 1004 3

空空如也

空空如也

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

TA关注的人

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