ICode9

精准搜索请尝试: 精确搜索
  • java安全——ysoserial工具URLDNS链分析2021-09-08 10:58:17

    本篇我们将学习ysoserial工具的URLDNS链,相对于前面学习的CC链来说,URLDNS链就比较简单了。 URLDNS是ysoserial工具用于检测是否存在Java反序列化漏洞的一个利用链,通过URLDNS利用链可以发起一次DNS查询请求,从而可以验证目标站点是否存在反序列化漏洞,并且该利用链任何不需要第三方

  • equals2021-09-07 21:02:07

    ==与equals的区别,以及相关系列的问题 1、== 2、equals() 3、hashcode() 4、相关问题 4.1 重写完hashcode方法之后,散列码相同的两个对象一定相等吗? 4.2 如果没有重写hashcode方法,散列码一样的两个对象一定相等吗? 4.3 为什么重写了equals方法还要重写hashcode方法?如果不重写会

  • 哈希值(hashCode)2021-09-07 19:03:38

    哈希值 一、哈希值简介二、实例简单的object继承类 总结 一、哈希值简介 哈希值是一个十进制的整数,有系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来的地址,不是数据实际存储的物理地址) 在Object类中有一个方法可以获取对象的哈希值。 代码如下(示例): public n

  • Java面试题大全之Java基础面试题系列五(每天巩固一点点)2021-09-06 22:02:21

    41、== 和 equals 的区别? ==: 如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的地址值是否相等; equals方法: 用来比较两个对象的内容是否相等;注意:equals 方法不能用于比较基本数据类型的变量。如果没有对 equals 方法进行重写,则比

  • 每日面试题总结 day022021-09-04 22:35:42

    基础面试题 1、创建一个对象用什么关键字?对象实例与对象引用有何不同? new关键字,new创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放 在栈内存中)。一个对象引用可以指向0个或1个对象 比如:一根绳子可以不系气球,也可以系一个气 球);一个对象可以有n个引用指向它(可

  • this关键字_韩顺平听课笔记2021-09-02 23:00:06

    1.引出this,改善构造器中的形参名,使更易于阅读 2.this入门,this代表当前对象 this解决命名问题: 3.this本质,可以将this视为对象内的一个隐藏属性,指向当前对象(保存着当前对象的引用) 能不能打出this对象引用——>不行,Java代码运行在虚拟机上,虚拟机生成的this无法直接使用——>使用h

  • REDIS07_布隆过滤器BloomFilter的概述、优缺点、使用场景、底层原理、布谷鸟过滤器2021-08-25 11:06:23

    文章目录 ①. 布隆过滤器BloomFilter的概述②. 布隆过滤器优缺点③. 布隆过滤器的使用场景④. 布隆过滤器原理⑤. 布谷鸟过滤器(了解) ①. 布隆过滤器BloomFilter的概述 ①. 它实际上是一个很长的二进制数组+一系列随机hash算法映射函数,主要用于判断一个元素是否在集合

  • hashCode和equals2021-08-25 09:03:45

    equals equal()方法用来判断两个对象是否“相同”。 hashCode hashCode()方法返回一个int数,在Object类中的默认实现是“将该对象的内部地址转换成一个整数返回”。 坑 HashTable HashMap等散列存储结构 同时使用equals()与hashCode(),不同时重写会出现数据比对异常。 乱用hashCode

  • 重写HashCode与equal方法2021-08-24 20:01:07

    一、为什么要重写hashCode与equal   1.判断两个或多个引用类型的值相等的条件:       1.1  条件1:引用类型的地址相等(充分而不必要);       1.2  条件2:引用类型的值相等(充分必要)   2.引用类型数据:       除了8种基本数据类型以外的数据;  引用类型一般都是通过new关键

  • java修炼指南-读书笔记2021-08-24 17:32:00

    重写equals方法 对于使用instanceof和getClass()运算符有如下建议: 1)如果子类能够拥有自身相等的概念,则对称性需求将强制采用getClass进行检测。 2)如果有超类决定相等的概念,那么就可以使用instanceof进行检测,这样可以在不同子类的对象之间进行相等的比较。 一个完美的equals方法重

  • Java中equals方法和hashCode方法的关系2021-08-23 21:02:55

    equals()和hashCode()都是Object类中定义的方法,所有类都有这两个方法 Object类中equals方法的代码如下: public boolean equals(Object obj) { return (this == obj); } 当不对equals()重写时,默认是使用的是“==”进行比较,如下 MyObject a = new MyObject(123);MyObject b =

  • 四.源码解读2021-08-22 17:01:25

    一.Arrays类 1.sort() Arrays.sort(arr) Arrays有多个重载的sort()方法,既可以按照自然顺序排序,也可以传入比较器参数定制顺序排序 2.index  binarySearch(arr,key) 3.copyOf:拷贝数组   Arrays.copyOf(srcArray,newLength)   System.arrayCopy(srcArray,0,destArray,0,length

  • 六.哈希表2021-08-20 18:33:24

    1.定义:哈希表是一种根据关键字(key)的值直接进行访问的数据结构。     关键字的值就是数组的索引下标 用法:(1)可以快速的判断某个元素是否出现在集合里(HashSet)    (2)通过key可以高效的查到所匹配的value(HashMap) 2.哈希函数:哈希函数可以将关键字转换为数组的索引下标     

  • 集合的总结2021-08-17 13:00:16

    集合的总结 1.集合和数组的比较 相同点:都可以存储多个元素,对外作为一个整体 不同点: 数组的容量固定无法动态改变;集合的容量可以动态改变(扩容) 数组可以存放基本数据类型和引用数据类型;集合只能存引用数据类型(涉及到自动装箱) 数组无法判断实际有多少元素,length只是告诉了数组

  • 为什么 Map 桶中超过 8 个才转为红黑树?2021-08-13 12:02:04

    这一课时我们主要讲解为什么 Map 的桶中超过 8 个才转为红黑树?     JDK 1.8 的 HashMap 和 ConcurrentHashMap 都有这样一个特点: 最开始的 Map 是空的,因为里面没有任何元素, 往里放元素时会计算 hash 值,计算之后,第 1 个 value 会首先占用一个桶(也称为槽点)位置, 后续如果经过计

  • HashSet与TreeSet 区别2021-08-11 10:03:51

      HashSetHashSet有以下特点 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可以是null,但只能放入一个null当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置

  • HashMap保姆级理解解析2021-08-06 16:01:30

    HashMap 含义 hash就是把任意的内容(视频、图片、文字等)转换成一个特殊的值,不管原内容多大,转换后的结果都是同一个格式(如果是数字的话,那么它的格式就是长度都一样,不管是图片、视频等都会转换成同一个长度的数字)的值,这个值可以是字符串,可以是数字,具体取决于调用的算法 举例: 想

  • java String 的hashCode2021-08-06 12:04:08

    hash 的定义 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从

  • Java之Integer$IntegerCache初探(AutoBoxCacheMax)2021-08-05 19:32:27

    JDK 8 ---   int是Java的基本数据类型,而Integer是其包装器类。 在创建Integer时,如果使用构造函数,则会在 堆中新建对象,而使用 valueOf的话,则 可能 会从其 内部类 IntegerCache 的 静态常量 cache 中获取数据。 “可能”是指 JDK默认情况下,cache中保存的数据是 -128~127,共计 256个I

  • java HashMap源码解析2021-08-05 19:01:21

    /** * The default initial capacity - MUST be a power of two. */DEFAULT_INITIAL_CAPACITY :是指HashMap容器的初始大小,MUST be a power of two意思是必须是2的幂次方,二进制格式中,1向左移动4位,也就是0001 --> 1 0000,即2^4=16。为什么初始容量是16而不是4,8或其他呢?因为1

  • Java 基础知识清单2021-07-31 20:32:36

    JAVA 基础 一. Java八种基本数据类型和所占的字节 Java 采用unicode编码,每个字节占8位 1. byte 1 2. short 2 3. int 4 4. long 8 5. float 4 6. double 8 7. char 2 二. JVM/JDK/JRE 1. JVM java虚拟机 它是一次编译随处运行的关键所在     .class到机器码

  • Java基础之hashcode剖析2021-07-28 14:01:40

    1. 前言 散列是计算机科学的一个基本概念。在 Java 中,高效的散列算法支持一些最流行的集合,例如HashMap和HashSet,在本文中,我们将重点介绍hashCode() 的工作原理、它如何在集合中使用以及如何正确实现它。 hashcode规则 在equals方法没被修改的前提下,多次调用同一对象的hashcod

  • JAVA基础学习2021-07-25 13:05:18

    一.java基础 1.为什么java可以一次编码到处运行 答:.java文件进过编译器编译生成.class文件,JVM在不同平台会将.class文件翻译成相应的机器码。从而实现一次编码到处运行 2.一个java文件可以含有多个类吗 答:可以,但是只能含有一个public类,同时这个类名必须与java文件名一致 3.说

  • 哈希表的原理2021-07-24 23:01:57

    2.哈希表的原理 2.1哈希表的结构和特点 哈希表也叫散列表 特点:快 结构:有很多种,最流行、最容易理解的是:顺序表(数组)+链表 主结构:顺序表,每个顺序表的节点再单独引出一个链表 2.2哈希表是如何添加数据的(三步) (1)计算哈希码(调用hashCode()方法计算,返回int型,整数的哈希码取自

  • 大部分 hashcode 方法使用 312021-07-24 10:04:40

    阅读Spring源码发现在ObejctUtils类中有个计算hashcode的方法,使用了31*7加上元素的hash值。很奇怪,于是就查了下,为什么hashCode计算中使用31. 原来之所以使用 31, 是因为他是一个奇素数。如果乘数是偶数,并且乘法溢出的话,信息就会丢失,因为与2相乘等价于移位运算(低位补0)。使用素数的好

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有