- 博客(90)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【面试】泛型的类型擦除
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。前言–Java 泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,但有一点需要注意:Java 的泛型在编译器有效,在运行期被删除,也就是说所有泛型参数类型在编译后都会被清除掉,看下面一个列子,代码如下:public class Foo { public void listMethod(List<String> stringList){ } public void listMethod(.
2021-02-20 17:06:42
2642
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【面试】JVM类加载机制
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。JVM类加载机制类加载器虚拟机设计团队把加载动作放到JVM外部实现,以便于引用程序决定如何获取所需的类,JVM提供了三种类加载器启动类加载器Bootstrap ClassLoader,负责加载JAVA_HOME\lib目录中的,或通过-Xbootclasspath 参数指定路径下的,且被虚拟机认可(按文件名识别,如tr.jar)的类扩展类加载器Extension ClassLoader,负责加载JAVA_HOME\lib\ext目录中.
2021-02-20 16:58:42
2548
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【面试】集群高并发情况下如何保证分布式唯一全局Id生成
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。问题为什么需要分布式全局唯一ID以及分布式ID的业务需求在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识,如在美团点评的金融、支付、餐饮、酒店猫眼电影等产品的系统中数据逐渐增长,对数据库分库分表后需要有一个唯一ID来标识一条数据或信息;特别Ian的订单、骑手、优惠券都需要有唯一ID做标识此时一个能够生成全局唯一ID的系统是非常必要的ID生成规则部分硬性要求全局唯一趋势递增在MySQL的InnoDB引擎中使用的是聚.
2021-02-20 09:49:18
2654
原创 【问题集】Vue安装依赖报错:checking for Python executable “python“ in the PATH
报错信息:checking for Python executable “python” in the PATH解决办法:安装cnpm 使用cnpm来安装依赖npm install cnpm -g --registry=https://registry.npm.taobao.orgcnpm install
2021-04-22 10:21:54
899
原创 【运筹学】线性规划的标准形式
线性规划的案例我们人体每天需要一定量的两种维生素,VcV_cVc和VbV_bVb.假设这些维生素可以从牛奶和鸡蛋中得到需求确定每天喝奶的量x和吃蛋的量y.目标是以最低的可能的花费购买这些食物,而满足最低限度的维生素需求量。可以得到如下的数学形式:Min3x+2.5yMin 3x+2.5yMin3x+2.5y 极小化目标函数s.t2x+4y>=40s.t 2x+4y>=40s.t2x+4y>=40 可行区域3x+2y>=503x+2y&
2021-04-15 13:24:22
6817
原创 【问题集】npm ERR! code EINTEGRITY 解决方案
删除package.lock.json文件(备份一下也可)npm cache clean --force (会有警告提示,忽略即可)npm i 重新安装
2021-03-16 15:19:42
847
原创 【问题集】安装mysql Install/Remove of the Service Denied!错误的解决办法
问题:在windows下安装mysql被拒绝解决办法打开cmd.exe程序的时候选择“用管理员身份打开”。
2021-03-16 10:25:04
286
原创 【面试】java并发面试题
面试题整理,持续更新中。1、并发编程三要素?(1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。(2)可见性可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。(3)有序性有序性,即程序的执行顺序按照代码的先后顺序来执行。2、实现可见性的方法有哪些?synchronized 或者 Lock:保证同一个时刻只有一个线程获取锁执行代码,锁释放之前把最新的值刷新到主内存,实现可见性。3、.
2021-03-12 17:43:53
138
原创 【面试】面试必问之jvm与性能优化
面试题整理,持续更新中。1. 描述一下 JVM 加载 Class 文件的原理机制?在面试java工程师的时候,这道题经常被问到,故需特别注意。Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊的用法,像是反射,就需要显式的加载所需要的类。Java类的加载是动态的,它并不会一次性将所有类全部加载后再运行,而是保证程序运行的基础类(像是.
2021-03-12 17:38:34
289
原创 【人工智能算法】受大自然启发的算法之交叉和突变
本文要点:演化算法;拼接交叉;重复基因;改组突变;扰动突变。演化算法有许多,并且大多数算法都利用演化算子,例如适应度函数、选择、精英、交叉和突变。根据你选择的演化算法,这些演化算子的实现会有所不同。遗传算法(Genetic Algorithm,GA);遗传编程(Genetic Programming,GP);基于人的遗传算法(Human Based Genetic Algorithm,HBGA);粒子群优化(Particle Swarm Optimization,PSO);蚁群优
2021-03-12 16:40:29
936
1
原创 【人工智能算法】受大自然启发的算法之种群、计分和选择
本文重点:种群精英计分选择选择算法的可伸缩性理解种群种群即居住在一个地方的一群特定种类的人或动物。在机器人工智能中,种群是解决问题的一组潜在方法,这些潜在解属于同一种类,因为他们解决相同的问题。有时候,解种群中的成员将分为不同的物种,但是仍然将这些成员归为同一种群。初始种群种群规模通常不会随着演化算法的发展而改变。种群规模是一个硬性限制。例如,如果你指定500个人,那么总会保持500个人。我们创建一个初始种群,其计数等于该种群规模,构成初始种群的初始潜在解将被随机生成。这些最初的随机解
2021-03-12 11:19:28
2194
原创 【人工智能算法】算法基础之线性回归
本文重点:线性回归广义线性模型 (Generalized Linear Model, GLM)链接函数(link function)线性回归线性回归的宗旨是构建一个相对比较简单的线性模型,将输入映射为输出。对x和Y两个变量,很容易写出它们对应的线性函数:Y=mx+b,m为斜率,b为截距。该函数之所以被称为“线性函数”,是因为其函数图像画出来就是一条直线。在同一个坐标系下,曲线代表的则是非线性函数。一个线性回归模型只对应一个变量即称“单变量的”。单变量回归模型一个常见的示例就是鞋码和身高的对应关
2021-03-10 11:19:40
1224
原创 【人工智能算法】算法基础之离散优化[旅行商问题 背包问题]
本文重点:离散VS连续旅行商问题背包问题旅行商问题旅行商问题(Traveling Salesman Problem, TSP)是一个难以用传统迭代算法求解的NP困难问题,因此经常用模拟退火算法来解决,同时旅行商问题也是最著名的计算机科学问题之一。旅行商问题简要说明旅行商问题描述的是有一个旅行商,在指定的多个城市中,从任意城市开始,要分别经过其他城市并最终回到起点城市,求解其最短路径的方案,其中除起点城市外的其他城市能且只能经过一次。旅行商问题还有好些个变体,其中有些变体允许多次经过同一城市
2021-03-10 10:44:19
1554
原创 【python日用】for表达式[列表推导式]
for表达式语法格式[表达式 for 循环计数器 in 可迭代对象]可以看出与普通for循环的区别有两点:在for关键字之前定义一个表达式,该表达式通常会包含循环计数器for表达式没有循环体,因此不需要冒号for表达式最终返回的是列表,因此for表达式也被称为列表推导式a_range = range(10)a_list = [x*x for x in a_range]#对a_range进行迭代 由于a_range包含10个元素,因此a_list同样包含10个元素print(a_list
2021-03-10 09:05:12
956
原创 【人工智能算法】算法基础之优化训练
本文重点:爬山算法模拟退火算法Nelder-Mead算法爬山算法爬山算法实现起来比贪心随机算法要复杂一些,但贪心随机算法的劣势之一在于无法进行细调。使用贪心随机算法时,以一个随机生成的向量值作为长期记忆,一旦找到表现更好的随机向量,立刻替换原来的长期记忆,而无法通过细调来得到可能就在附近的最优解,只能听天由命。爬山算法则是在当前向量值的基础上进行细调,是名副其实“爬山”的过程。假设你被随机扔在崇山峻岭的某个半山腰,而你的目的是爬到附近区域的最高峰,你肯定会看看自己附近一步以内的位置,看看哪个
2021-03-09 17:36:25
860
1
原创 【人工智能算法】算法基础之迈向机器学习
本文重点:多项式拟合贪心随机训练径向基函数径向基函数网络模型多项式系数所谓多项式,其实就是由变量和常系数组成的数学表达式,其中的运算只有加法、减法、乘法和正整数的幂运算比如f(x)=2x2+4x+6f(x)=2x^2+4x+6f(x)=2x2+4x+6接受一个值x,返回一个值y,输入、输出向量的大小均为1,式中三个系数分别为:2,4,6。其中,各系数均乘以变量x的幂项,系数2乘以x的平方,系数4乘以x,系数6则乘以x的0次幂,也就是常数1,表现出来就是一个单纯的常数项。上述函数的3个系
2021-03-09 16:38:42
193
原创 【人工智能算法】算法基础之误差计算
本文重点:监督学习方差和误差(Sum of Squares Error, SSE)均方误差(Mean Squares Error, MSE)方均根误差(Root Mean Squares, RMS)数据集对于监督学习来说,误差计算非常重要,监督学习的训练集由成对的向量构成,其中输入向量与其预期输出向量一一对应。方差和误差方差和误差(SSE)是一种相当简单的误差计算方法,在部分机器学习算法中得以应用。一个很高的方差和意味着预期输出与实际输出之间存在很大的差异,训练算法的原理实际上就是减小方
2021-03-09 11:38:10
2353
原创 【离散数学】集合论基础
什么是集合?集合 是由指定范围内的满足给定条件的所有对象聚集在一起构成,每一个对象称为这个集合的元素。外延公理 + 空集存在公理 + 无序对公理 + 并集公理 + 幂集公理 + 无穷公理 +替换公理 + 正则公理 + 选择公理。(ZFC 公理化集合论)例子:1 所有英文字母2 所有小于 100 的正奇数3 中国所有的残疾人4 世界上所有的数学家5 某植物园的所有植物6 天安门广场所有的路灯和树集合的符号表示集合的数学符号通常情况下用带或不带下标的大写英文字母表示集合: A,B,
2021-03-08 13:08:54
1769
原创 【人工智能算法】算法基础之K均值聚类算法
本文重点主要有:聚类质心非监督训练K均值算法理解训练集多组观测值通常被划分为称作“训练集”的大型集合,这些数据都被用于训练机器学习算法。“训练”指的是通过调整算法的内部状态,使得机器学习算法的输出符合预期输出的过程。按所使用的训练集不同,机器学习算法宽泛地分为两类:监督学习和非监督学习。在非监督学习过程中,你仅仅向算法提供向量形式的输入数据,但却不设置预期输出;聚类算法就是一种非监督学习。非监督学习以鸢尾花的数据集为例来了解监督学习和非监督学习的过程。这个数据集由与鸢尾花花瓣和花萼尺
2021-03-05 17:23:09
2100
原创 【人工智能算法】算法基础之随机数生成
本文重点:伪随机数生成线性同余生成法(Linear Congruential Generator ,LCG)进位乘数法(Multiply With Carry,MWC)梅森旋转算法蒙特卡洛方法伪随机数生成算法的概念要理解伪随机数生成算法需要先了解几个重要概念种子(seed)“种子”决定了你会得到什么样的随机数序列,同时也决定了内部状态的初始值。对于给定的种子,你总会得到相同的随机数序列;而另一方面,几乎每一个互不相同的种子都会生成一个不同的随机数序列。内部状态(intern
2021-03-04 13:55:19
1883
1
原创 【人工智能算法】算法基础之距离度量
本文重点主要有:向量欧式距离曼哈顿距离切比雪夫距离理解向量向量本质上就是一维数组。这里需要注意不要将向量的“维度”与待求解问题的维度混淆,即使待求解问题有10个输入通道,它依然是一个向量。向量始终是一维数组。在人工智能算法中,向量通常用来存储某个具体实例的数据。计算向量距离两个向量之间的距离代表着二者的相似程度。欧式距离欧式距离度量是基于两个向量间实际的二维距离的,也就是说,如果把两个数据点画在纸上的话,欧式距离就是用直尺测量处理的两点间的偏差(距离)。二维距离的理论基础是毕达哥拉
2021-03-04 11:29:15
792
1
原创 【面试】java8新特性之Lambda表达式
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。Lambda表达式为什么要用Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,将代码像数据一样传递,这样可以写出更简洁、更灵活的代码,作为一个更紧凑的代码风格,使Java语言表达能力得到了提升实例代码Lambda表达式最先替代的就是匿名内部类,假设原来我们写一个Comparator比较函数,采用匿名内部类的方式 /** * 原来使用匿名内部类 */ p.
2021-03-02 17:16:11
2657
原创 【python学习笔记】并发编程多进程之开启进程的两种方式
本系列为自己学习Python的笔记,如有误,欢迎大家指正一 multiprocessing模块介绍python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。multiprocessing模块的功能众多:支持子.
2021-02-24 09:56:45
2423
原创 【爬虫】爬虫中登录与验证码处理
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正处理登录表单随着Web 2.0的发展,大量数据都由用户产生,这里需要用到页面交互,如在论坛提交一个帖子或发送一条微博。因此,处理表单和登录成为进行网络爬虫不可或缺的一部分。获取网页和提交表单相比,获取网页是从网页抓取数据,而提交表单是向网页上传数据。在客户端(浏览器)向服务器提交HTTP请求的时候,两种常用到的方法是GET和POST。使用GET方法的时候,查询字符串(名称/值对)是在GET请求的URL中发送的,因为浏览器对URL有长度限制,所以G.
2021-02-07 14:21:39
6095
4
原创 【爬虫】一文了解如何处理爬虫中的乱码问题
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正什么是字符编码字符串的编码只有两大类:通用的Unicode编码将Unicode转化成的某种类型的编码,如UTF-8、GBK等了解Unicode编码之前,先来看计算机编程的历史。由于计算机只能处理数字,因此处理文本时必须先转换为数字才行。最早的计算机在设计时采用8比特(bit)作为一个字节(byte),而计算机采用二进制,所以一个字节可以表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。.
2021-02-07 11:19:11
3817
原创 【爬虫】一文了解反反爬虫及其相关技术
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正一、为什么要反爬虫第一,网络爬虫浪费网站的流量,也就是浪费钱。爬虫对于一个网站来说并不算是真正用户的流量,而且往往能够不知疲倦地爬取网站。更有甚者,使用分布式的多台机器爬虫,造成网站浏览量增高,浪费网站流量。第二,数据是每家公司非常宝贵的资源。在大数据时代,数据的价值越来越突出,很多公司都把它作为自己的战略资源。由于数据都是公开在互联网上的,如果竞争对手能够轻易获取数据,并使用这些数据采取针对性的策略,长此以往,就会导致公司竞争力的下降。那.
2021-02-05 15:35:09
3815
原创 【爬虫】使用多线程、多进程、多协程提升爬虫速度
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正要学习提升爬虫速度用到的知识,必须先熟悉并发和并行、同步和异步的概一、并发和并行,同步和异步并发和并行并发(concurrency)和并行(parallelism)是两个相似的概念。并发是指在一个时间段内发生若干事件的情况,并行是指在同一时刻发生若干事件的情况。使用单核CPU和多核CPU来说就是:在使用单核CPU时,多个工作任务是以并发的方式运行的,因为只有一个CPU,所以各个任务会分别占用CPU的一段时间依次执行。如果在自己分得的时间段没有.
2021-02-05 13:55:00
4915
1
原创 【python日用】用python做定时任务 多久执行一次
话不多说,直接上代码:import os,timecount =0os.chdir(r'd:\slpworkspace\github\')while count < 10: os.system('cmd')#执行系统命令 time.sleep(100)#推迟执行、休眠 count +=1
2021-02-05 11:31:45
4575
1
原创 【错误集】 MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors
原代码import geventfrom gevent.queue import Queue,Emptyimport timeimport requests#把下面有可能有IO操作的单独坐上标记from gevent import monkeymonkey.patch_all()#将IO转为异步执行的函数错误MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to e
2021-02-05 11:19:02
2102
1
原创 【爬虫】使用Scrapy框架进行爬虫详解及示例
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正Scrapy是什麽Scrapy是一个为了爬取网站数据,提取数据而编写的应用框架。简单来说,它把爬虫的三步:获取网页,解析网页,存储数据都整合成了这个爬虫框架。Scrapy架构Scrapy主要的组件有Scrapy Engine(引擎), Scheduler(调度器),Downloader(下载器), Spider(爬虫器), Item Pipeline(管道)。还有两个中间件:Downloader Middlewares(下载器中间件)和Spi.
2021-02-04 14:19:28
5067
原创 【爬虫】一文掌握爬虫数据解析相关内容-正则 bs4 lxml
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正引入回顾requests模块实现数据爬取的流程指定url发起请求获取响应数据持久化存储其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指定数据解析。因为大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值,而不是整个页面的数据。至此,我们的数据爬取的流程可以修改为:指定url发起请求获取响应数据数据解析持久化存储python如何实现数据解析正则表达式xpat.
2021-02-04 13:59:00
3704
1
原创 【爬虫】使用request模块进行爬虫
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正引入在python实现的网络爬虫中,用于网络请求发送的模块有两种,第一种为urllib模块,第二种为requests模块。urllib模块是一种比较古老的模块,在使用的过程中较为繁琐和不便。当requests模块出现后,就快速的代替了urllib模块,因此,在我们课程中,推荐大家使用requests模块。Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。what is requestsrequests模.
2021-02-04 13:05:11
5502
7
原创 【爬虫】了解爬虫相关信息这一篇文章就够了
本系列为自己学习爬虫的相关笔记,如有误,欢迎大家指正什么是爬虫形象概念: 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它。学术概念:爬虫就是通过编写程序模拟浏览器上网,让其去互联网上抓取数据的过程。为什么要学习爬虫在数据量爆发式增长的互联网时代,网站与用户的沟通本质上是数据的交换,分析数据可以为企业做出更好的决策提供帮助,这就涉及到大数据分析,而爬虫就是数据.
2021-02-04 13:01:44
3624
原创 【python日用】scipy.optimize.root用法及代码示例
定义def root(fun, x0, args=(), method='hybr', jac=None, tol=None, callback=None, options=None): """ Find a root of a vector function. 查找向量函数的根 Parameters ---------- fun : callable A vector function to find a root of. 查找
2021-02-02 14:40:50
7287
原创 【python日用】plt.figure()绘图
figure语法def figure(num=None, # autoincrement if None, else integer from 1-N figsize=None, # defaults to rc figure.figsize dpi=None, # defaults to rc figure.dpi facecolor=None, # defaults to rc figure.facecolor
2021-02-02 10:11:20
4660
1
原创 【python日用】np.linspace
语法def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None):参数值start:队列的开始值stop:队列的结束值。当’endpoint = False’时,不包含该点。num:要生成的样本数。默认是50。endpoint(bool型):如果是True,‘stop’是最后样本。否则不包含’stop’。retstep(bool型):如果是True,返回(‘samples’, ‘st
2021-02-02 09:58:49
3981
原创 【python学习笔记】11 python操作文件详解
本系列为自己学习Python的笔记,如有误,欢迎大家指正前言想一下我们平时用word操作一个文件的流程:找到文件,双击打开读或修改保存&关闭用python操作文件也差不多:f=open(filename) # 打开文件f.write("我是梓莘") # 写操作f.read() #读操作f.close() #保存并关闭不过有一点是不同的Python只能以读、创建、追加 3种模式中的任意一种打开文件,不能即写又读。操作模式r 只读模式w 创建模式,若文件已存在.
2021-02-02 09:51:47
3798
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人