自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 数组中未出现的最小正整数

题目:给定一个无序整型数组,找到数组中未出现的最小正整数。 例:arr=[-1,2,3,4] 返回1。 arr=[1,2,3,4] 返回5。 answer1:排序,找到第一个arr[i]!=i+1的数,未出现的最小正整数就是i+1. 如果数组遍历完,还是没有出现arr[i]!=i+1的数,...

2019-04-04 11:03:13

阅读数 237

评论数 0

原创 redis设计与实现——2

1.数据库 1.Redisserver{ Redisdb db;这是一个集合, Int dbnum;这是数据库的数量,一共有16个 } Redis可以通过select n切换数据库, 在服务器内部,客户端状态redisClien...

2019-03-04 16:55:20

阅读数 157

评论数 0

原创 redis设计与实现——1

Redis的底层结构: String,list,set,hash,sortedset。这五种仅仅是redis的对象类型,redis是一个对象系统,并没有直接使用底层的数据结构,而是以对象的形式来存储的。 Redis的底层数据结构,一共有7种, String: redis是c编...

2019-03-04 15:02:03

阅读数 178

评论数 0

转载 从2-3树理解红黑树

转载自https://www.cnblogs.com/zhenbianshu/p/8185345.html?utm_source=debugrun&utm_medium=referral 前言 红黑树是数据结构中比较复杂的一种,最近与它交集颇多,于是花了一周的空闲时间跟它死磕,...

2019-02-25 10:33:41

阅读数 50

评论数 0

转载 数据结构中的树

文章转载自:https://www.cnblogs.com/maybe2030/p/4732377.html 作者:Poll的笔记 1. 二叉树   二叉树是数据结构中一种重要的数据结构,也是树表家族最为基础的结构。   二叉树的定义:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点...

2019-02-25 09:50:19

阅读数 32

评论数 0

原创 红黑树

红黑树必须符合以下特性: 所有节点都是红色或者是黑色 根节点总是黑色,root节点是黑色 如果节点是红色,子节点必须是黑色(不能出现两个连续的红色节点) 从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度,高度只差不超过4,一条路径全黑,一条路径一半黑一半红...

2019-02-19 15:10:40

阅读数 200

评论数 0

原创 java8——lambda

lambda 1.lambda就是一个语法糖,额,语法糖 2.语法较为简单, 基本语法:(parameters) -> expression 或 (parameters) ->{ statements; }   简单例子:     // 1. 不需要参数,返回值为 5 ...

2018-10-22 08:43:20

阅读数 34

评论数 0

原创 shell调用存储过程

最近在有个需求  就是定时查询数据库,有三个方案,    1.java定时任务    2.数据库定时器,定时执行存储过程    3.shell脚本调用存储过程,crontab定时执行shell脚本    我使用的是第三种方法,这一篇主要数一下我踩过的坑!!!    shell脚本,调用存储过程...

2018-10-19 15:52:31

阅读数 1265

评论数 0

转载 jvm——内存结构

