自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win10连WiFi后无nternet,安全(802.11d协议导致)

最近做项目的时候,配置好网关,突然有一天发现连接的WiFi显示无Internet,安全。于是去搜索了各类解决办法,都无法解决问题,最后自己摸索出来的将无线网卡的802.11d协议禁用即可恢复正常,谷歌后听说这个协议在win8时代一直是默认关闭的,下面附上我的解决办法。从“设置”中搜索“设备管理器”右键,属性,高级,802.11d选项改为禁用就可以上网了...

2021-06-03 08:02:50 4432

原创 解决 IDEA Maven 插件加载错误:Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin

解决用IDEA的骨架创建maven项目(比如quickstart),maven中的插件会报红的情况,在网上看了很多博客都没有解决,情况如下所示,开始以为是 pom.xml 配置的问题,然后从 Spring 官网 Spring Initializr 发现https://start.spring.io/ 构建了一个全新的程序,依然存在这个问题。解决办法:从 mvnrepository 查询发现存在相应的版本,于是把缺少的相应依赖都拉下来即可解决。比如maven-site-plugin,将对应的依赖拉

2021-03-29 19:18:49 5102 3

原创 spring-boot-maven-plugin报红(尚硅谷雷神的教程中出现问题)

跟着尚硅谷雷神的教程,没有学习spring直接学习的springboot2,然后跟着雷神在写第一个helloworld的时候,导入maven的依赖包spring-boot-maven-plugin总是报红,博客上一直在说要添加版本号,但是我改了多个版本号都没用,后来发现一位大哥的博客,用everything去搜索spring-boot-maven-plugin,找到他后面的数字,那个才是正确的版本号,添加这个版本号之后才不是报红的状态,如果还不行就在本地仓库中删除spring-boot-maven-plug

2021-03-09 18:34:21 6633 8

原创 XML学习小结

XML是可扩展标记语言(Extensible Markup Language)的缩写,它是是一种数据表示格式,可以描述非常复杂的数据结构,常用于传输和存储数据。例如,一个描述书籍的XML文档可能如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE note SYSTEM "book.dtd"><book id="1"> <name>Java编程的逻辑</name> <a

2021-02-05 21:35:08 4256

原创 java容器类用法与特点总结

本文是阅读《Java编程的逻辑》进行的学习笔记总结,如有错误望各位指正抽象容器类与接口和具体容器类的关系下图所示。虚线框表示接口,有CoIIction、List、Set、Queue、Deque和Map。有6个抽象容器类。AbstractCollection:实现了 Collection接口,被抽象类 AbstractList、 AbstractSet、 AbstractQueue继承, ArrayDeque也继承自 AbstractCollection(图中未画出)AbstractList:父.

2021-01-24 15:27:01 4471 4

原创 Java中Map与Set的使用与原理剖析

