自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whgtheone的博客

简书地址:https://www.jianshu.com/u/f32e25c913ab

  • 博客(15)
  • 资源 (5)
  • 收藏
  • 关注

原创 谈谈数组

一、数组是如何实现O(1)级别的下标随机访问我们平时经常说数组适合用于查找,不适合增删,是因为数组查找的时间复杂度低,为O(1)。其实这句话的表述不对,数组查找一个数的时间复杂度最多是O(logn),而所谓的时间复杂度为O(1)实际上指的是根据数组下标对数组进行的随机访问。那么,数组是如何实现对下标的随机访问的呢?当我们创建一个数组对象,并且规定了数组的存储类型、初始化大小,那么操作系统便会根...

2018-11-23 17:17:44 287

原创 手撸Java注解的注入实现过程

在Spring中使用注解,极大的减少了配置各种xml文件的反复操作,一个小小的注解就能够有如此强大的功能不经让人感慨。那注解是依靠那种机制将数据注入到我们的类中的呢?答案是反射机制。本文将自定义一个注解类,不依靠Spring,借助java的原生方法,手撸一个注解注入的实现过程。自定义一个注解类自定义接口及其实现类创建工厂方法并实现注解的注入测试结果输出:...

2018-10-27 15:44:40 1932

原创 Cglib的Enhancer类动态创建代理对象的的过程

