自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (46)
  • 收藏
  • 关注

原创 JVM内存模型

JVM内存模型JVM内存模型分为两大块:线程私有的、线程共享的线程私有的:程序计数器、虚拟机栈、本地方法栈线程共享的:方法区、堆(主要调优调的就是这个)线程私有的程序计数器每条线程都有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,保证每个线程切换后能恢复到正确的执行位置,存储当前线程正在执行的Java方法的JVM指令地址,即字节码的行号。如果正在执行Native方法,则这个计数器为空。该内存区域是唯一一个在Java虚拟机规范中没有规定任何OOM情况的内存区域java虚拟机栈是

2020-05-19 10:43:59 148

原创 可达性分析算法

可达性分析算法原理通过一系列“GC Roots”对象作为起点进行搜索,如果在“GC Roots”和一个对象之间没有可达路径,则称该对象是不可达的。不可达对象不一定会成为可回收对象。 不可达对象变为可回收对象至少要经过两次标记过程。两次标记后仍然是可回收对象,则将面临回收两次标记:第一次标记为GC Roots的标记过程标记完后,会判断该对象有没有必要执行finalize()方法(重写了该方法),如果执行,该对象会被放置在F-Queue队列中第二次标记是对F-Queue队列中的对象进行小规模的标记,

2020-05-19 10:37:27 977

原创 HTTP报文

1. HTTP请求报文HTTP请求报文由四部分组成:请求行、请求头部、空行、请求数据请求行由请求方法、URL、协议版本三部分组成,之间用空格隔开例如:Get 103.40.29.80/ HTTP1.1请求头部客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说 Content-Length必须出现常见的请求头部:Content-Type:post提交时使用,表示提交的内容类型Content-Length:提

2020-05-14 21:41:40 168

原创 HTTP各个版本

http1.0版本任何格式的内容都可以发送,包括图像、视频、二进制文件等除了GET命令,还添加了PUT命令和Head命令是短连接的,一次请求结束,连接会关闭,使用Connection : Keep-Alive 开启长连接http1.1版本目前主流的http版本引入了长连接,一次请求结束,连接不会关闭,可以被多个请求复用,默认开始,如果想关闭,使用Connection: close 长连接的原理是TCP保存连接,不关闭引入了管道机制:在同一个TCP连接里,客户端可以同时发生多..

2020-05-14 21:40:38 589

原创 HTTP请求全过程

例如再浏览器输入www.baidu.com,然后按下回车键对www.baidu.com进行DNS域名解析,得到对应的IP地址根据这个IP找到对应的服务器,发起TCP三次握手建立连接建立TCP连接后发起HTTP请求服务器响应HTTP请求,浏览器得到html代码浏览器解析html代码,并请求html代码中的资源,如:CSS、图片等浏览器对页面进行渲染呈现给用户是否关闭TCP连接要看浏览器的请求首部字段中有没有加入Connection:keep-alive(http1.1版本是默认开启的),如果

2020-05-14 21:39:37 120

原创 HTTP与HTTPS区别

HTTP在请求过程中,客户端和服务端之间没有身份确认的过程,数据全部都是明文传输,因此很容易被黑客攻击窃听风险:黑客可以获取通信的内容纂改风险:黑客可以修改通信的内容冒充风险:黑客可以冒充他人身份参与通信基于HTTP的不安全的缺陷,HTTPS应运而生HTTPS总结来说是HTTP+SSL,多了一层数据加密阶段加密算法对称加密:加密和解密使用同一个秘钥非对称加密:加密采用公钥,公钥是公开的,而解密需要私钥,私钥是保密的,该算法安全性超强,但是加密性能低,加密的长度也有限如图所示,客户

2020-05-14 21:38:56 215

原创 TCP滑动窗口

滑动窗口分为发送窗口和接收窗口TCP的滑动窗口主要有两个作用:一是提供TCP的可靠性,二是提供TCP的流控特性发送窗口发送端的状态分为四种:已发送已收到ACK,已发送未收到ACK,待发送,未发送其中处于滑动窗口的是中间两个状态正常情况下4号包收到了ACK,滑动窗口向右滑动一格,将11号包读进了缓存,将8/9号包发送出去。以此类推丢包的情况但是有时候会出现丢包的情况,我们的包发出去,对方的ACK丢了,或者我们的包发丢了,总之,发送方没有收到ACK。那么此时就会发送端就会一直等待ACK,

