自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (8)
  • 收藏
  • 关注

原创 区块链用到的技术

区块链的核心技术加密算法 P2P 共识算法 智能合约 分布式存储 加密算法 目的保证数据的安全,防止数据被非法窃取验证身份,应用于数字签名或者数字证书,在不暴露身份的前提下知道“我是我”手段对称加密:加密和解密使用的密钥相同非对称加密 :加密和解密使用的密钥不同P2P 形式对等计算机网络(Peer-to-Peer)消除了中心化的节点结构将所有网络参与者视为对等者并使其参与网络维护共识算法 重要性与中心化的架构不同,区块链的每个节点平

2022-05-26 16:43:55 2865

原创 区块链的数据结构和数据存储

区块链的数据结构和数据存储一 区块链是什么1.1 公链1.2 联盟链1.3 私链二 公链BTC和联盟链长什么样2.1 共性2.2 特性三 区块链为什么安全防篡改四 区块链可以做什么4.1 货币发行(比特币)4.2 证明4.3 中介形式的商业体一 区块链是什么区块链主要分三种,本质上是一种块状存储的链,与寻常的链表不同,链条的每一个节点是根据场景衍生的区块,一般用分布式存储数据,防篡改可溯源:公链联盟链私链上述三种区块链是基于不同场景诞生的不同业务结构,因此其核心的数据结构和数据存储方式略有不同

2022-05-25 15:04:46 4681

原创 Redis缓存穿透+解决(布隆算法)

一 Redis缓存穿透缓存穿透是怎么发生的?查询的数据在缓存数据库中没有命中,从而需要到数据库中寻找。如果缓存穿透只是偶尔发生, 那么无伤大雅,但是如果有人恶意攻击呢?假设这样一种场景:根据订单编号查询,系统的编号规则是从1开始,但是黑客故意输入-1等不可能命中的数据呢?那么必然会发生缓存穿透,如果发生大量诸如此类的恶意穿透,就会给数据库造成极大的压力,甚至崩溃。二 解决方法2.1 增加无意义热点数据即使查到的值为空,也将数据对保存进热点数据,但是这么做不仅会造成缓存中无意义数据增加,也不能从根

2022-04-19 12:16:50 800

原创 分布式缓存的切片模式-hash一致性切片

文章目录一 为什么使用缓存二 为什么使用分布式三 使用什么模式四 常规切片模式的弊端五 更加犀利的切片模式-hash一致性切片六 不完美的数据倾斜以及解决方案6.1 数据倾斜6.2 解决办法一 为什么使用缓存当前,我们通常使用Redis缓存,因为它有更多的数据类型,并且支持事物。之所以要使用缓存,是为了缓解查询数据库时的IO压力,我们将经常查的热点数据放到缓存里(内存中),当然比存在磁盘上的mysql数据库快了。二 为什么使用分布式那为什么要使用分布式架构呢?第一就是解决一台redis服务器容量不

2022-04-18 20:31:57 468

原创 java泛型

文章目录一 泛型&作用1.1 泛型是什么1.2 泛型的作用二 java泛型原理&泛型擦除2.1 泛型原理2.2 泛型擦除2.3 实例三 泛型问题3.1 重载3.2 catch3.3 泛型类包含静态变量一 泛型&作用1.1 泛型是什么java5中引入泛型,允许在定义类或者接口时使用类型参数1.2 泛型的作用拿List来说,如果没有泛型,我们想创建一种Integer链表类型,需要创建一个List类型,如果需要String链表呢?再建一个List类型,可以看出这样建立的方式非常繁

2022-04-05 19:38:14 181

原创 JAVA中的反射机制以及在Spring中的应用

文章目录一 反射机制二 反射机制的使用-Class类三 为什么要使用反射3.1 静态编译3.2 动态编译3.3 反射的好处3.4 反射的缺点四 Spring IOC中的体现4.1 Spring IOC的实现方式4.2 代码实现纯工厂模式4.3 反射+工厂模式4.4 配置文件+反射+工厂模式=Spring IOC一 反射机制反射机制,就是指程序可以获得自己的属性和方法。java中,只要知道类的名字,就可以通过反射机制获取类的所有属性以及方法二 反射机制的使用-Class类java中的反射机制,主要靠C

2022-04-03 21:38:50 3663 1

原创 IO五种模型详解

