- 博客(99)
- 收藏
- 关注
原创 论文阅读:Deep Joint Rain Detection and Removal from a Single Image
2017 CVPR:JORDERJORDER: JOint Rain DEtection and Removal文章主要提出了一种多任务的联合检测和去除的去雨网络。创新之处:1、对雨的建模进行改进,增添了一个二值映射,形成了一个区域依赖的雨模型用于提供雨纹位置。同时还对大雨情况下因为雨纹的累积以及不同形状和方向雨纹的重叠形...
2021-11-23 20:23:07
2902
1
原创 论文阅读:Recurrent Squeeze-and-Excitation Context Aggregation Net for Single Image Deraining
2018 ECCV:RESCAN本篇文章是2018年ECCV的一篇文章,也很出名,主要是提出了一种递归的SE上下文扩张网络来完成单幅图像的去雨。
2021-11-23 20:22:51
3283
2
原创 论文阅读:Selective Kernel Networks
这是一篇算是结构性的文章,拿来看一下2019CVPR : SK-NetSelective Kernel Networks 由字面意思,选择性内核网络,可以自适应调整核大小的网络。拟解决问题: 标准的CNN中,每一层的人工神经元的感受野设计为相同的大小。但是视觉皮层神经元的感受野大小是受刺激调节的,人工构造则没有考虑到这一点。这样就会导致在捕捉特征的时候无法很准确地捕捉特征。本文则是提出了一种动态选择机制,允许每个神经元根据输入信息的多个尺度自适应调整感受野的大小。设计了一种被称为选择内核(SK)单
2021-11-23 20:22:36
2184
原创 论文阅读:Multi-Scale Progressive Fusion Network for Single Image Deraining
坐得住凳子。2020CVPR:MSPFN这篇文章是2020CVPR的一篇文章,作者来自武汉大学。文章主要结合金字塔结构、信道注意力机制进而协同地表示出多尺度的雨纹信息,提出了一种MSPFN网络。代码:戳我本文主要提出了一种多尺度渐进融合网络(MSPFN)。对于雨的成像原理,由于雨和相机之间的距离不同,导致图片中的雨水会呈现出不同的模糊度和分辨率,因此可以利用多分辨率和多尺度之间的互补信息来表示雨纹。本文主要提出了一个框架从输入图像尺度和层次深度特征的角度,探讨了雨纹的多尺度协同表示,进而完成去雨
2021-11-23 20:18:25
6074
5
原创 论文阅读: Gated Context Aggregation Network for Image Dehazing and Deraining
今天发现自己构思了很久的一个想法,已经初步成型 的网络,在ArXiv上发现了已经成型的论文。害,现在心情很down2018 WACV :GCANet这篇文章主要结合平滑扩张卷积以及提出了一种门限融合子网络来完成图像的去雾和去雨,效果比较好。本片文章主要是提出了一个端到端门控上下文聚合网络来直接恢复最终的无模糊图像。在该网络中,我们采用最新的平滑扩张卷积技术来帮助去除广泛使用的扩张卷积引起的网格伪影,而额外的参数可以忽略,并利用门控子网络融合不同层次的特征。主要关键词: 平滑扩张卷积 + 门控融合
2021-11-23 20:17:53
2983
9
原创 线程通信--
三个线程实现顺序打印0aA1bB//1、 park--unparkpublic class Main { static Thread threadA,threada,threadN; public static void main(String[] args) { Print2 print = new Print2(); threadA = new Thread(()->{ for(int i=0;i<26;i++){
2021-08-31 12:56:39
116
原创 Redis
Redis1、什么是Redis?Redis是一个使用C语言开发的数据库,与传统数据库不同的是,Redis的数据存在内存中,是内存数据库,读写速度快,被广泛用于数据缓存。Redis除了用作缓存,还可以用来做分布式锁,甚至是消息队列。Redis提供了多种数据类型支持不同的业务场景。Redis还支持事务、持久化、Lua脚本、多种集群方案等。什么场景下使用Redis?配合关系型数据库用作高速缓存用作分布式锁用作缓存队列发布订阅场景为什么redis快?(1)redis是运行在内存的,自然
2021-08-13 23:01:50
1035
原创 浅析单例模式
1、静态内部类部分 :public class Singleton { private Singleton() { } private static class SingletonHolder { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getUniqueInstance() { return Sing
2021-07-22 22:57:07
189
原创 SpringBoot
SpringBootSpringBoot Controller从前端取参数的方式:第一类:请求路径参数1、@PathVariable获取路径参数。即url/{id}这种形式。2、@RequestParam获取查询参数。即url?name=这种形式第二类:Body参数1、@RequestBody2、无注解第三类:请求头参数以及Cookie1、@RequestHeader2、@CookieValue@GetMapping("/demo3")public void demo3(
2021-06-29 21:16:31
247
原创 SpringMVC
Spring MVCSpring MVC 简单概述:Model1:早期 Java Web 的开发中,统一把显示层、控制层、数据层的操作全部交给 JSP 或者 JavaBean 来进行处理[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U5ZZLPZC-1624972406395)(./Java工程.assets/model11.png)]JSP 和 Java Bean 之间严重耦合,Java 代码和 HTML 代码也耦合在了一起要求开发者不仅要掌握 Java ,还要
2021-06-29 21:15:00
467
原创 Spring
MyBatis0、MyBatis、JDBC、Hibernate、IBatis对比:1、JDBC 的缺点:工作量较大。需要先连接,然后处理JDBC底层事务,处理数据类型。需要操作Connection对象、Statement对象和ResultSet对象去取数据,并准确关闭它们。要对JDBC的编程可能产生的异常进行捕捉处理并正确关闭资源。在工程中很少使用JDBC编程,通常使用对象关系映射(Object Relational Mapping,ORM),将数据库对象和POJO相互映射。2、Hibern
2021-06-29 21:09:37
243
原创 MyBatis
MyBatis0、MyBatis、JDBC、Hibernate、IBatis对比:1、JDBC 的缺点:工作量较大。需要先连接,然后处理JDBC底层事务,处理数据类型。需要操作Connection对象、Statement对象和ResultSet对象去取数据,并准确关闭它们。要对JDBC的编程可能产生的异常进行捕捉处理并正确关闭资源。在工程中很少使用JDBC编程,通常使用对象关系映射(Object Relational Mapping,ORM),将数据库对象和POJO相互映射。2、Hibern
2021-06-29 21:07:38
455
原创 关于push()、pop()、offer()、poll()
之前一直以为push和offer方法都一样,今天做一道题,使用栈进行实现。发现有所不同,读一下源码观察一下发现源码都是封装好的hh—源码读起来真开心// Deque 继承自 Queue 继承自 Collection 继承自 Iterable--Iterable实现迭代器public interface Deque<E> extends Queue<E> {}public interface Queue<E> extends Collection<E>
2021-05-26 11:49:20
9530
1
原创 Java8 新特性
本来打算通过看书《Java 8 函数式编程》,然后加深对Java 8特性的学习;但读书还是慢的,可能也有些浮躁,看不下去书。先速成一波,对一些我不知道的功能先进行一个了解,然后再通过看书进行补充。概要:Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。方法引用 −方法引用提供了非常有用的语法,可以直接引用已有Java类或
2021-05-25 20:24:17
231
2
原创 详解序列化和反序列化
序列化的最终目的就是为了对象可以跨平台存储及进行网络传输。进行跨平台存储和网络传输的方式就是IO,IO支持的数据格式是字节数组。并且我们还需要将字节数组还原回对象的原来模样,因此需要在对象转换成字节数组时就制定一种规则–序列化1、概念把Java对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为对象的过程称为对象的反序列化。2、序列化的用途:核心作用就是对象状态的保存和重建–字节流中所保存的对象状态及描述信息把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中 --(持久化对象)
2021-05-21 20:13:37
480
1
原创 Thrift
Apache Thrift–概述与入门0、前言RPC框架远程过程调用(Remote Procedure Call, RPC),是一种可以通过网络从远程计算机程序上请求服务的计算机通信协议。RPC框架的开发步骤:1、定义一个接口说明文件:描述对象(结构体)、对象成员、接口方法等信息;2、通过RPC框架所提供的编译器,将接口说明文件编译成具体的语言文件;3、在客户端和服务器端分别引入RPC编译器所生成的文件,即可像调用本地方法一样调用服务器端代码。RPC框架工作流程:1、服务消费者(cli
2021-05-21 19:32:53
884
原创 REST&RESRful
RESTful API 编写指南RESTful架构风格概述REST架构风格REST1、什么是REST?“REST不是一种协议,也不是一种文件格式,更不是一种开发框架。它是一系列设计约束的集合。” --是一组架构约束条件和原则。REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)REST(REpresentational State Transfer)–表现层状态转移–是一种软
2021-05-20 21:10:49
482
原创 Dubbo & Zookeeper
dubbo跟thrift都是比较常见的RPC框架。DubboDubbo只支持Java语言。Dubbo 的架构主要包含四个角色,其中 Consumer 是服务消费者,Provider 是服务提供者,Registry 是注册中心,Monitor 是监控系统。具体的交互流程是 Consumer 一端通过注册中心获取到 Provider 节点后,通过 Dubbo 的客户端 SDK 与 Provider 建立连接,并发起调用。Provider 一端通过 Dubbo 的服务端 SDK 接收到 Consumer
2021-05-20 20:20:12
3131
原创 RPC
需要精简1、常见的分布式应用架构风格:从架构风格的抽象高度来看,常见的分布式应用架构风格有三种:分布式对象(Distributed Objects,简称 DO)– 架构实例有 CORBA/RMI/EJB/DCOM/.NET Remoting 等等远程过程调用(Remote Procedure Call,简称 RPC)– 架构实例有 SOAP/XML-RPC/Hessian/Flash AMF/DWR 等等表现层状态转移(Representational State Transfer,简称 RE
2021-05-20 17:24:41
241
原创 Maven
简介:Maven是Apache下的一个纯Java开发的开源项目。基于项目对象模型POM的概念,Maven利用一个中央信息片段能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。~/.m2/repositoryMaven默认的本地仓库目录位置JDKMaven 3.3 要求 JDK 1.
2021-05-18 09:21:13
354
原创 Git指令合集
之前使用git同步代码都是直接在idea界面add、commit、push、update…直接使用软件界面内置的功能与mentor交流后,还是需要学习具体的git 命令,以便工作中使用。网上教程也很多…稍微做个记录git奇淫技巧–快速查询Git基本介绍:Git的工作是创建保存项目的快照与之后的快照进行对比。是一个版本控制工具。workspace:工作区域–持有实际文件staging area:缓存区域–临时保存改动local repository:本地仓库本地仓库的head:指向最后
2021-05-12 15:15:52
127
翻译 Java十大排序算法实现
十大排序算法–知乎十大排序算法–菜鸟教程import java.util.ArrayList;import java.util.Collections;public class Sort { public static void main(String[] args) { } // 1、冒泡排序 // 从最后一个索引位置开始,每次确定一个位置的数,保证后半段有序 // 第二层循环是从最前面一个一个比较,直到有序的位置 public static
2021-05-10 20:31:27
119
原创 深入理解volatile关键字
Volatile关键字为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized同步块:在多线程访问的时候,关键字synchronized可以保证同一时刻只能有一个线程执行某方法或某代码块。volatile关键字:多线程编程中,不希望对拷贝的副本进行操作,希望直接进行原始变量的操作(节约复制变量副本与同步的时间),就可以在变量声明时使用volatile关键字。使用volatile定义的变量在进行操作时直接进行原始变量内容的处理。被volatil
2021-05-10 13:29:57
190
1
原创 Map.Entry
interface Entry<K,V> { K getKey(); V getValue(); V setValue(V value); boolean equals(Object o); int hashCode(); public static <K extends Comparable<? super K>, V> Comparator<Map.Ent
2021-05-10 11:22:25
215
1
原创 2021四月实习部分面经
很吵,,,很突然。。。。1、介绍一下商城项目这一部分要在通顺一些。2、MySQL的锁3、设计数据库表,考虑那些方面?4、数据库的索引有什么作用?5、用什么算法实现数据结构?6、B+树查询的时间复杂度?7、除了B+树之外还有没有别的实现结构?—哈希索引、全文索引8、哈希的查询时间复杂度9、为什么使用B+实现,用哈希的不多?10、Hashmap和HashTable的区别?11、线程安全通过什么方式保证?12、出现哈希冲突的时候有哪几种解决方式?13、出现很多冲突的时候?14、红黑树
2021-05-10 10:35:24
181
原创 操作系统笔记
操作系统这部分,等面完下次面试再结合别人的博客进一步整理学习先针对面试题补一下空。1、什么是操作系统?1、操作系统(Operating System,OS)本质上是一个运行在计算机上的软件程序,用于管理计算机硬件与软件资源,是计算机的基石。2、操作系统的存在屏蔽了硬件层的复杂性,可以对硬件资源进行管理、分配、调度。3、操作系统向用户提供操作界面。4、操作系统是一种介于硬件和用户之间的特殊的软件。5、操作系统的内核是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理及应用程
2021-05-10 10:08:26
115
转载 MySQL及数据库部分笔记
之前的写的太碎了,把之前的四篇博客合在一起,去除代码及冗杂。一、数据库Database:用于存储和管理数据的仓库。使用MySQL客户端—Navicat for MySQL----使用介绍1、概述:特点:1、可以持久化地存储数据,本身是一个文件系统。2、可以方便地存储和管理数据。3、使用统一的SQL来操作数据库。data/mysql文件夹下 :文件夹对应数据库, .frm文件都是一些表安装目录下,my.ini 是配置文件。2、SQL:1、什么是SQL? 结构化查询语言(Struc
2021-04-08 17:39:48
466
原创 HTTP笔记
这部分本来没打算仔细看,后来发现面试的时候会问到我,再稍微看一看。面试题:在浏览器中输入url地址->显示主页的过程?1、DNS解析2、TCP连接3、发送HTTP请求4、服务器处理请求并返回HTTP报文5、浏览器解析并渲染页面6、结束连接面试题:各种协议和HTTP协议之间的关系:1、基础概念请求和响应报文客户端发送一个请求报文给服务器,服务器根据请求报文中的信息进行处理,并将处理结果放入响应报文中返回给客户端。请求报文结构:第一行包含了请求方法、URL、协议版本;接着多
2021-04-06 21:41:53
799
原创 谷粒商城学习(七)
记录一些视频中的讲述,后面整理的时候再进行补充修正。1、什么是事务?保证数据的一致性:对于复杂的业务操作,由于业务的复杂性,需要完成多表的增删改查并放在同一张元子里面同时提交和回滚,同时兼顾数据一致性,引入的就是事务。2、什么是分布式事务?在分布式环境下保持数据的一致性---保持事务一致性--在分布式的环境下有些业务需要并发处理,但是不同业务对应不同的数据及结构,不同的数据和结构如何在一个业务中同时提交或回滚。--其他的事务成功了,有一个事务没有成功进行了回滚,这样不行。---要死一起死
2021-03-27 18:02:56
280
原创 谷粒商城学习笔记---补充部分
初步记一下,后续整理1、秒杀及限流使用redis进行实现--开启商品的监控----使用redis的watch来保证秒杀的成功--multi-watch使用Redisson进行实现---getSemaphore-----tryAcquire();随机运气机制、先到先得机制2、限流限流,限制服务器的流量,单位时间内的吞吐数,处理请求的数量。漏桶算法:设置一个桶的容量,即最大承载值,如果大于这个容量直接false,时间间隔相乘速率。令牌桶算法:以一个恒定的速度往桶里放入令牌,而如果请求需要被
2021-03-27 15:29:42
217
原创 谷粒商城学习笔记(六)--搜索
1、搜索搜索:计算机根据用户输入的关键词进行匹配,从已有的数据库中摘录出相关的记录反馈给用户。若使用传统关系型数据库:1、对于传统的关系性数据库对于关键词的查询,只能逐字逐行的匹配,性能非常差。2、匹配方式不合理,比如搜索“小密手机” ,如果用like进行匹配, 根本匹配不到。但是考虑使用者的用户体验的话,除了完全匹配的记录,还应该显示一部分近似匹配的记录,至少应该匹配到“手机”。使用专业全文索引进行搜索:全文搜索引擎目前主流的索引技术就是倒排索引的方式。-----用内容去匹配索引传统的保
2021-03-26 22:29:39
768
1
原创 谷粒商城学习笔记(五)
1、项目整体流程2、FastDFS工作机理nginx+FastDFS:把文件服务单独管理起来,作为文件服务器。项目中,我们把FastDFS安装配置在虚拟机–作为存储商品图片的文件服务器。3、Example类Mybatis中Example类的使用 //修改属性 Example example = new Example(PmsBaseAttrInfo.class); example.createCriteria().andEqualTo("id", pmsBaseAttrInfo.getI
2021-03-24 14:55:59
598
原创 MySQL学习记录(四)
之前单独地学习过MySQL,项目中又有讲,作为对之前笔记的补充Select *fromJoin onWhereGroup ByHavingOrder byLimitFromJoin onWhereGroup byHavingSelectOrder byLimitFROM ONJOIN WHEREGROUP BY HAVING SELECT ORDER BYLIMIT左连接、右连接、内连接--LEFT、RIGHT、INNER------可以延伸出七
2021-03-19 13:53:38
126
原创 MySQL学习记录(三)
这一部分主要记录一下MySQL的一些本身的知识。1、B树、B+树、红黑树1、B TreeB Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。M=3 的 B树:B树(B-树) 是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子;且M>2; 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; 4.每个结点存放至少M/2-1(取上整)和至多M-
2021-03-19 13:52:47
270
原创 计算机网络--笔记
这一部分之前本科时学习过,但是忘了不少,还是仔细看一下,直接看cyc大佬的笔记。1、基本概念互联网:网络连接主机,互联网(internet)连接网络,互联网(Internet)是全球范围的互连网。ISP:Internet Service Provider,互联网服务提供商。可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。IXP:Internet Exchange Point,互联网交换点。目前的互联网是一种多层
2021-03-16 22:01:48
625
原创 Java IO -- 笔记
感觉这一部分,面试问不太多,快速看一下。同样还是看cyc大佬笔记1、Java IO分类:1、磁盘操作:File2、字节操作:InputStream、OutputStream3、字符操作:Reader、Writer4、对象操作:Serializable5、网络操作:Socket6、新的输入输出:NIO2、磁盘操作:File类File类可以用于表示文件和目录的信息,但是不表示文件内容。Java7开始,可以使用Paths和Files代替File//使用File类递归地列出一个目录下所有文件:
2021-03-13 23:48:39
175
原创 Java并发--笔记
有看过一部分,但是用得少,也没什么记性。瞎敲,cyc大佬的笔记,很多很碎,还是得敲。一、使用线程有三种使用线程的方法:1、实现Runnable接口 2、实现Callable接口 3、继承Thread类实现Runnable和Callable接口的类只能当做一个可以在线程中运行的任务,不是真正意义上的线程,因此最后还需要通过Thread来调用。可以理解为任务是通过线程驱动而执行的。插播面试题:线程和进程的区别?进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系
2021-03-12 23:41:18
293
原创 Java虚拟机--笔记
好记性不如烂笔头,对Java虚拟机部分做个笔记。–阅读cyc大佬的笔记一、运行时数据区域1、程序计数器是线程私有的。记录当前线程所执行的字节码的行号指示器,程序运行过程中,字节码解释器工作时就是通过改变计数器的值选取下一条需要执行的字节码指令,分支、循环、异常处理、线程恢复等基础功能都依赖计数器完成记录正在执行的虚拟机字节码指令的地址,如果正在执行的是本地方法则为空。2、Java虚拟机栈Java虚拟机栈是Java方法执行的内存模型,栈中存放栈帧,每个栈帧对应一个被调用的方法从方法调用至执行
2021-03-10 23:00:45
218
原创 Java容器--笔记
Java容器1、概述Collection:存储对象的集合1、Set 1、TreeSet:基于红黑树实现,支持有序性操作。查找效率不如HashSet。查找的时间复杂度为O(logN) 2、HashSet:基于哈希表HashMap实现,支持快速查找但不有序。失去了元素插入顺序信息。查找的时间复杂度为O(1) 3、LinkedHashSet:内部使用双向链表维护元素的插入顺序,有HashSet的查找效率。 2、List 1、ArrayList:基于动态数组实现,支持随机访问。 2、Vect
2021-03-07 23:28:34
216
原创 java基础部分笔记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码
2021-03-04 20:26:31
201
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人