自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 机器学习入门-决策树与随机森林

熵信息的计算比基尼系数稍慢 scikit-learn中默认为基尼系数。 大多数时候没有特别效果优势 CART - Classification And Regression Tree 非参数学习容易产生过拟合 import numpy as np import matplotlib.pyplot ...

2020-03-28 21:28:34

阅读数 35

评论数 0

原创 机器学习入门-评价标准

文章目录线性回归交叉验证使用岭回归LASSO RegressionOvR 和 OvOPrecision-Recall 曲线 线性回归 import numpy as np import matplotlib.pyplot as plt x = np.random.uniform(-3, 3, s...

2020-03-28 21:11:58

阅读数 26

评论数 0

原创 makefile入门案例

先上代码,生成可以执行文件 main:main.o mytool1.o mytool2.o gcc main.o mytool1.o mytool2.o -o main main.o:main.c gcc -c main.c -o main.o mytool1.o:mytool1.c myto...

2020-03-28 20:27:09

阅读数 21

评论数 0

原创 线性回归

线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 优化函数 - 随机梯度下降 当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。本节使用的线性...

2020-02-14 21:05:04

阅读数 23

评论数 0

原创 ACM套路

写在前边:这些梗都是敝人自己做题和比赛时曾经坑过自己的地方,特别在这里记录一下,所有的链接都是本博客中的题解链接(有大致题意说明和代码),原题请到OJ上自行寻找。目的是提升自身姿势。欢迎大佬们给我提出更好的建议,十分感谢。 #1:一些写法的线段树需要开四倍空间。大概是因为:在很靠近叶子的地方,他的...

2020-02-14 13:21:00

阅读数 28

评论数 0

原创 教你用Python发送电子邮件

信息准备 发生邮件前必须准备好一些基本信息,例如发件人邮箱地址、发件人邮箱密码、收件人邮箱地址、发件人昵称、收件人昵称、邮件主题以及邮件内容等。这些内容都属于定制化的,那么剩余的就应该是邮件发送了。使用Python发送邮件需要使用到email模块(主要用于邮件的配置)和smtplib模块(用于邮件...

2020-02-14 13:12:26

阅读数 48

评论数 0

原创 水桶智力题

有两个水桶,一个装5升水,一个装3升水,怎么利用这两个水桶,得到4升水? import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.LinkedLi...

2019-12-26 11:52:47

阅读数 78

评论数 0

原创 大整数相加

既然没办法直接进行相加,想想小学的时候,老师是怎么教我们的,是不是从个位相加,超过 10 就进位。那么这么大的数字该用什么存储呢?有两种方法,一种是用数组存储,一种是用字符串存储。 边界条件与测试案例 边界条件:输入非数值 正常大的整数 小的数值(0 )与大的数值 def big_num_sum(...

2019-11-14 10:20:44

阅读数 15

评论数 0

原创 Linux中文件MD5校验

md5sum命令用于生成文件的md5数字摘要,并可以验证文件内容是否发生了改变,间接地还可以检验两个文件内容是否完全相同。因为md5sum是读取文件内容来计算校验码的,因此只能验证文件内容,而无法验证文件属性。 cp -a /etc/fstab /tmp/fstab cp -a /etc/fst...

2019-11-10 11:41:30

阅读数 17

评论数 0

原创 常用正则表达式总结

一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9...

2019-11-09 22:27:39

阅读数 7

评论数 0

原创 Golang new和 make的区别

Go提供了两种分配原语,即new和make。它们所做的事情是不一样的,所应用的类型也不同。 new用来分配内存,但与其他语言中的同名函数不同,它不会初始化内存,只会讲内存置零;也就是说,new(T)会为类型为T的新项分配已置零的内存空间,并返回他的地址,也就是一个类型为*T的值。用Go的术语来说,...

2019-11-07 20:37:29

阅读数 15

评论数 0

原创 Mysql用B+树与B-树

B+Tree优势 使用索引查找的时候计算机要先将数据结构读取到主存中,由于B+Tree的所有非叶子节点不存数据只存key,因此与B-Tree相比,使用B+Tree每次就能将更多的节点读取到主存中,也就能做更少的I/O操作。 B-Tree优势 B-Tree由于每个节点都存数据,因此每个数据所在的层数...

2019-11-04 21:43:02

阅读数 43

评论数 0

原创 MySQL之主从复制面试

一、什么是主从复制? 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。 二、主从复制的作用(好处,或者说为什么要做主从)重点! 1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。 2、架构的扩展。...

2019-11-04 21:22:57

阅读数 53

评论数 0

原创 DNS的一点理解

DNS通信主要使用UDP,TCP为辅,使用端口号53。当然,端口号可以修改,但是默认是使用53端口;在某些情况下,也会采用TCP协议。DNS是网络分层里的应用层协议,事实上他是为其他应用层协议工作的 主机 ------> 本地域名服务器:一般都是采用递归查询 如果主机所询问的本地域名服务器不...

2019-11-04 20:50:13

阅读数 20

评论数 0

原创 Arch Linux/Manjaro系统

在Arch Linux/Manjaro系统中使用yay的方法 yay yay安装好后,应该可以使用了,请注意,你不需要使用sudo权限,有关yay的基本用法,请参阅下面的示例。 使用yay命令 安装ssr yay -S shadowsocks-qt5 安装VS code yay -S...

2019-10-28 14:06:15

阅读数 41

评论数 0

原创 简单的python http服务共享文件

需要发送的文件及所在路径 运行命令‘python -m SimpleHTTPServer 8000’ 开启HTTP服务。其中8000是端口号,可以换成别的 Python还可以开启ftp服务,也能够实现文件传输。使用之前要安装pyftpdlib包,执行‘ python -m pyftpdlib -p...

2019-10-22 14:32:54

阅读数 17

评论数 0

原创 协程相比线程到底好在哪里?

协程虽然被提出的时间很早,但是使用它的年限很短。尤其是最近几年,随着 Go、Lua 等语言的流行,把协程推向了一个新的高潮。 在所有语言中都存在着层级调用,比如 A 调用 B,B 在执行过程中又调用了 C,C 执行完毕返回,B 执行完毕返回,最后是 A 执行完毕。 这种方法、函数、子程序(或者称为...

2019-10-20 21:47:14

阅读数 12

评论数 0

原创 二分搜索的几种变形

#include<iostream> #include <map> using namespace std; //查找给值的元素 int bsearch(int a[],int n,int value){ int low=0,high=n-1; while ...

2019-10-15 15:21:33

阅读数 17

评论数 0

原创 TCP协议的常见面试题

为什么连接的时候是三次握手,关闭的时候却是四次握手? 因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回...

2019-10-06 16:30:54

阅读数 15

评论数 0

转载 Cache 和 Buffer主要区别是什么?

提到这个问题,可能意味着题主意识到了两者的相关性。的确,他们确实有那么一些联系。 首先cache是缓存,buffer是缓冲,虽然翻译有那么一个字的不同,但这不是重点。 个人认为他们最直观的区别在于cache是随机访问,buffer往往是顺序访问。虽然这样说并没有直击本质,不过我们可以待分析完毕之后...

2019-09-24 12:27:23

阅读数 30

评论数 0

原创 Linux网络命令nc(netcat)

*nc,全名叫 netcat,它可以用来完成很多的网络功能,譬如端口扫描、建立TCP/UDP连接,数据传输、网络调试等等,因此,它也常被称为网络工具的 瑞士军刀 。 使用方式 我们可以这样来使用它:* nc [-46DdhklnrStUuvzC] [-i interval] [-p source_...

2019-09-23 21:22:53

阅读数 41

评论数 0

原创 bash_profile和bashrc文件联系

Linux系统默认使用的shell为bash,在shell启动的时候会读取根据情况读取.bash_profile和.bashrc文件。准确的说,当shell是交互式登录shell时,读取.bash_profile文件,如在系统启动、远程登录或使用su -切换用户时;当shell是交互式登录和非登录...

2019-09-21 11:38:38

阅读数 78

评论数 0

原创 Java反射

package com.imooc.reflect.test; import java.lang.reflect.Method; import org.junit.Test; public class MethodTest { @Test // 测试公有的方法 public void...

2019-08-10 16:20:29

阅读数 11

评论数 0

原创 github模拟登陆的代码

# -*- coding: utf-8 -*- import re import requests headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,im...

2019-08-05 19:19:39

阅读数 56

评论数 0

原创 ForkJoin 分支合并

import java.time.Duration; import java.time.Instant; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; import java....

2019-07-27 08:53:19

阅读数 39

评论数 0

原创 Java 线程池

1 .为什么要用线程池? 线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。 这里借用《Java并发编程的艺术》提到的来说一下使用线程池的好处: 降低资源消耗。 通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。 当...

2019-07-27 08:32:29

阅读数 11

评论数 0

原创 判断打印的 "one" or "two"

/* * 题目:判断打印的 "one" or "two" ? * * 1. 两个普通同步方法,两个线程,标准打印, 打印? //one two * 2. 新增 Thread.sleep() 给 getOne() ,打印? //one two ...

2019-07-26 22:16:41

阅读数 30

评论数 0

原创 ReadWriteLock : 读写锁

import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /* * 1. ReadWriteLock : 读写锁 * * 写写/读写...

2019-07-26 22:06:58

阅读数 24

评论数 0

原创 编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示。如:ABCABCABC…… 依次递归

import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /* * 编写一个程序,开...

2019-07-26 21:39:02

阅读数 92

评论数 0

原创 JUC生产者与消费者的虚假唤醒解决方案

/* * 生产者和消费者案例 */ public class TestProductorAndConsumer { public static void main(String[] args) { Clerk clerk = new Clerk(); Productor pr...

2019-07-26 21:01:29

阅读数 10

评论数 0

翻译 给大学生的一些建议

在这里引用《上海交通大学学生生存手册》中的一段话: 相比宝贵的青春,我们在上学期间所需要的学费和生活开销几乎可以忽略不计。我们真正投下的有价值的筹码,是时间。面对着足以改变你人生轨迹的黄金时间,你是否感到了它的沉重?你又是否想过要如何计划这笔巨额投资?如果你是一名乖孩子,每天从早晨开始好好上课,好...

2019-07-19 14:09:29

阅读数 31

评论数 0

原创 深入理解java中的byte类型

byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。 在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。 接下来,我们用一段代码来更深刻地理解byte: public cl...

2019-07-19 14:04:39

阅读数 256

评论数 0

原创 接口限流算法总结

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务...

2019-07-19 13:35:34

阅读数 105

评论数 0

原创 LeetCode 101. 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 ...

2019-07-15 21:16:58

阅读数 16

评论数 0

原创 java 装箱与拆箱

public class BoxingDemo { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("new Integer(2) =...

2019-06-26 11:36:25

阅读数 46

评论数 0

原创 java socket简单通信

客户端 import java.io.*; import java.net.Inet4Address; import java.net.InetSocketAddress; import java.net.Socket; public class Client { public stat...

2019-06-24 17:26:49

阅读数 175

评论数 0

原创 Java 序列化

存取的对象 import java.io.Serializable; public class Goods implements Serializable{ private String goodsId; private String goodsName; private double p...

2019-06-23 15:27:28

阅读数 24

评论数 0

原创 Java NIO入门

Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。 IO NIO...

2019-06-22 21:11:53

阅读数 19

评论数 0

原创 90%的程序员都没有完全回答对 Cookie 和 Session 的区别?

Session简介: 服务端的机制,在服务器上保留的信息 解析客户端的请求并操作 session id ,保存状态信息 session的实现机制 1.使用cookie来实现:在返回报文加上 JSESSIONID=XXXX 2.使用URL回写来实现:服务器返回给浏览器的所有页面中都有sess...

2019-06-18 13:49:43

阅读数 67

评论数 0

原创 LINUX中如何查看某个端口是否被占用或者某个服务占用某个端口

1.查看某个端口是否被占用 例如: root@iZwz9at7nu2rprqr8qtn2oZ:~# netstat -anp | grep 3306 tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN...

2019-05-31 00:45:48

阅读数 792

评论数 0

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