自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 java中内存泄漏的情况

1、静态集合类:如HashMap、LinkedList等等。如果这些容器为静态的,那么它们的生命周期与程序一致,则容器中的对象在程序结束之前将不能被释放,从而造成内存泄漏。简单而言,长生命周期的对象持有短生命周期对象的引用,尽管短生命周期的对象不再使用,但是因为长生命周期对象持有它的引用而导致不能被回收。2、各种连接,如数据库连接、网络连接和IO连接等:在对数据库进行操作的过程中,首先需要建立与数据库的连接,当不再使用时,需要调用close方法来释放与数据库的连接。只有连接被关闭后,垃圾回收器才会回收对应

2020-07-06 11:09:08 229

原创 SpringCloud微服务相关

1、什么是微服务2、微服务之间是如何独立通讯的?3、SpringCloud和Dubbo有哪些区别?4、SpringBoot和SpringCloud谈谈对他们的理解5、什么是服务熔断?什么是服务降级?6、微服务的优缺点分别是什么?7、你所知道的微服务技术栈有哪些?8、eureka和zookeeper都可以提供服务的注册与发现功能,说说他们的区别?...

2020-05-18 17:59:37 186

原创 关于海量数据处理的面试题

参考:https://www.cnblogs.com/jackchen-Net/p/8111817.html#_label3一、题型求出海量数据中TOP K的数据(最大最小堆+分布存储)判断元素是否在海量数据中(bitmap)数据量大,内存小,怎么处理(hash映射后分而治之)二、方法1、可以用hash方法进行文件划分2、bit-map 用于数据查找判重和删除(元素是否在...

2020-04-08 13:23:48 237

原创 根据中序和前序遍历结果构建二叉树

二叉树的构建必须拥有中序遍历(中序+前序,中序+后序)才可以唯一构建成功。采用递归的方式建立二叉树,前序遍历为{1,2,4,7,3,5,6,8},中序遍历为{4,7,2,1,5,3,8,6},由前序遍历可知根节点为1,在中序遍历中找到1的位置,1之前的为根节点的左子树,1之后的为根节点的右子树;在前序遍历中,左子树的元素为2,4,7,所以1的左节点为2,再对应中序遍历中,2左边有4,7,右边没有...

2020-04-01 22:39:39 1006

原创 几种重要的设计模式

一、简单工厂模式简单工厂模式属于类的创建型模式,又叫工厂方法模式,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。工厂角色:简单工厂模式的核心,负责实现创建所有实例的内部逻辑(比如用if语句:如果满足名字为apple的时候,返回一个apple实例对象),工厂类可以被外界直接调用,创建所需的产品对象(用反射机制获取类,生成实例)public class Fact...

2020-04-01 15:52:58 525

原创 关于python的一些用法

一、操作系统相关知识操作系统内存管理驱动管理进程线程协程文件系统1、内存32位电脑 4GDOS 内存是程序自己控制Windows 统一的内存空间 4G虚拟存储器:(1) CPU n核心 ALU cpu寄存器(2) 每个核心 L1 L2 cache miss(3). 整个CPu L3 3M(4) 内存 很大很大8G(5)硬盘(6) 网络传输2、 驱动ps/2...

2020-03-23 23:19:10 92

原创 几种常用的排序算法

图片和内容参考来自于:https://blog.csdn.net/weixin_41190227/article/details/86600821一、插入排序import java.util.Arrays;import java.util.Scanner;public class insertSort { public static void main(String[] ar...

2020-03-22 20:18:21 97

原创 快速幂算法