文章目录一 IO流-输入输出流1.1 IO是什么1.2 形式一 IO流-输入输出流1.1 IO是什么IO就是输入和输出的简称,从计算机组织架构理解,IO就是计算机核心(cpu和内存)与磁盘交互的过程。从磁盘读取数据到内存和把内存数据写回磁盘都是IO操作。应用程序的IO就是指将进程内部数据输出到外部,或将外部数据输入到进程内部1.2 形式字节流:操作byte类型数据,主要操作类是OutputStream、InputStream子类,不需要缓冲区,直接对文件进行操作字符流:操作char类型数据,主

2022-04-02 21:54:19 1220

原创 JAVA中常量池、运行时常量池和串池的区别

文章目录一 常量池的作用1.1 字面量1.2 符号引用二 运行时常量池三 字符串常量池一 常量池的作用每一个class文件都有一个常量池,常量池保存着class的常量信息:字面量和符号引用。通俗来说,常量池就是class文件中的资源仓库,保存了文件运行时需要的常量信息,这些常量都是开发者定义出来的。我们知道,每一个class文件都是javac编译来的,在编译过程中,java并没有保存方法、字段的内存布局,在运行时必须加载解析这些常量信息才能够将其翻译到具体的内存地址加以使用。1.1 字面量通俗的讲

2022-03-31 18:51:33 1630

原创 Integer的缓存机制

文章目录一 现象二 Integer的缓存机制2.1 自动装箱等效于valueOf2.2 valueOf2.3 IntegerCache三 为什么要有缓存机制3.1 原因3.2 其他包装对象的缓存一 现象在引入Integer的缓存机制前,可以先判断一下以下几种情况 # 一:自动装箱 Integer s1 = 2; Integer s2 = 2; System.out.println(s1 == s2); # 答案为true

2022-03-30 22:15:57 2422 4

原创 JAVA面向对象的五大基本原则

文章目录原则一:单一职责原则原则二:开放封闭原则原则三:LisKov替换原则原则四:依赖倒置原则原则五:接口隔离原则了解面向对象的思想时,之前仅仅了解了面向对象的三大特性,最近才发现原来面向对象在编程时还有五道金科玉律,这五大基本原则不必一定要遵守,但如《OOD启示录》中所说的:“你并不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看做警铃,若违背了其中的一条,那么警铃就会响起。”原则一:单一职责原则简单来说,我们所创建的每一个类的职责越单一,越专注最好,最好只做一件事。是面向对

2022-03-30 16:30:33 2062

原创 进程间的通信方式

文章目录一 进程通信概念二 进程间通信方式2.1 管道/匿名管道管道的实质局限2.2 有名管道(FIFO)2.3 信号来源2.4 消息队列特点2.5 共享内存2.6 信号量互斥同步信号量的实现2.7 Socket套接字套接字三个参数连接过程(类比于tcp三次握手)一 进程通信概念进程间为什么需要通信?计算机给进程在内存中分配的位置是不一样的,正是因为这种隔离,不像线程那样共享资源,因此需要通信。但是进程之间互相并不知道其他进程的位置,所以进程之间交换数据必须通过内核,在内核中开辟一块缓冲区,进程一把数据

2022-03-29 14:50:57 3852

原创 TCP如何保证传输可靠

文章目录一 ARQ(Automatic Repeat-reQuest )1.1 停止等待ARQ1.2 连续ARQ二 流量控制(滑动窗口RWND)场景目的手段三 拥塞控制(拥塞窗口CWND)场景和目的手段拥塞控制算法过程tcp是一种面向连接,可靠的传输控制协议,那么tcp是如何保证传输可靠的呢?本文只细数其三个策略一 ARQ(Automatic Repeat-reQuest )ARQ,自动重传请求。是传输层和数据链路层用来纠错的协议之一。顾名思义,会在传输出错时自动重传。ARQ使用确认和超时两个两个机制

2022-03-28 19:41:35 2023

原创 在浏览器中访问网页的全过程

文章目录一 表象1.1 输入url -> 跳转页面1.2 状态码二 实际过程2.1 输入url - > 解析url(应用层)2.2 建立连接(传输控制层)2.3 发送连接数据(网络层)2.4 请求在网络中游走(数据链路层)2.5 服务器处理请求2.6 服务器发回响应2.7 显示网页(应用层)三 访问过程中用到的协议或手段解析3.1 DNS(域名解析系统)3.2 TCP(传输控制协议)一 表象1.1 输入url -> 跳转页面我们浏览页面,通常分成两步:输入url:填入网址跳转页

2022-03-28 11:48:57 6585

原创 如何保证Redis缓存和数据库双写一致性

文章目录一 缓存和数据库双写有什么问题1.1 设置过期时间的策略一 缓存和数据库双写有什么问题想要知道如何解决问题,必须先知道问题是什么?那缓存和数据库双写会有什么问题?1.1 设置过期时间的策略一般来说,我们会选择设置过期时间的策略来保证最终一致性...