使用Enhance字节码增强创建动态代理对象的一般步骤为:Enhancre enhancer = new Enhancer();enhancer.setSuperclass(目标对象的类对象);enhancer.setCallback(new MethodInterceptor(){ @Override public Object intercept(Objec...

2018-10-24 15:49:22 7150

原创 解析——为什么单元素的枚举类型是单例模式的最佳实现

关于单例模式,我们可以使用静态内部类、双重检测的实现方法来保证线程安全,那么该如何保证单例模式最核心的作用——“实现该模式的类有且只有一个实例对象”呢?我们知道,创建一个对象的方式有:new、克隆、序列化、反射。由于单例模式提供的是一个私有的构造函数,所以不能外部使用new的方式创建对象。虽然clone()是Object的方法,也就是说每个对象都拥有一个克隆方法,但是某一个对象直接调用cl...

2018-10-10 11:46:34 3742 4

原创 细聊网络层协议之ARP、RARP协议

一、两台主机之间的通信解读ARP首先我们必须明白一点的是,IP地址只在网络及其以上的层有用,在链路层及以下的层是没有用的。TCP/IP协议栈从上层到下层的封装过程中,第三层封装需要知道目的IP,第二层封装需要知道目的MAC(物理地址)。在实际网络的链路上传送数据帧时,最终还必须是硬件地址。说到底IP地址是虚的,两台主机的通信归根结底是要落实到实物上的,所以说,两台主机之间通信光有IP地址是不够...

2018-07-18 16:19:50 1137

原创 TCP的快速重传机制

一、快速重传机制上一篇讲到了TCP 的超时重传,但是超时重传往往会带来许多微妙的问题,比如说:当一个报文段丢失时,会等待一定的超时周期然后才重传分组,增加了端到端的时延。当一个报文段丢失时,在其等待超时的过程中,可能会出现这种情况:其后的报文段已经被接收端接收但却迟迟得不到确认,发送端会认为也丢失了,从而引起不必要的重传,既浪费资源也浪费时间。幸运的是,由于TCP采用的是累计确认...

2018-07-10 14:51:37 50617 20

原创 TCP的超时重传之深入了解RTT与RTO

TCP提供一种面向连接的、可靠的字节流服务,其中可靠的保证方法之一就是却让从另一端收到的数据。但是数据和确认信号都有可能丢失,。TCP通过在发送数据时设置一个重传定时器(注意这里的超时定时器和第四节讲的定时器不一样)来监控数据的丢失状态,如果重传定时器溢出时还没收到确认信号,则重传该数据。这就是建立重传机制的原因。 下面解释两个名词: RTT(Round Trip Time):一个连接的往返时...

2018-07-09 17:09:24 43070 5

原创 解读Java参数传递

Java语言的传递方式只有“按值传递”!“按值传递”! “按值传递”!重要的事情要说三遍。 不过呢,按值传递可能还不够确切,“按副本传递”会更好理解。实验一、public class test{ public static void main(String args[]){ Person p1 = new Person(); System.o...

2018-07-05 14:28:28 182

原创 从TCP的“三次握手”和“四次分手”讲起

说起TCP中最常见最重要的问题当然就是“三次握手”、“四次分手”了。在此之前,我们先来预热一下TCP的基本知识。TCP报文段结构 Source Port、Destination Port:即源端口号和目的端口号,被用于多路复用/多路分解来自或送到上层应用的数据。 Sequence Number(32 bit):是包的序号,用来解决网络包乱序(reordering)问题。 Ackn...

2018-07-04 21:34:24 383

原创 深度剖析HashMap(二)——基于JDK7

上一篇说到的仅仅是JDK7在极端情况下读减少碰撞概率的一些优化,以及hash函数采用的“扰动函数”思想。本篇将分析HashMap的主要方法,同时也是核心方法,是学习HashMap必然要理解的部分。话不多少,Let’s do it!一、插入元素简述以下HashMap插入元素的大致的过程:判断键值是否为空,若为空,调用putForNullKey()方法。所有键值为空的键值对都存储在E...

2018-05-04 20:36:41 208

原创 形象描述Java中equals与==的区别

开篇故事 ——一分钟读懂equals与==的区别有一对双胞胎长得一模一样,就算大家来找茬也找不出外形的区别。哥哥暂且叫GG,弟弟叫DD。 “GG和DD长得真像啊,就像一个模子刻出来的,所以GG和DD长得一样。” 用JAVA的语句描述是:return GG.equals(DD);结果是true。“虽然长得一样但毕竟是两个人啊,GG是哥哥,DD是弟弟,活生生的两个人不能因为长得一样而变成一...

2018-05-03 16:34:53 175

原创 深度剖析HashMap(一)——基于JDK7

HashMap是每个Java/Android程序员必须掌握的一种容器。在这个专题下将分若干篇文章对其进行深度剖析。由于JDK版本的不同,HashMap的底层实现也有些许差别。本文先对基于JDK7的HashMap进行分析,之后会奉上JDK8中对HashMap实现改动的分析。一、HashMap结构概览在JDK7中,HashMap说白了就是用到两种数据结构——数组与链表。 数组: 需要连续的...

2018-05-02 21:50:52 271

原创 List接口下的集合源码分析——LinkedList

源码版本JDK1.8今天带来的是List的另一种实现——LinkedList,这是一种基于双向链表实现的列表。接下来让我们通过源码来分析一下它吧。关于源码中的一些小改动在JDK1.6及之前,LinkedList底层是一个双向循环链表,容器中的元素都是静态内部类Entry的对象,列表中必有一个空头结点; 在JDK1.7及之后,LinkedList底层是一个双向非循环链表,容...

2018-05-02 09:33:23 222

原创 List接口下的集合源码分析——ArrayList

从本篇开始将对实现List接口的集合——ArrayList、LinkedList、Vector做一个源码分析。那么先从ArrayList开始吧。一、ArrayList概述在源码中对ArrayList是这么描述的: Arraylist是实现List接口的可调整大小的数组,拥有List接口的所有操作,可包含任何类型的元素,包括null值。这个类除了非同步的特性,大体上和Vec...

2018-04-27 16:29:40 164

原创 关于Java集合中的迭代

一、接口Iterable和接口Iterator的区分及联系【英文释义】 Iterable:可迭代的,形容词。 Iterator:迭代器,名词。Iterable JDK源码: public interface Iterable<T> { Iterator<T> iterator();//iterator方法用于返回一个实现了Iterator接口的...

2018-04-26 22:37:37 3017

UR机械臂仿真软件Linux版本

UR机械臂的仿真软件版本,适用于Linux

2018-12-01

静态阴影去除

静态阴影去除 静态阴影去除 静态阴影去除 静态阴影去除

2018-01-22

手写字符识别

手写字符 学习 识别 手写字符 学习 识别 手写字符 学习 识别

2018-01-22

混沌图像加密

亲测亲测可用,用自定义序列对图像进行加密,logic加密 可用,用自定义序列对图像进行加密,logic加密

2018-01-22

交互式图像分割

交互式图像分割 啦啦啦 交互式图像分割 啦啦啦

2018-01-19

空空如也

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

TA关注的人

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