快速幂用于快速求解a的b次方问题。 时间复杂度为(logn)例如:求解4的5次方5的二进制数为101454^545=4(22+20)4^{(2^2+2^0)}4(22+20)=422∗4204^{2^2}*4^{2^0}422∗420=421+21∗4204^{2^1+2^1}*4^{2^0}421+21∗420=420+20+20+20∗4204^{2^0+2^0+2^0+2^0}*4^{...

2020-03-22 19:49:45 172

原创 Spring Boot中的一些注解

转载:https://baijiahao.baidu.com/s?id=1623648034778672046&wfr=spider&for=pc1、@SpringBootApplication(主程序类的注解)@SpringBootApplication是一个复合注解,包括@ComponentScan,@SpringBootConfiguration,@EnableAu...

2020-03-12 12:35:40 216

原创 shell命令行

一、文件系统中跳转pwd:显示当前工作目录ls:列出一个目录包含的文件及子目录cd+路径名:cd /usr/bin(绝对路径)cd :更改工作目录到家目录cd - :更改工作目录到先前的工作目录①“.”字符开头的文件名是隐藏文件,用ls-a可以列出②linux没有文件扩展名的概念③linux中文件名的标点仅限于“.”,“-”和下划线,不要使用空格。二、操作系统ls可以列出...

2020-03-07 22:12:02 1446

原创 Spring Boot+zookeeper+dubbo配置

一、基于zookeeper+dubbo组合的分布式系统分布式系统中,常用zookeeper+dubbo组合zookeeper:一个分布式的、开放源码的分布式应用程序协调服务。提供的功能:配置维护、域名服务、分布式同步、组服务dubbo:分布式服务框架,按照分层的方式来架构,使各层解耦。模型简单,分为服务提供方和服务消费方例子:有两个模块A、B,dubbo负责解决A模块和B模块的远程过程...

2020-03-02 22:09:17 442

原创 SpringBoot+Redis缓存

开发中通常会使用缓存中间件:redis、memcached、ehcache.redis可以用作数据库、缓存和消息中间件,本文中使用redis作为缓存一、安装redis1、docker中安装redis:sudo docker pull redis2、启动redis并映射端口sudo docker run -d -p 6379:6379 --name myredis 镜像名映射容器服...

2020-02-26 19:48:43 207

原创 SpringBoot与消息队列

一、概念1、JMS、AMQPJMS:JAVA消息服务,基于JVM消息代理的规范(ActiveMQ、HornetMQ)[两种模型:点对点、发布\订阅]AMQP:高级消息队列,兼容JMS(RabbitMQ是AMQP实现)[五种模型:direct exchange、fanout exchange、topic change、headers exchange、system exchange]2、...

2020-02-25 16:27:24 570

原创 Spring Boot缓存注解

一、JSR107规范Java Caching定义的5个接口:CachingProvider,CacheManager,Cache,ENtry,ExpiryCachingProvider:定义了创建、配置、获取、管理和控制多个CacheManager,一个应用可以在运行期间访问多个CachingProviderCacheManager:定义了创建、配置、获取、管理和控制多个唯一命名的Cach...

2020-02-23 22:06:20 266

原创 SpringData-JPA操作数据库

一、SpringData简介(1)SpringData项目的目的是为了简化基于Spring框架应用的数据访问技术,包括非关系型数据库、MapReduce框架等,包含多个子项目等:JPAMongoDBRedisRESTLDAP(2)特点SpringData提供统一的API来对数据访问层进行操作,让我们在使用关系型或菲关系型数据访问技术时都基于Spring提供的统一标准,包含了CR...

2020-02-22 22:29:49 210

原创 springboot+druid+mybatis配置操作数据库

一、创建spring-starter工程加入mysql驱动器+jdbc+web+mybatis二、druid配置参考:https://blog.csdn.net/yh_1021/article/details/104434205三、数据库建表:将工程文件夹中的sql文件添加到Navicat中在resource文件夹中有两个sql文件在application.yml文件中修改配...

2020-02-22 21:11:58 1217

原创 Spark安装——4

一、Spark介绍Spark的cluster模式框架构图Driver Program就是Spark程序,SparkContext是Spark应用程序的入口SparkContext通过Cluster Manager管理集群,集群中包含多个Worker Node,每个当中都有Executor执行任务。Cluster Manager可以在下列模式下运行:本地运行Spark Standalo...

2020-02-21 23:05:53 161

原创 springboot+druid配置数据源

springboot使用druid数据源步骤druid有成套的数据源的监控、安全的解决方案1、在maven中引入druid依赖可以在maven仓库中查找:https://mvnrepository.com <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency>...

2020-02-21 20:41:38 593 1

原创 Docker(安装+基本命令+Dockerfile打包镜像)

Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化。例如配置好mysql后,可以将其打包成docker镜像,在其他的linux机器上,只要配置了docker,就可以直接移植过去。一、docker概念docker主机:安装了docker程序的机器,直接安装在操作系统上的docker客户...

2020-02-21 10:40:21 1430

原创 消息队列RabbitMQ

一、使用消息队列的好处1、通过异步处理可以提高系统性能(削峰,改善响应速度)不使用消息队列时,用户数据直接写入数据库,在高并发情况下数据压力剧增,响应速度变慢;使用消息队列后,用户将数据发送给消息队列后会立即返回,再由消费队列的消费者进程从队列中获取数据,异步写入数据库。消息队列的服务器处理速度快于数据库,所以可以改善响应速度,提高系统性能。2、降低系统耦合性模块之间不直接调用,新增...

2020-02-17 21:22:42 342

原创 动态规划

动态规划的本质是:递归解题思路:将原问题拆分成若干个子问题,解决子问题后再返回原问题,依靠子问题的解来解决原问题。动态规划需要解决的两大问题:最优子结构通过子问题(n-1)最优决策导出原问题(n)最优决策无后效性(有后效性指对n进行操作后会影响对n-1,n-2的操作),本身递归是有后效性的,但是利用动态规划可以tiaoguo使每一次操作无后效性重叠子问题去冗余空间换时间(用数...

2020-01-11 20:11:27 76

原创 python网络编程基础

1、IP地址IP地址用于在网络中找到目标192.168.33.xx前三个数是网络号,xx表示主机号,网络号相同表示在同一个网络中,xx从0~255,其中0和255号不能用,如果不够用,将33作为主机号,可以有256*256台主机,以此类推(2)私有ip私有ip用于局域网,不能在公网中使用10.0.0.0~10.255.255.255172.16.0.0~172.31.255.255...

2020-01-08 22:35:01 265

原创 opencv基础

第一课#include "pch.h"#include <iostream>#include <opencv2/opencv.hpp>#include<opencv2/highgui/highgui.hpp>using namespace cv;using namespace std;int main(){ Mat img = imread(...

2019-08-30 14:25:42 147

原创 Hadoop HDFS命令——2

一、创建与查看HDFS目录常用的hdfs命令:hadoop fs -mkdir 创建HDFS目录hadoop fs -ls 列出HDFS目录hadoop fs -copyFromLocal 复制本地文件到HDFShadoop fs -put 复制本地文件到HDFShadoop f...

2019-08-29 16:25:00 301

原创 Hadoop集群配置——1

一、Hadoop集群Hadoop集群需要4台服务器才可以建立,可以进行并行处理,所以在虚拟机上创建了master、data1~data3四个服务器。计算机master在HDFS中作为NameNode,在MapReduce2中作为ResourceManager计算机data1~data3在HDFS中作为DataNode,在MapReduce2中作为NodeManager二、Hadoop集群...

2019-08-29 13:37:50 304

原创 Spark、Hadoop、HDFS简介

参考《Python+Spark 2.0+Hadoop机器学习与大数据实战_林大贵(著) 清华大学出版社》1、Spark(1)大数据运算平台spark的应用Spark Streaming 数据流处理Spark SQL 互动分析MLlib 机器学习Spark的核心是RDD弹性分布式数据集,可以导入HDFS、HBase、Hadoop的数据源(2)Spark特色(3)主要功能:...

2019-08-28 11:45:42 726

原创 利用keras进行图像识别——训练自己的数据集

1、预处理图片数据集(1)增强数据集如果图片数量少的话,可以通过keras.preprocessing.image中的ImageDataGenerator函数进行数据增强,即通过旋转,翻转等操作增加图片的数量。(训练集和测试集都要)from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_ar...

2019-08-25 11:20:07 3885 2

原创 python爬虫

python爬虫基础1、爬取网页的通用代码框架通用代码框架可以使爬取网页变得更稳定有效。用requests库访问网页时不一定能成功,异常处理很重要。产生的异常如下所示:可以用r.raise_for_status 检测访问是否成功, 如果返回值是200,则访问正确,若不是200,则访问错误2、http协议及requests库方法http协议是一个基于“请求与响应”模式的、无状态的应用...

2019-08-25 11:18:57 177

原创 Mysql安装

1、官网下载https://dev.mysql.com/downloads/mysql/2、解压到自定义的安装目录D:\professional_software\mysql\mysql-8.0.173、配置环境变量变量名:MYSQL变量值:D:\professional_software\mysql\mysql-8.0.174、生成data文件夹以管理员身份运行cmd(进入C:\...

2019-08-25 10:58:26 96

原创 PYQT5

1、基础代码模板自己写的类需要继承QWidget,来使用他的方法super().init() #调用了父类中的初始化方法,父类中的方法都可以用了label标签控件如果需要放在整个界面里面,需要继承父类,在类中就是selfapp=QApplication(sys.argv)创建应用window=Window() 实例化类window.show() 显示窗口sys.exit(a...

2019-06-30 21:52:27 798

原创 集成学习和随机森林——自学第十二篇

1、集成学习在面临选择的时候需要作出决策,这时候你就会去询问不同的人该做怎样的决断,最后将询问后的决策进行投票,选择投票个数最多的那个。对同一个问题,可以有不同的算法,也会给出不同的结果,在这种情况下,可以集成不同的算法,少数服从多数,选择结果数最多的那类算法。...

2018-09-24 12:50:34 566

原创 决策树——自学第十一篇

1、决策树招聘机器学习算法工程师的时候,往往会对应聘者的条件进行筛选,如图所示,叶子结点是根据已知的信息做出的决策,该决策树的深度为3...

2018-09-23 21:28:59 1940

原创 支持向量机SVM——自学第十篇

1、支持向量机可以解决分类问题,也可以解决回归问题在上图所示中,有两类数据,如果使用逻辑回归,那在两组数据中找出一条分界线即可,当然这个分界线有很多种可能。如果有一个新的数据,是靠近红色点的那一边,但是没有过线而被分为了蓝色点,在这种情况下的模型的泛化能力是不高的。我们选择另一条分割线,使得两组数据距离直线的最近距离相等,这样的模型泛化能力较高。再画出两条与分割线相平行的直线,使得在这...

2018-09-22 18:45:57 421

原创 逻辑回归及其评价指标——自学第九篇

1、 逻辑回归损失函数为:▽J(θ)=1m⋅XbT⋅(σ(Xbθ−y))\bigtriangledown J\left ( \theta \right )=\frac{1}{m}\cdot X_{b}^{T}\cdot \left ( \sigma \left ( X_{b}\theta -y \right ) \right )▽J(θ)=m1​⋅XbT​⋅(σ(Xb​θ−y))...

2018-09-21 16:29:56 11616 1

原创 模型正则化——自学第八篇

1、模型误差模型误差=偏差+方差+不可避免的误差不可避免的误差是数据本身带有的,而偏差和方差是训练模型时造成的欠拟合是造成偏差的主要原因过拟合是造成方差的主要原因,因为模型复杂,数据对模型的扰动很大非参数学习(依赖于数据)算法都是高方差算法,因为对数据不进行任何假设参数学习(例如线性回归)都说是高偏差算法,因为对数据具有极强的假设(认为数据符合这个模型)一般降低偏差会提高方差,降低...

2018-09-18 21:45:19 1497

原创 多项式回归——自学第七篇

1、多项式回归由于之前所讲的线性回归要求数据之间存在线性关系,但是生活中很多的数据不存在线性关系,更多的数据之间是非线性关系,这次采用多项式回归算法(例如y=ax2+bx+cy=ax2+bx+cy=ax^{2}+bx+c)来对非线性数据进行预测。并引出模型泛化相关内容。 如果对于非线性数据进行线性回归,可以得到以下一张图import numpy as npimport matplotl...

2018-09-18 09:21:19 723

原创 主成分分析法(PCA)——自学第六篇

1、主成分分析(1)用途非监督的机器学习算法主要用于数据的降维通过降维,可以得到更容易理解的特征信息可以方便数据可视化、用于去噪(2)原理坐标系上有五个点,需要通过降维,在最大程度保留数据信息的基础上将二维表示的数据降到一维。所以我们需要找到一个轴,使得样本映射到轴上之后,样本间的方差最大(最容易区别各个样本) 。需要求一个轴的方向w=(w1,w2),使得所...

2018-09-17 16:05:08 3445 1

原创 梯度下降法——自学第五篇

1、梯度下降法作用:最小化一个损失函数梯度上升法:最大化一个效用函数 - ηη\eta 为学习率 - ηη\eta 取值影响获得最优解的速度 - ηη\eta 是梯度下降法的超参数 - ηη\eta 太小,学习速度缓慢 - ηη\eta 太大,会导致不收敛 并不是所有函数都有唯一的极值点,一个函数可能有多个极值点,包含了全局最优解和局部最优解。 解决方案:多次...

2018-09-16 21:37:05 550

原创 线性回归——自学第四篇

1、线性回归算法例如根据房屋面积进行价格预测 希望寻找一条直线,最大程度“拟合”样本特征(房屋面积)和样本输出标记(价格)之间的关系。 假设该直线方程为y=ax+b,每一个样本点的坐标为(x(i),y(i))(x(i),y(i))\left ( x^{\left ( i \right )},y^{\left ( i \right )} \right ),每一个x(i)x(i) x^{\...

2018-09-16 21:36:54 222

原创 数据归一化——自学第三篇

1、数据归一化(normalization)举个例子,例如下图所示的判断是否为恶性肿瘤的数据中,有两个特征,分别为肿瘤大小和肿瘤发现的时间,如果按照KNN算法中需要计算两个数据之间的欧拉距离,则发现时间的差的平方将远远大于肿瘤大小的差的平方,因此样本间的距离被“发现时间”所主导。 如果不进行数据归一化,则计算结果很可能被其中一个特征所主导 (1)最值归一化:把所有数据都映射到0-1之间...

2018-09-16 21:36:39 484

空空如也

空空如也

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

TA关注的人

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