2020-05-09 15:09:00 135

原创 TCP与UDP区别

TCP有连接,需要三次握手建立连接,UDP面向无连接,想发数据直接发送TCP是点对点的连接(一对一),UDP支持一对多,多对一,一对一,多对多传输方式TCP可靠,UDP不可靠,UDP在网络不好的时候会丢包,但是速度快,实时性高TCP头部需要20个字节,UDP只需要8个字节,因此UDP在传输时高效TCP面向字节流传输,UDP面向报文传输TCP适用于要求可靠的传输应用,如文件传输。UDP适用于实时应用,如直播、视频会议等...

2020-05-09 15:07:54 77

原创 TCP报文头

源端口号:16位,连同源主机IP地址标识主机的一个应用进程目的端口号:16位,连同目的地址标识目的主机的一个应用进程序列号:32位,seq,例如TCP三次握手的第一次握手,客户端会发送seq=x确认号:32位,ack,例如TCP三次握手的第二次握手,服务端会发送ack=x+1ACK:1位,1表示确认号有效,表示报文中不包含确认信息SYN:1位,同步序列号,1表示连接请求FIN:1位,用于释放连接,1表示发送方已经没有数据发送了,即关闭本方数据流窗口大小:16位,数据字节数,表示从确认号开始..

2020-05-09 15:06:39 123

原创 TCP四次挥手

第一次挥手:客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u,此时,客户端进入FIN-WAIT-1(终止等待1)状态第二次挥手:服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一...

2020-05-09 15:04:05 222

原创 TCP三次握手

第一次握手:客户端发送连接请求报文,SYN=1,选择一个初始序列号seq=x,此时客户端处于SYN_SEND状态第二次握手:服务端收到客户端的请求,如果同意建立连接,会向客户端发送确认报文,SYN=1,ACK=1,确认号为x+1,同时也会发送一个初始序列号seq=y,此时服务端处于SYN_RECV状态第三次握手:客户端收到服务端的连接同意报文后,还要再发送一个确认包给服务端,ACK=1,序列号为x+1,确认号为y+1,服务端收到客户端的确认信息后,建立连接,客户端和服务端都处于ESTABLISHE...

2020-05-09 15:02:00 166

原创 网络模型

网络模型OSI七层网络模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层五层协议:物理层、数据链路层、网络层、传输层、应用层TCP/IP:网络接口层、网络层、传输层、应用层​应用层协议:HTTP、HTTPS、DNS(域名解析)、FTP(文件传输)传输层协议:TCP、UDP网络层协议:IP、ARP(地址解析协议) 路由器数据链路层协议:传输单位是帧,媒体访问控制子层(MAC)交换机物理层协议:传输单位是比特,主要介质:网线、光缆...

2020-05-09 15:00:47 71

原创 JVM-内存分配与回收策略

3. 内存分配与回收策略1. Minor GC(新生代)触发条件:Eden区满了的时候,会触发Minor GC(复制算法)频率:Minor GC会频繁进行,执行速度一半会很快步骤:Eden区和ServivorFrom区存活的对象复制到ServivorTo区,如果放不下,直接放入老年代。同时将ServivorFrom区的对象年龄+1(年龄到达15(默认)后,会转到老年代)清除Eden...

2020-04-09 09:42:19 365

原创 JVM-垃圾回收器

2. 垃圾收集器HotSpot的七个垃圾收集器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ty1o29eB-1586396296714)(D:\学习资料\面试知识总结\pic\垃圾收集器.png)]1. Serial用于新生代串行,单线程的执行垃圾回收,会出现STW使用复制算法优点:在单个CPU下,单线程,没有线程切换的开销,因此效率高...

2020-04-09 09:39:29 95 1

原创 JVM-垃圾回收算法