Map和Set接口Map表示映射关系,有键(key) 和 值(value) 的概念。一个键映射到一个值,Map按照键存储和访问值,键不能重复即一个键只能存储一份,给同一个键重复设值会覆盖原来的值。Set是一个接口,表示的是数学中的集合概念,即没有重复元素集合。它扩展了Collection,但没有定义任何新的方法,不过它要求所有实现者都必须确保Set的语义约束,即不能有重复元素。HashMapHashMap实现了Map接口,除默认构造方法外,有如下构造方法:public HashMap(int in

2021-01-14 22:52:20 4655

原创 Java列表和队列用法与原理剖析(2.LinkedLIst,ArrayDeque)

LinkedListLinkedList的用法LinkedList的构造方法与ArrayList类似,有两个,一个是默认构造方法,一个是可以接受一个已有的Collection,如下public LinkedList();public LinkedList(Collection<? extends E> c)//例如可以这么创建List<String> list=new LinkedList<>();List<String> list2=new L

2021-01-09 15:00:21 4425 2

原创 Java列表和队列用法与原理剖析(1.ArrayLIst)

本文是阅读《Java编程的逻辑》进行的学习笔记总结,如有错误望各位指正ArrayList用法ArrayList是一个动态数组泛型容器,新建ArrayList需要实例化泛型参数,如:ArrayList<String> al = new ArrayList<String>();同时写有增删改查的各种方法,在这里就不一一解释了原理ArrayList内部有一个数组elementData和一个整数size,ArrayList的各种public方法内部操作都是基于这个数组和这.

2021-01-08 10:24:53 4214 4

原创 电脑版微信,QQ语音通话耳机听不到对方声音

这是开组会汇报时,发现老师能听到我的声音,我的蓝牙耳机听不到他的声音发现的问题原以为是系统问题或者是蓝牙耳机问题,结果发现是我的问题解决方案:在打开微信通话或者QQ通话、分享屏幕前,选择右下角声音,将其切换为hands-free AG audio如图所示:...

2020-12-30 18:29:13 10011 2

原创 绝对能看懂!分别用递归非递归的方式分别实现二叉树的先序、中序、后序遍历(java实现)

首先约定:先序:根,左,右  中序:左,根,右  后序:左,右,根递归实现递归实现中,总是会经过一个节点三次,所以先序中序和后序的唯一区别就是打印的时机不同public class Node {//这是Node的结构 public int value; public Node left; public Node right; public Node(int data) { this.value = data; }} public vo

2020-12-13 19:18:42 5210 11

原创 通过题目解释一致性哈希算法的基本原理

题目工程师常使用服务集群来设计和实现数据缓存,以下是常见的策略。无论是添加、查询还是删除数据,都先将数据的id通过哈希函数转换成一个哈希值,记为key。如果目前机器有N台,则计算key%N的值,这个值就是该数据所属的机器编号,无论是添加、查询还是删除操作,都只在这台机器上进行。分析这种缓存策略可能带来的问题,并提出解决方案。解答首先说这种方法的问题,如果N变化,代价会很高,所有的数据不得不根据id重写计算一遍哈希值,并将哈希值对新的机器数进行取模操作,然后进行大规模的数据迁移。为了解决这些

2020-12-11 09:50:20 4409

原创 通过题目解释布隆过滤器

布隆过滤器题目:假设不安全的网页黑名单包括100亿个黑名单网页,每个网页的URL最多占用64B。现在想实现一种网页过滤系统,利用该系统可以根据网页的URL判断该网页是否在黑名单上。要求(1)允许万分之一以下的判断失误率。(2)使用额外空间不超过30GB解答:首先认识哈希函数(散列函数):典型型的哈希函数都有无限的输入值域,有限的输出值域当哈希函数传入相同的输入值时,返回值一样给哈希函数传入不同的输入值时,返回值可能一样也可能不一样(因为输出域有限)很多不同的输入值所得到的返回值会均匀分布

2020-12-10 21:59:06 4470

原创 6种负载均衡算法

1、轮询法将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。2、随机法通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多,其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。3、源地址哈希法源地址哈希的思想是根据获取客户端的IP地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要

2020-10-26 15:33:48 6179

原创 Java反射随笔(自己的理解,有待修改)

首先,反射是为了解决在运行期,对某个实例一无所知的情况下,如何调用其方法。主要应用于底层框架的编写。JVM中的Class我们所写的类是由JVM在执行过程中动态加载的。JVM在第一次读取到一种类类型时,将其加载进内存,每加载一种类,JVM就为其创建一个Class类型的实例,并关联起来。注意:这里的Class类型是一个名叫Class的类。它长这样:public final class Class { private Class() {}}以String类为例,当JVM加载String类时,它

2020-09-10 10:42:39 4189

原创 动态绑定和静态绑定到底是用来干嘛的

动态绑定和静态绑定是[[多态]]的一个内容就是想解决向上转型的子类对象,运行时调用的是父类的方法和变量,还是子类的方法和变量。结论参考了大量博客,我认为除了成员方法,其余全都是静态绑定,静态绑定包括:成员变量、静态变量、private、final、static修饰的方法、构造方法静态绑定(根据声明类型,调用声明类型的方法变量)在程序执行以前已经被绑定(即在编译过程中就已经知道这个方法到底是哪个类中的方法)。java当中的方法只有final、static、private修饰的的方法和构造方法是静态

2020-08-29 08:45:43 4822

原创 接口和抽象类的区别(全)

接口和抽象类的区别![[Pasted image 3.png]]接口中的default方法(默认方法)一、概念接口提供一个默认实现的方法,并且不强制实现类重写此方法默认方法使用default关键字来修饰二、引入背景当一个接口添加新方法时,需要所有的实现类都重写新方法,影响到了已有的实现类,可能导致应用崩溃默认方法可以不强制重写,也不会影响到已有的实现类三、使用当一个实现类实现了多个接口,多个接口里都有相同的默认方法时,实现类必须重写该默认方法,否则编译错误a

2020-08-29 08:44:13 4234

原创 一文搞清楚Java中的static关键字

一.static关键字的用途在《Java编程思想》P86页有这样一段话:“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是:方便在没有创建对象的情况下来进行调用(方法/变量)。很显然,被static关键字修饰的方法或者变

2020-08-27 11:30:10 4245

原创 构造方法中super()和this()的注意点

构造方法中super()和this()的注意点1)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。2)super()和this()类似,区别是,super从子类中调用父类的构造方法,this()在同一类内调用其它方法。3)super()和this()均需放在构造方法内第一行。4)尽管可以用this调用一个构造器,但却不能调用两个。5)this和super不能同时出现