2022-03-27 14:16:23 1210

原创 Redis设置过期以及内存淘汰策略

文章目录一 Redis设置过期时间二 Redis过期回收机制定期删除惰性删除为什么不直接删除所有过期值三 Redis过期回收机制的问题四 解决Redis过期回收机制的问题(内存淘汰)内存淘汰策略volatile-lruvolatile-ttlvolatile-randomallkey-lruallkey-randomno-evictionvolatile-lfuallkey-lfu一 Redis设置过期时间Redis有一个很实用的功能,可以为数据库的值设置过期时间。这在很多场景下都有用,例如一定时限内有

2022-03-26 22:43:46 681

原创 Redis的线程模型和常用数据结构

文章目录一 Redis是个啥?二 为什么要用Redis?高性能高并发三 线程模型四 常用数据结构StringListSetMap一 Redis是个啥?要知道Redis的线程模型,首先要知道Redis是什么?其实很简单,Redis就是数据库。那Redis和MySQL有什么不一样呢?Redis是存在内存上的,MySQL是存在磁盘上的,因此Redis的读写速度很快。Redis常被用做缓存,为了适应不同的业务场景,还提供了多种数据类型:String,Set,ZSet,List,Map。除此之外,Redi

2022-03-26 21:17:20 1675

原创 SQL语句在MYSQL中如何执行

2022-03-26 13:30:11 1728

原创 线程死锁的条件和解决死锁

2022-03-26 10:53:46 383

原创 MYSQL事务和INNODB下的锁机制

文章目录一 什么是事务二 事务四大特性原子性一致性隔离性持久性三 事务四大隔离级别Read Uncommited(读未提交)Read Commited(读已提交)Repetable-Read(可重复读)SERIALIZABLE(可串行化)四 为什么要有事务隔离级别五 INNODB默认隔离级别六 INNODB锁机制record lockgap locknext-key lock一 什么是事务想要真正了解事务,首先要知道什么是事务。常见例子就是转账,A转账给B一共2000元,这个操作其实有两步,第一步要从A

2022-03-25 20:26:03 1210

原创 MYSQL的存储引擎为什么大部分情况下都用innodb不用myisam

文章目录一 什么是MYSQL二 存储引擎三 MYISAM四 INNODB五 总结对比六 业务场景一 什么是MYSQL想要知道这个问题,首先要知道什么是mysql,mysql数据库是一种关系数据库。其稳定性在目前的企业开发中得到验证,而且由于它是开源的,所以支持企业在使用中对其源码进行自己的修改,当然,这种修改需要许可。二 存储引擎其次,存储引擎的概念也要弄清楚。要知道,存储引擎是mysql才有的概念,其他数据库管理系统是不具有这个概念的。拿什么是存储引擎呢?我们在将数据存到数据库中时,是以一张张

2022-03-25 17:20:17 1160

原创 关于java实现四个数的自动混合运算思路

文章目录问题手动解法思路程序实现思路诚邀解题问题给定一个数组[3 3 8 8],和一个数k,k = 24, 可以使用加减乘除和括号,问如何使用前四个数计算才可以得到24?手动解法思路在被提到这个问题的时候一瞬间是懵的,但是也很兴奋,很快就可以判断出只使用加减是不能成功的,所以肯定会使用到乘除。下面就是凑的过程,既然有乘除,那么选定一个数8,只需要凑一个3出来与之相乘即可。发现另外3个数不能凑成3,换个思路,凑成1/3也行,那么必须要有一个以3为底分数,只能是8/3,判断出(3-(8/3))=1/3

2022-03-21 22:44:31 552

原创 JAVA线程池归纳

文章目录线程池常见参数优势java常见线程池类型1 newCachedThreadPool2 newFixedThreadPool3 newSingleThreadPool4 newScheduledThreadPool选用什么线程池拒绝策略线程池常见参数当前线程数:线程池中实际工作者线程的数量核心线程池大小:核心线程数量最大线程池大小: 最大线程数量优势线程池已经创建好一部分线程待使用,因此节省了一部分线程创建和销毁的开销可以重复利用已经创建好的线程,节约了创建的时间更好的管理线程

2022-03-17 22:06:10 196

原创 排序算法的稳定性