1. 垃圾回收算法一共有三种1. 标记清除算法(Mark-Sweep)标记阶段:程序检查每个对象是否为活动对象,如果是活动对象,则程序在对象头部打上标记清除阶段:对对象进行回收,清除标志位不足:产生大量不连续的内存碎片,可能会导致大对象没法分配内存2. 复制算法(copying)为了解决标记清除算法会产生大量碎片的缺陷而提出的算法。把内存分为大小相等的两块,每次只使用其中的一...

2020-04-09 09:34:39 90

转载 java并发下的同步

https://www.jianshu.com/p/a1ebab8ce78a

2020-03-04 17:46:13 68

转载 java中的hashmap(转载用于自己学习使用)

https://www.cnblogs.com/yuanblog/p/4441017.html

2020-02-25 11:40:52 111 1

原创 java并发编程实战读书笔记--第七章

7:取消和关闭java没有提供任何机制来安全的终止线程(stophe suspend不安全,不要使用)但提供了中断机制,使得一个线程终止另一个线程。7.1:任务取消1、任务取消的原因:用户请求取消、有时间限制的操作、应用程序事件、错误、关闭等。java中没有一种安全的抢占式方法来停止线程。2、可取消的任务必须有取消策略How:其他代码如何(How)请求取消任务任务在何时(When)...

2019-09-25 14:36:58 150

原创 java并发编程实战读书笔记--第六章

任务执行6.1:在线程中执行任务1、串行执行任务:一般采用while循环执行,如果执行过程中遇到了I/O等操作阻塞,会造成服务器看似失去了相应,用户体验贼差,不推荐。2、显示的创建线程:例如HTTP请求任务,每有一个连接请求就创建一个线程,用于处理连接请求。这种办法在一定范围内能提高服务器的响应性和吞吐率,但一旦超出了这个范围,再创建更多的线程只会降低程序的执行速度。3、创建大量线程的弊端...

2019-09-23 20:54:30 110

原创 java并发编程实战读书笔记--第五章

java高并发读书笔记——第五章5.2:并发容器5.2.1:ConcurrentHashMap1、每个操作都是线程安全的 get、contains等 包含大量工作,但加锁了所以安全2、基于散列的Map3、粒度更细的加锁机制:分段锁---->高并发时吞吐量更高,单线程时性能损失小4、弱一致性:size和isEmpty等操作可以返回结果已经过期,实际只是一个估计值5、没有对Map加锁...

2019-09-23 16:59:43 167

原创 java各种容器的使用场景(含高并发)

**一:对于Map/Set**不需要并发时:HashMap:一般就用这个TreeMap:需要排序时,使用这个LinkedhashMap:有序的Map上述三个Map都不是线程安全的,因此在高并发的时候不推荐使用。Set同理,只需要将Map换为Set即可。并发不是很大时:Hashtable:早期的线程安全Map。速度较慢,高并发下不推荐使用。Collections.sychroni...

2019-09-23 11:04:42 1119

原创 android studio从网上导入jar包

File->Project Structure->Dependencies在app下点击+,搜索并导入jar包,最后apply即可

2019-08-20 10:55:21 88

原创 android学习笔记

xml篇EditText属性:hint:提示信息(请输入用户名部分)textColorHint:提示信息的颜色

2019-08-09 08:34:58 72

原创 android studio取消button按压时的阴影

问题:在按压button时,会出现灰色的阴影解决办法:在xml的button设计阶段加上style="?android:attr/borderlessButtonStyle"这段代码即可

2019-08-05 14:38:27 638

原创 android studio报错:can not resolve symbol XXX

android studio报错:can not resolve symbol XXX解决办法:点击图片所示位置即可

2019-08-05 10:43:54 199

转载 Linux 安装opencv python版本

2019-05-16 10:24:06 1911

原创 清华源anaconda

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

2019-05-16 09:55:15 315

转载 Qterror:cannot find -lGL

Qt error:cannot find -lGLsudo apt-get install libgl1-mesa-dev即可

2019-04-30 22:07:28 276

volley.zip

Android Volley Jar,Android Volley框架是Android开发中不可或缺的一个重要框架,想使用Android开发更加便捷的途径就是使用Volley框架了。使用方法:奖jar包放在libs目录下,右键添加即可

2019-08-20

01_所需软件.txt

c++版本的opencv开发案例14个中的第14个案例:所需软件的下载