原文章传送门------》Dear_mango的博客JVM五大区 一、程序计数器程序计数器( Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,...

2018-06-29 20:50:33

阅读数 51

评论数 0

原创 jdk源码——Enum

      这一篇主要介绍一下枚举类的源码,我们应该都是用过枚举类型吧,用法我就不再多说了,如果没有用过,可以在网上搜索一下,用法也是比较简单的。     一,先看一下Enum类的定义吧。public abstract class Enum<E extends Enum&lt...

2018-06-29 15:53:08

阅读数 243

评论数 0

转载 jdk源码——Long

还文章是转载,文章作者:汪洋之舟---seaboatJava的Long类主要的作用就是对基本类型long进行封装,提供了一些处理long类型的方法,比如long到String类型的转换方法或String类型到long类型的转换方法,当然也包含与其他类型之间的转换方法。除此之外还有一些位相关的操作。...

2018-06-28 20:22:46

阅读数 42

评论数 0

转载 jdk源码——Integer

该文章是转载的,原文章传送门这篇文章是很详细的,我是无法写出这么详细的文章的。Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类...

2018-06-27 15:45:41

阅读数 34

评论数 0

原创 jdk源码——String

   这一篇文章是对String类源码的介绍,String类很重要,他不是基本类型,所以大家要清楚,但是他的使用频率和基本数据类型一样。  我们看一下String类的定义//String是final类型的,属于不可覆盖类型 public final class String imp...

2018-06-26 16:17:58

阅读数 367

评论数 0

原创 jdk源码——Object

    Objetc这个类,我感觉有必要看一下,这个类是所以类的父类(超类),重要性不言而喻。    当我们看到这个类是,第一反应,代码了好少,去掉注释的话,也就三十四行代码量,第二,这个类中的好多方法都是被native修饰的,也是就是本地方法,第三,就是这个类中有多个方法是被final修饰的,接...

2018-06-25 22:56:13

阅读数 36

评论数 0

原创 java——线程(三)

       这一篇是线程的中级篇吧,还没有涉及到高级篇,高级篇,涉及到的原理比较多,终极篇,还是仅仅停留在多线程的使用上,只不过,使用的层次提高了很多。      中级使用1.(将两种线程创建的方式合二为一) new Thread(new Runnable...

2018-05-22 22:42:24

阅读数 47

评论数 0

原创 java——线程(二)

上一篇线程主要是线程的基本使用方法,这一篇文章讲解线程之间的同步和通信。线程的同步和通信是一个重点。很多书上讲解线程之间的同步时,都使用了一个售票系统。 首先我们用上一篇写知识点,模拟一个售票系统。public class ThreadDemo2 implements Runnable{ p...

2018-05-21 10:12:20

阅读数 49

评论数 0

原创 java——线程(一)

      说实话,从大一开始学习java之后,到现在大三即将面试进行实习,这期间,我还真没有怎样使用过线程技术,即使做项目的时候,我也接触到线程的机会也是极其少的,我将原因归结于,水平太低,还没有达到高层次的开发,毕竟没有做过正规项目的开发。这一部分知识,早就忘得一干二净了,仅仅知道线程的创建方...

2018-05-20 23:24:35

阅读数 48

评论数 0

原创 jdk源码——集合(ConcurrentHashMap)

     看这个集合的源码时,内心是拒绝的,六千多行的代码量,够我们看一段时间的。ConcurrentHashMap使线程安全的,底层是散列表+红黑树,线程安全不是在方法上使用synchronize关键字,使用了两种方式,第一是锁分段,第二是一个CAS算法。    jdk1.8之前使用的是锁分段机...

2018-05-19 23:41:14

阅读数 54

评论数 0

原创 jdk源码——集合(Hashtable)

      基本的容器类,我们已经分析完了,虽然感觉自己的分析一般,但是,还是有些收获的。      这一篇,分析一个线程安全的容器,Hashtable,大家都知道,使线程安全的方法就那几种,而Hashtable就是用了线程安全的最简单的方法(一个关键字),synchronize关键字。将方法锁住...

2018-05-19 16:03:25

阅读数 48

评论数 0

原创 jdk源码——集合(TreeSet)

TreeSet集合,也没啥分析的,底层是一个TreeMap集合,TreeSet的方法,也都是调用TreeMap的方法。——TreeSet集合的成员变量 private transient NavigableMap<E,Object> m;//底层是一个Map,Tr...

2018-05-19 15:30:03

阅读数 61

评论数 0

原创 jdk源码——集合(TreeMap)

      集合中真正的重头戏,TreeMap集合,TreeMap集合的底层是红黑树结构,前面我们简单的介绍了一下红黑树结构,仅仅是简单的介绍,就是添加一个节点时,红黑树的结构维护。其实,红黑树的删除,也是一个不小的工程。红黑树的删除,我就不单独介绍了,就根据TreeMap集合的删除源码介绍了。 ...

2018-05-18 23:41:42

阅读数 95

评论数 0

原创 jdk源码——集合(LinkedHashSet)

         这一篇分析的是LinkedHashSet的源码,根据HashSet的底层是一个HashMap集合,类比可知,LinkedHashSet的底层是一个LinkedHashMap集合,这只是我们的猜测,所以我们从网上搜一下,LinkedHashSet的底层果然就是LinkedHashM...

2018-05-18 21:36:33

阅读数 50

评论数 0

原创 jdk源码——集合(LinkedHashMap)

     这一篇分析的是 LinkedHashMap的源码,可能有些同学会有些疑惑,HashMap和LinkedHashMap有什么区别呢?     HashMap的集合的底层是一个散列表(数组+链表)+红黑树    LinkedHashMap集合的底层其实也是一个散列表(数组+链表)+红黑树,只...

2018-05-18 10:49:54

阅读数 39

评论数 0

原创 jdk源码——集合(HashSet)

       看过HashMap的源码之后,在看HashSet集合简直是so Easy,仅仅从代码的数量上就可以看出来了。       这一篇的分析顺序是Set,AbstractSet,HashSet。       Set感觉没有什么可分析的。public interface Set&lt...

2018-05-17 23:29:56

阅读数 47

评论数 0

原创 jdk源码——集合(HashMap)

      上一篇,做了一下准备工作,分析了一下Map接口和AbstractMap类的源码,现在正式开始分析HashMap的源码。     HashMap底层是一个散列表+红黑树结构,所谓散列表结构,就是(数组+链表),为什么会有红黑树结构呢?jdk1.8之后,HashMap的磁层添加了红黑树结构...

2018-05-16 23:12:51

阅读数 244

评论数 0

原创 jdk源码——集合(二)

      上一篇文章分析了红黑树(主要是红黑树的添加操作,来维护红黑树的结构),jdk源码——集合(红黑树),这一文章,来分析HashMap的源码,所以这篇文章的顺序是Map,AbstractMap,HashMap。这篇文章应该是为分析HashMap源码的准备篇吧。     public int...

2018-05-16 20:07:02

阅读数 76

评论数 0

原创 jdk源码——集合(LinkedList)

上一篇分析了ArrayList的源码jdk源码——集合(ArrayList),这一次分析LinkedList的源码。先看一下LinkedList的类定义:public class LinkedList<E> extends AbstractSequentialL...

2018-05-15 15:16:38

阅读数 95

评论数 0

原创 jdk源码——集合(ArrayList)

写了一篇文章,jdk源码——集合(一)

2018-05-13 21:20:20

阅读数 77

评论数 2

原创 jdk源码——集合(一)

上一篇文章,主要大致了解了了一下容器的类库,好了,废话不都说。顺便提一句,我的jdk是-1.8版本的,查看源码的时候,最好依照java api。了解List,Set集合,首先需要看一下Collection。不多讲。/* Collection接口继承了Iterable,Iterable是一个迭代器,...

2018-05-13 09:08:59

阅读数 429

评论数 1

原创 jdk源码——集合

jdk源码——集合 第一次在csdn上写文章,内心毫无波澜,甚至还有点想 看容器代码,首先要对容器类有一个大致的了解。 下图是《java 编程思想》中容器类库的简化图 其中,黑色粗线框表示常用类, 点线框表示接口, 带有空心箭头的电线表示一个...

2018-05-12 21:23:06

阅读数 202

评论数 1

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