2020-08-27 10:47:41 5756

原创 多线程:解释线程同步的必要性

为什么需要线程同步?当多个线程同时运行时,线程的调度由操作系统决定,程序本身无法决定。因此,任何一个线程都有可能在任何指令处被操作系统暂停,然后在某个时间段后继续执行。这个时候,有个单线程模型下不存在的问题就来了:如果多个线程同时读写共享变量,会出现数据不一致的问题。比如:public class Main { public static void main(String[] args) throws Exception { var add = new AddThread()

2020-08-25 17:12:44 6232 1

原创 Java引用类型参数传递(绝对看得懂)

结论:1)当使用基本数据类型作为方法的形参时,在方法体中对形参的修改不会影响到实参的数值2)当使用引用数据类型作为方法的形参时,若在方法体中 修改形参指向的数据内容,则会对实参变量的数值产生影响,因为形参变量和实参变量共享同一块堆区;3)当使用引用数据类型作为方法的形参时,若在方法体中 修改形参变量的指向,此时不会对实参变量的数值产生影响,因此形参变量和实参变量分别指向不同的堆区例一:基本数据类型作为形参,运行结果不改变实参public class Main { public static

2020-08-25 17:08:24 5976

原创 机器学习基础笔记(11)Why Deep

Why Deep?参考台湾大学李宏毅教授的PPT和笔记本文主要围绕Deep这个关键词展开,重点比较了shallow learning和deep learning的区别:shallow:不考虑不同input之间的关联,针对每一种class都设计了一个独立的model检测deep:考虑了input之间的某些共同特征,所有class用同个model分类,share参数,modularization思想,hierarchy架构,更有效率地使用data和参数Shallow V.s. DeepDeep

2020-08-18 14:31:18 4335

原创 多线程:守护线程有什么样的作用?

看字面意思,大多数新手认为守护线程的意思是守护好别的线程,不让他们结束。实际的意思是把一个线程标记为“守护线程”,就是当他是一个“后台线程”or“内部线程”,类似于管理内存垃圾回收的线程一样。Java程序入口就是由JVM启动main线程,main线程又可以启动其他线程。当所有线程都运行结束时,JVM退出,进程结束。如果有一个线程没有退出,JVM进程就不会退出。所以,必须保证所有线程都能及时结束。但是有一种线程的目的就是无限循环,例如,一个定时触发任务的线程:class TimerThread ex

2020-08-18 11:10:43 10510

原创 并发:理解Java中volatile关键字到底有什么作用

什么情况下变量需要标记volatile?线程间共享变量需要使用volatile关键字标记,确保每个线程都能读取到更新后的变量值。为什么要对线程间共享的变量用关键字volatile声明?这涉及到Java的内存模型。在Java虚拟机中,变量的值保存在主内存中,但是,当线程访问变量时,它会先获取一个副本,并保存在自己的工作内存中。如果线程修改了变量的值,虚拟机会在某个时刻把修改后的值回写到主内存,但是,这个时间是不确定的!如下图所示:假设,变量a为布尔类型,主内存的变量a = true,线程1执行a =

2020-08-18 10:51:17 4713 1

原创 机器学习基础随笔(10)

Tips for Deep Learning本文会顺带解决CNN部分的两个问题:1、max pooling架构中用到的max无法微分,那在gradient descent的时候该如何处理?2、L1 的Regression到底是什么东西本文的主要思路:针对training set和testing set上的performance分别提出针对性的解决方法1、在training set上准确率不高:new activation function:ReLU、Maxoutadaptive learni

2020-08-15 21:42:56 4453

原创 机器学习基础随笔(9)CNN(2)

CNN(2)参考李宏毅PPT和课程所做的总结笔记人们常常会说,deep learning就是一个黑盒子,你learn完以后根本就不知道它得到了什么,所以会有很多人不喜欢这种方法,这篇文章就讲述了三个问题:What does CNN do?Why CNN?How to design CNN?What does CNN learn?what is intelligent如果今天有一个方法,它可以让你轻易地理解为什么这个方法会下这样的判断和决策的话,那其实你会觉得它不够intelligent;它必须

2020-08-14 15:56:08 4420

原创 机器学习基础随笔(8)CNN

CNNCNN常常被用在影像处理上Why CNN for Image?CNN V.s. DNN我们当然可以用一般的neural network来做影像处理,不一定要用CNN,比如说,你想要做图像的分类,那你就去train一个neural network,它的input是一张图片,你就用里面的pixel来表示这张图片,也就是一个很长很长的vector,而output则是由图像类别组成的vector,假设你有1000个类别,那output就有1000个dimension但是,我们现在会遇到的问题是这样子

2020-08-12 20:05:06 4326

原创 机器学习基础随笔(7)反向传播

BackpropagationBackpropagation(反向传播),就是告诉我们用gradient descent来train一个neural network的时候该怎么做,它只是求微分的一种方法,而不是一种新的算法Gradient Descentgradient descent的使用方法,跟前面讲到的linear Regression或者是Logistic Regression是一模一样的,唯一的区别就在于当它用在neural network的时候,network parameters θ

2020-08-10 21:18:21 4265 1

原创 机器学习基础随笔(6)Deep Learning

Deep Learning参考资料:台湾大学李宏毅机器学习课程和PPTDeep learning跟machine learning一样,也是“大象放进冰箱”的三个步骤:在Deep learning的step1里define的那个function,就是neural network神经网络我个人的理解:深度学习就是多层神经网络,有着多层隐藏层,所以显得有“深度”Neural Networkconcept把多个Logistic Regression前后连接在一起,然后把一个Logistic R

2020-08-07 20:29:42 4667

原创 机器学习基础随笔(5)Logistic Regression

Logistic RegressionThree Steps of machine learningStep 1:function set这里的function set就是Logistic Regression——逻辑回归wiw_iwi​:weight,bbb:bias,σ(z)\sigma(z)σ(z):sigmoid function,xix_ixi​:inputStep 2:Goodness of a function现在我们有N笔Training data,每一笔data都要标注它是属

2020-08-05 11:13:43 4481

原创 机器学习基础随笔(4)

Classification: Probabilistic Generative Model参考来源于2020台湾大学李宏毅课程和PPTClassification概念描述分类问题是找一个function,它的input是一个object,它的输出是这个object属于哪一个class还是以宝可梦为例,已知宝可梦有18种属性,现在要解决的分类问题就是做一个宝可梦种类的分类器,我们要找一个function,这个function的input是某一只宝可梦,它的output就是这只宝可梦属于这18类

2020-08-03 09:42:33 4252

原创 机器学习基础随笔(3)

梯度下降参考来源于2020台湾大学李宏毅的课程和PPT之前梯度下降用在预测宝可梦cp值θ∗=arg⁡min⁡θL(θ)\theta^{*}=\arg \underset{\theta}{\min} L(\theta) \quadθ∗=argθmin​L(θ)L : loss functionθ:\theta:θ: parameters(上标表示第几组参数,下标表示这组参数中的第几个参数)假设θ\thetaθ是参数的集合:Suppose that θ\thetaθ has two variab

2020-08-01 21:31:12 4264

原创 机器学习基础随笔(2)

回归**参考来源于2020台湾大学李宏毅课程和PPT问题的导入:预测宝可梦的CP值根据已有的宝可梦进化前后的信息,来预测某只宝可梦进化后的cp值的大小supervised设定具体参数XXX: 表示一只宝可梦,用下标表示该宝可梦的某种属性XcpX_{cp}Xcp​:表示该宝可梦进化前的cp值XsX_sXs​: 表示该宝可梦是属于哪一种物种,比如妙瓜种子、皮卡丘…XhpX_{hp}Xhp​:表示该宝可梦的hp值即生命值是多少XwX_wXw​: 代表该宝可梦的重重量XhX_hXh​

2020-08-01 14:46:52 4320

原创 机器学习基础随笔(1)

Introduction学习资料为台湾大学李宏毅课程和pptdefine a set of function(model) -> goodness of function -> pick the best functionSupervised Learning(监督学习)supervised learning 需要大量的training data,这些training data告诉我们说,一个我们要找的function,它的input和output之间有什么样的关系而这种funct

2020-08-01 14:35:16 4266

空空如也

空空如也

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

TA关注的人

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