2019-06-20

14_车牌识别系统.zip

c++版本的opencv开发案例14个中的第14个案例:车牌识别系统的实现

2019-06-20

13_车型识别系统.zip

c++版本的opencv开发案例14个中的第13个案例:车型识别系统的实现

2019-06-20

12_运动车辆检测跟踪系统.zip

c++版本的opencv开发案例14个中的第12个案例:运动车辆的检测跟踪系统的实现

2019-06-20

11_人脸检测与识别系统.zip

c++版本的opencv开发案例14个中的第11个案例:人脸检测与识别系统的实现

2019-06-20

10_指纹提取与识别系统.zip

c++版本的opencv开发案例14个中的第10个案例:指纹的提取与识别系统的实现

2019-06-20

09_细胞检测与计数系统.zip

c++版本的opencv开发案例14个中的第9个案例:细胞检测与计数系统的实现

2019-06-20

08_图像检索系统.zip

c++版本的opencv开发案例14个中的第8个案例:图像检索系统的实现

2019-06-20

07_遥感图像配准系统.zip

c++版本的opencv开发案例14个中的第7个案例:遥感图像配准系统的实现

2019-06-20

06_数字图像水印系统.zip

c++版本的opencv开发案例14个中的第6个案例:图像水印系统的实现

2019-06-20

05_CT图像重建系统.zip

c++版本的opencv开发案例14个中的第5个案例:图像重建系统的实现

2019-06-20

04_图像编辑器实现.zip

c++版本的opencv开发案例14个中的第4个案例,:图像编辑器的实现

2019-06-20

03_图片浏览器实现.zip

c++版本的opencv开发案例14个中的第3个案例:图片浏览器的实现

2019-06-20

02_绘图板.zip

c++版本的opencv开发案例14个中的第2个案例:绘图板。

2019-06-20

opencv安装步骤.txt

本文档提供一种Linux下利用anaconda安装opencv的教程。

2019-05-16

anaconda安装.txt

本文提供Linux下安装anaconda的一种方法,anaconda便于管理python的环境

2019-05-16

pip临时更换源.txt

pip临时更换清华源的方法,更换源之后下载速度会比没更换之前有质的变化

2019-05-16

彩色验证码识别

本资源为彩色验证码识别源码,有3000张彩色验证码为训练集,和300张彩色验证码为测试集,本源码采用tensorflow框架,QT为界面,实现96.8%的准确率识别,欢迎大家下载学习。

2019-05-15

Linux tensorflow安装步骤.txt

Linux版本的tensorflow安装步骤,适合准备在deepin、Ubuntu等Linux环境下安装tensorflow的同学

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目21源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目21源码,策略梯度算法

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目20源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目20源码,深度强化学习:Deep Q learning

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目19源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目19源码,强化学习入门之SARSA算法

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目18源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目18源码,强化学习入门之-Q learning

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目17源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目17源码,看图说话:将图像转换为文字

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目16源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目16源码,神经网络机器翻译技术

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目15源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目15源码,在tensorflow中进行时间序列预测

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目14源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目14源码,词的向量表示:word2vec与词嵌入

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目13源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目13源码,序列分类问题详解

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目12源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目12源码,RNN基本结构与char RNN文本生成

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目11源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目11源码,CycleGAN与非配对图像转换

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目10源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目10源码,超分辨率:如何使得图像变得更清晰

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目9源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目9源码,pix2pix模型与自动上色技术

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目8源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目8源码,在tensorflow中利用DCGAN生成图像

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目7源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目7源码,利用tensorflow实现图像的风格迁移

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目6源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目6源码,在tensorflow中实现人脸识别

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目5源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目5源码,深度学习中的目标检测

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目4源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目4源码,Deep Dream模型

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目3源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目3源码,利用tensorflow slim微调模型,打造自己的图像识别模型

2019-05-15

《21个项目玩转深度学习-基于tensorflow的实战详解》项目2源码

《21个项目玩转深度学习-基于tensorflow的实战详解》项目4源码,利用tensorflow训练CIFAR-10识别模型,和ImageNet图像识别模型

2019-05-15

空空如也

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

TA关注的人

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