文章目录稳定性体现稳定性应用各个算法的稳定性稳定性体现最初听到稳定性这个概念时,我认为稳定性是体现在时间复杂度上,例如快排的时间复杂度并不稳定,最差情况会退化到O(n^2),但实际定义并不是如此其实排序算法的稳定性体现在其相同键值的两个对象在排序后相对位置并不改变稳定性应用比如氪金的场景下,假设我们以充值费用的高低来决定玩家在游戏中享受进入副本的先后,当充值费用相同时,我们以需要以充值的先后来决定玩家进入副本的顺序,如果排序不稳定,则无法保证先充值的玩家先进入各个算法的稳定性冒泡:稳

2022-03-17 19:18:28 228

原创 String类型为什么被设计成不可变

文章目录String不可变原因方便串池设计安全加快处理String不可变原因public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash code

2022-03-17 16:05:17 854

原创 HashCode和equal的区别

文章目录hashcode算法的实现equalhashcode和equal的关系HashMap的设计hashcode算法的实现String,Integer等类复写了hashcode方法,有自己的实现方式Object类调用本地方法库实现了,可以用来比较内存地址,不是java编写的源码每个类都可以复写hashcode方法,但要遵守一定的规则equalequal也可以被复写,大部分对象中都是比较值是否相等,但在Object类中却是比较值是否相等hashcode和equal的关系由以上的定义

2022-03-17 15:52:19 472

原创 Maven配置国内镜像源

文章目录两次shift调出搜索框,搜索settings.xml,更改其内容为下:<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap

2022-03-04 14:51:43 2297

原创 conda虚拟环境移植到离线电脑中

迁移起因客户的电脑无法连接外网,要部署检测任务的环境,想到如果能直接迁移虚拟环境就方便了,查阅资料后果然可以,特此记录。迁移步骤复制虚拟环境整个包到新电脑cloneconda create -n DATA_COPY --clone DATAclone后面跟虚拟环境在新电脑的储存路径...

2022-03-03 16:09:05 315

原创 JAVA常见知识点整理

目录一、JAVA==JAVA常数默认类型==== 访问权限控制符====成员变量、类变量、局部变量的区别====重载/重写====final====接口====线程====StringBuilder&StringBuffer====Object类中含有的常见方法====HashMap====JSP的9个内置对象====常见注解功能====JAVA并发编程的三个概念==二、算法三、数据结构四、计算机网络五、SPRING六、设计模式==单例模式==一、JAVAJAVA常数默认类型整数型默认为in

2022-02-25 22:48:58 398 1

原创 火焰检测方法和数据集记录

文章目录深度学习检测方法yolov传统检测方法深度学习检测方法yolovyolov4-tiny-pytorch版火焰检测(有标签数据集)yolov5火焰和源码数据集2059张 测试效果视频传统检测方法small-fire-detect

2021-12-27 16:36:34 2046

原创 Character和char Integer和int区别

文章目录新建栈出错区别新建栈出错学习java语言不久,在刷leecode时新建一个Char栈屡屡报错,代码如下:Stack<char> stack=new Stack<>();错误有点傻,因为新建Stack,栈中应该放的是类而不是基本数据类型,这和他的实现有关,因此去重刷了一遍Character和char Integer和int区别。正确代码如下:Stack<Character> stack=new Stack<>();区别Charact

2021-12-23 18:33:58 518

原创 JVM,JRE,JDK三者区别

文章目录jvm(java Virtual Machine)JRE(javaRuntimeEnvironment)JDK(java SE development kit)jvm(java Virtual Machine)java虚拟机是java能够实现跨平台运行的核心,功能是解释java字节码文件,不同平台的JVM向编译器提供相同的接口,编译器只需将java文件编译成与平台无关的字节码文件,可以让JVM识别。JRE(javaRuntimeEnvironment)java运行时环境,用于解释执行java

2021-12-19 17:07:49 528

原创 八皇后问题代码

public class EgihtQueue { int max=8; int[] queen=new int[max]; int count=0; boolean[] flag={true,true,true,true,true,true,true,true};//判断该列是否被占领 boolean[] d1={true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,tr

2021-12-09 12:35:55 194

原创 中缀表达式转后缀表达式并计算+代码实现

文章目录规则例子计算规则规则正常的表达式称为中缀表达式,我们用两个栈分别存储运算符和表达式,将存储表达式的栈称为A,存储符号的栈称为B。从左到右扫描中缀表达式:如果遇上数字,入A栈遇上符号比较算数优先级对于括号,分左缀和右缀,只有当左缀和右缀同时对应时,左缀和右缀弹出栈B抵消,并将符号中的运算符一并弹出栈B,入栈A无括号时一个一个符号入栈B,当符号比B栈顶符号优先级高时,直接入B栈当符号比B栈顶符号优先级低时,将B栈顶符号弹出入栈A,该符号也入栈A当扫描完成,将B栈所有符号依次弹

2021-12-05 10:38:04 175

原创 SpringMVC执行流程

文章目录流程结构图流程介绍SpringMVC接口流程结构图流程介绍1 用户点击某个请求路径,发起一个HTTP request请求,该请求被提交到前端控制器2 前端控制器请求一个或多个HandlerMapping(处理器映射器),并返回一个执行练3 前端控制器将执行链返回的Handler信息给处理器适配器4 处理器适配器根据Handler信息找到并执行相应的Handler(常称为Controller)5 Handler执行完毕后会返回给处理适配器一个ModelAndView对象(Spring

2021-12-02 21:23:28 239

原创 java学习栈笔记

文章目录栈的一个实际需求栈的介绍数组模拟栈的思路分析实现计算器思路实现栈的一个实际需求输入一个表达式计算:7*7*2-5+1-5+3-3计算机底层式如何运算得到结果的?不是简单的把算是列出运算,计算机是如何理解这个算式的(对计算机而言,它接受到的就是一个字符串),用栈栈的介绍stack是一个先入后出的有序列表栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一段,称为栈顶,另一端为固定的一端,称为栈底(Bottom)。根

2021-12-02 19:42:07 50

原创 java基本数据类型为何不可以用==与null判断

文章目录基本数据类型对象或引用类型基本数据类型基本数据类型就是数据。对象或引用类型对象或引用类型其实只是指向数据的指针,在存储变量的内存位置,所拥有的只是对数据实际位置的引用。...

2021-12-01 18:56:13 555

原创 JVM内存结构

文章目录内存结构1、程序计数器1.1、定义2、虚拟机栈2.1、定义问题辨析2.2、栈内存溢出2.3、线程诊断3、本地方法栈4、堆4.1、定义4.2、堆内存溢出4.3、堆内存诊断5、方法区5.1、定义5.2、方法区内存溢出5.3、常量池5.4、StringTable特性5.5、StringTable性能调优内存结构1、程序计数器1.1、定义Program Counter Register程序计数器(寄存器)作用:记住下一条jvm指令的执行地址物理上是通过寄存器来实现的特点:线程私

2021-11-30 20:27:42 251

原创 JVM简介

文章目录引言1、什么是JVM?定义:好处:比较:2、学习JVM有什么用引言1、什么是JVM?定义:Java virtual Machine-java程序的运行环境(java二进制字节码的运行环境)好处:一次编写,到处运行自动内存管理机制,垃圾回收功能数字下标越界检查多态(同一个行为具有不同表现形式或形态的能力,同一个接口不同的实例进行不同的操作)比较:jvm jre jdk比较2、学习JVM有什么用面试有效理解底层的实现原理中高级程序员的必备技能...

2021-11-30 13:57:20 327

原创 Spring jdbcTemplate基本使用

JdbcTemplate开发步骤导入spring-jdbc和spring-tx坐标创建数据库表和实体创建JdbcTemplate对象执行数据库操作<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.0.5.

2021-11-28 11:54:30 485

原创 SpringMVC获得请求数据

文章目录MVC请求数据方式MVC获取数据细节MVC请求数据方式基本类型参数pojo类型参数数组类型参数集合类型参数MVC获取数据细节中文乱码问题@RequestParam和@PathVariable自定义类型转换器获得Servley相关API@RequestHeader和@CookieValue文件上传...

2021-11-27 21:41:28 200

yolov5训练火光检测效果

利用yolov5训练的火光烟雾检测图片效果图

2022-01-06

workspace.rar

workspace.rar

2021-11-20

2018 Improved Techniques for Learning to Dehaze and Beyond_ A Collective Study

2018 Improved Techniques for Learning to Dehaze and Beyond_ A Collective Study

2021-04-02

2015 Learning Transferable Features with Deep Adaptation Networks.pdf

2015 Learning Transferable Features with Deep Adaptation Networks.pdf

2021-04-02

2014 Deep Domain Confusion_ Maximizing for Domain Invariance.pdf

2014 Deep Domain Confusion_ Maximizing for Domain Invariance.pdf

2021-04-02

2019 A Robust Learning Approach to Domain Adaptiv.pdf

域适应

2021-03-17

2018 Domain Adaptive Faster R-CNN for Object Detection in the Wild.pdf

目标检测,机器学习

2021-03-17

Unsupervised Domain Adaptation by Backpropagation.pdf

Unsupervised Domain Adaptation by Backpropagation.pdf

2021-03-17

空空如也

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

TA关注的人

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