E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《JDK源码》
jdk源码
分析(五)——HashMap
一.基础概念散列表:也叫哈希表,是我们常用的一种数据结构,它可以根据key值直接访问数据,从而在O(1)的时间复杂度内实现数据的写入和查找。散列函数:将key值映射到散列表中的一个位置的函数。碰撞:有时,不同的key值被映射到同一个散列表位置,这种情况叫做“碰撞”。装载因子:散列表中已经添加的元素个数/散列表长度。它是衡量散列表可以被装满程度的一个参数。当发生碰撞时,意味着多个key的散列函数值相
自由水鸟
·
2020-03-01 12:38
我说我了解集合类,面试官竟然问我为啥HashMap的负载因子不设置成1!?
个人认为,关于HashMap的实现,JDK的工程师其实是做了很多优化的,要说所有的
JDK源码
中,哪个类埋的彩蛋最多,那我想HashMap至少可以排前五。
HollisChuang
·
2020-02-24 09:00
jdk源码
之Stack
概要类继承关系java.lang.Objectjava.util.AbstractCollectionjava.util.AbstractListjava.util.Vectorjava.util.Stack定义publicclassStackextendsVector{}实现Stack继承于Vector,在此基础上实现了Stack所要求的后进先出(LIFO)的弹出及压入操作。提供了push、po
薛晨
·
2020-02-23 12:44
JDK源码
分析一
String结构privatefinalcharvalue[];//这是用于存储String字符的数组privatefinalintoffset;//这是value数组的第一个有效的字符的indexprivatefinalintcount;//这是String中的字符个数privateinthash;//存储String的hashcode,默认是0用一个char数组来存储字符,offset是偏移,
蛮大人我们走
·
2020-02-23 09:49
jdk源码
分析(七)——TreeMap
一.相关概念树:树是一种由n(n>=0)个节点组成的具有层次结构的数据结构。树具有一个根节点,每个节点有零个或多个子节点。树树的高度:树的高度指树中节点的层数。例如,上图中树的高度为3,一般将根节点的层次定为0,下一层为1,再下一层为2……。二叉树:二叉树是一种特殊的树。每个节点最多只有两个子节点。二叉树二叉查找树:二叉查找树是一种特殊的二叉树。其左子树的节点中的值都小于等于根节点,右子树的节点中
自由水鸟
·
2020-02-22 17:05
java.lang.Integer源码精读(一)
分享不易,喜欢请点赞支持,谢谢
JDK源码
精读汇总帖类声明publicfinalclassIntegerextendsNumberimplementsComparable{}publicabstractclassNumberimplementsjava.io.Serializable
李不言被占用了
·
2020-02-22 13:09
JDK源码
分析-LinkedList
概述相较于ArrayList,LinkedList在平时使用少一些。LinkedList内部是一个双向链表,并且实现了List接口和Deque接口,因此它也具有List的操作以及双端队列和栈的性质。双向链表的结构如下:前文分析了Queue和Deque接口,正是因为LinkedList实现了Deque接口。LinkedList的继承结构如下:结点类Node查看LinkedList的源码可发现它内部有
WriteOnRead
·
2020-02-22 05:21
Nginx+Tomcat实现Tomcat负载均衡
下载Nginx源码包,Tomcat源码包,
JDK源码
包wgethttp://nginx.org/download/nginx-1.13.4.tar.gzwgethttp://mirrors.hust.edu.cn
Hi_One
·
2020-02-22 02:49
浅谈阅读
JDK源码
对编程开发的好处
作为一名程序员,在闲暇是看一下
jdk源码
,有利于对自己日常的开发环境了解得更加深刻。一般的一个高级开发工程师,能阅读一些源码对自己的提升还是蛮大的。这里作个自己的小结。为什么要读源码?
值得一看的喵
·
2020-02-21 06:24
LockSupport使用方式
LockSupport类在
jdk源码
中基本定义就是创建锁和其他同步类的基本线程阻塞原语,直接与UnSafe类打交道,Unsafe类中众多的native方法实现都是基于C++语言的,而且与系统平台相关,这里基本不做阐述
high_m
·
2020-02-19 02:19
JDK源码
阅读之数组拷贝
JDK提供了一个classjava.util.Arrays来进行数组的相关操作,,其中数组的拷贝copyOf()方法在集合中被频繁地使用,该方法将一个源数组original中newLength长度的内容拷贝到一个新的数组中,并返回这个新的数组,这个新数组的长度为newLength。publicstaticT[]copyOf(T[]original,intnewLength){return(T[])
GeorgeDon
·
2020-02-18 22:43
深入解析 Java集合类ArrayList与Vector的区别
Collection与Map,其中Collection接口继承了Iterator接口,继承Iterator接口的类可以使用迭代器遍历元素(即Collection接口的类都可以使用),今天我们从相同点、不同点、以及
JDK
YFEYI
·
2020-02-16 13:00
Sincle知识体系图
Java
JDK源码
:集合类、并发包JVMJavaWebServlet原理TomcatSpring全家桶数据库:Mybatis、MySQL、JDBC、分库分表https://ke.qq.com/course
sincle
·
2020-02-16 12:00
JDK源码
精读-汇总帖
前言大家可能都会阅读
JDK源码
,目前很多大神也分享了相应的博客,让后来者可谓是站在巨人的肩膀上。有一点点问题,绝大多数的分享都是比较粗略的,其中很多复杂的方法没有记录设计思路,处理步骤等等。
李不言被占用了
·
2020-02-15 07:56
JDK源码
阅读顺序(转载)
原文链接:https://blog.csdn.net/qq_21033663/article/details/79571506标题为包名,后面序号为优先级1-4,优先级递减源码阅读顺序1.Java.lang```1)Object12)String13)AbstractStringBuilder14)StringBuffer15)StringBuilder16)Boolean27)Byte28)D
叫我胖虎大人
·
2020-02-13 23:43
牛顿迭代法在
JDK源码
中的应用
最近复习关于Java的知识,想起一个有趣的问题:可以自己实现一个JDK吗?随着最近的阅读源码,问题自然而然有了答案,当然可以,只不过Sun公司已经将它开源并与广大程序员一起维护,没必要重复造轮子了。java.util.Math包中判断一个数为素数的方法和求平方根的方法,其中判断为素数的方法感觉思路比较新颖,可以借鉴,求平方根用到了牛顿迭代法。判断一个数是否为素数(源代码)://true代表素数pu
progressin_2240
·
2020-02-13 00:11
JDK源码
阅读(一):Object源码分析
最近经过某大佬的建议准备阅读一下JDK的源码来提升一下自己所以开始写
JDK源码
分析的文章阅读JDK版本为1.8目录Object结构图构造器equals方法getClass方法hashCode方法toString
乱敲代码
·
2020-02-11 02:33
从源码的角度再学「Thread」
从注释开始相信阅读过
JDK源码
的同学都能感受到
JDK源码
中有非常详尽的注释,阅读某个类的源码
张少林同学
·
2020-02-07 21:16
通过open
jdk源码
分析ObjectMonitor底层实现
通过open
jdk源码
分析ObjectMonitor底层实现HotspotJDK只是部分开源,将底层的调用C++的native方法的具体实现屏蔽了,而openjdk则将这部分也开源了,接下来我们通过open
jdk
小鱼儿_karl
·
2020-02-07 18:00
JDK源码
阅读(一):Object源码分析
最近经过某大佬的建议准备阅读一下JDK的源码来提升一下自己所以开始写
JDK源码
分析的文章阅读JDK版本为1.8目录Object结构图构造器equals方法getClass方法hashCode方法toString
乱敲代码
·
2020-02-07 07:47
消除java异常开销
抛异常的最大开销是异常栈的构建过程,如果你的程序调用很深,特别是用了第三方开源框架,这个开销是不容忽视的开销在哪查看
jdk源码
/***Constructsanewthrowablewiththespecifiedcauseandadetail
fengjixcuhui
·
2020-02-07 06:17
JDK源码
分析 线程池
说明对于
JDK源码
分析的文章,仅仅记录我认为重要的地方。源码的细节实在太多,不可能面面俱到地写清每个逻辑。
被称为L的男人
·
2020-02-06 12:59
JDK源码
分析-AbstractQueuedSynchronizer(1)
概述前文「
JDK源码
分析-Lock&Condition」简要分析了Lock接口,它在JDK中的实现类主要是ReentrantLock(可译为“重入锁”)。
WriteOnRead
·
2020-02-06 09:22
JDK源码
阅读-------自学笔记(二)(java.lang.Object重写equals和hashcode源码)
一、前景提要阅读
JDK源码
,所有的类的父类都是Object,Objest中定义有publicbooleanequals(Objectobj)方法,它实现了基础的功能比较两个对象时,是看他们是否指向同一个地址的
北极的大企鹅
·
2020-02-06 07:29
2020年Flag-阅读
jdk源码
2020年新年Flag的第一条就是阅读完jdk重要类的源码,当然踩在巨人的肩膀上能看得更远,所以参考了网友的经验先陈列一下,首先看一下有必要阅读的源码范围:标题为包名,后面序号为优先级1-4,优先级递减1、java.lang1)Object12)String13)AbstractStringBuilder14)StringBuffer15)StringBuilder16)Boolean27)Byt
寇寇寇先森
·
2020-02-06 00:56
我最近在做什么,以及你们想知道什么
现在的博客地址:nickChenyx.github.io那就说说现在我学的东西好了,越前面的越注重:强化Java的学习,包括了
JDK源码
以及一些开源框架的源码学习函数式编程,Haskell及Scala的学习
只记录自己的声音
·
2020-02-05 20:41
JDK源码
分析-Hashtable
概述与HashMap类似,Hashtable也是散列表的实现。它的内部结构可以理解为「数组+链表」的形式,结构示意图如下:Hashtable的类继承结构与签名如下:继承结构publicclassHashtableextendsDictionaryimplementsMap,Cloneable,java.io.Serializable{}Hashtable的key和value都不能为空(HashMa
WriteOnRead
·
2020-02-05 14:27
JDK源码
分析-AbstractQueuedSynchronizer(3)
概述前文「
JDK源码
分析-AbstractQueuedSynchronizer(2)」分析了AQS在独占模式下获取资源的流程,本文分析共享模式下的相关操作。
WriteOnRead
·
2020-02-05 13:18
String类为什么是不可变的
我们找到string的
jdk源码
1.看到String类被final修饰。这里你就要说出被final修饰的类不能被继承,方法不能被重写,变量不能被修改。
慕mu先生
·
2020-02-05 13:00
JDK源码
分析-HashMap(2)
概述前文「
JDK源码
分析-HashMap(1)」分析了HashMap的内部结构和主要方法的实现原理。但是,面试中通常还会问到很多其他的问题,本文简要分析下常见的一些问题。
WriteOnRead
·
2020-02-05 08:05
JDK源码
分析之线程池
声明:本文只是总结记录,参考原文章,写的很好https://www.taobye.com/f/view-4-66.htmlhttps://blog.csdn.net/java001122/article/details/80390771https://www.cnblogs.com/trust-freedom/p/6681948.html一,创建方式//指定参数ThreadPoolExecutor
一岁一枯荣啊
·
2020-02-05 04:48
JDK源码
阅读-------自学笔记(一)(java.lang.Object重写toString源码)
一、前景提要Object类中定义有publicStringtoString()方法,其返回值是String类型.二、默认返回组成类名+@+16进制的hashcode,当使用打印方法打印的toString()默认就是返回整个格式三、场景很多时候默认的返回,无法让人直观的看到对象的数据和结构类型,所以,一般重写其toString()方法,打印或输出需要的信息四、实例重写重写代码1@Override2p
北极的大企鹅
·
2020-02-03 14:00
Java NIO 散布读与聚集写【源码笔记】
目录一、Native函数解读1.矢量I/O结构体iovec2.散布读readv()3.聚集写writev()二、Scatter/Gather接口三、一个散布读示例四、散布读
JDK源码
1.流程图2.源码注释五
瓜农老梁
·
2020-01-29 14:21
阅读
JDK源码
后,我有了优化它的冲动!
阅读
JDK源码
后,我有了优化它的冲动!读源码时的思考最近在看concurrent包下线程池的源码,当我看到ThreadPoolExecutor类的时候,发现了
JDK源码
的一个问题。
wx5d30212829a35
·
2020-01-14 16:24
Java
JDK源码
JDK源码
阅读-------自学笔记(一)(详细版集合类)
一、前景提要本人经历了IT行业的多种类型企业,外包/创业小公司/中型公司,一步步成长起来,现在可以给大家透露下为什么进大企业在IT行业是重要的:在外包公司,你要做的就是对接别人写好的接口,然后按照其要求编写一个业务的接口或者几个接口,那么你的技术也就是会写接口,而且还不是全面的,因为只会让你做那部分接口,而不是项目的全部,你对于数据库如何链接,数据库类型,数据库业务逻辑的操作都不会很清楚,所以你做
北极的大企鹅
·
2020-01-13 02:00
java System.arraycopy性能分析
看
JDK源码
的时候,Java开发设计者在对数组的复制时,通常都会使用System.arraycopy()方法。
小小的coder
·
2020-01-11 23:39
JDK源码
解析——TreeMap
第1部分TreeMap介绍TreeMap简介TreeMap是一个有序的key-value集合,它是通过红黑树实现的。TreeMap继承于AbstractMap,所以它是一个Map,即一个key-value集合。TreeMap实现了NavigableMap接口,意味着它支持一系列的导航方法。比如返回有序的key集合。TreeMap实现了Cloneable接口,意味着它能被克隆。TreeMap实现了j
张晨辉Allen
·
2020-01-07 02:32
Java 反射机制(二)
前言在上篇Java反射机制(一)介绍了一些Java反射相关的常用API,在知道了如何去使用反射之后,作为一个合格的工程师,下一步肯定是要去了解它的如何实现的,我们今天就来看看在
JDK源码
中是如何去实现反射的
mghio
·
2020-01-07 01:00
java
spring
后端
JDK源码
分析系列
说明对于
JDK源码
分析的文章,仅仅记录我认为重要的地方。源码的细节实在太多,不可能面面俱到地写清每个逻辑。
被称为L的男人
·
2020-01-07 00:19
Java虚拟机详解(十一)------双亲委派模型
,我们介绍了类加载过程,包括5个阶段,分别是“加载”,“验证”,“准备”,“解析”,“初始化”,如下图所示:本篇博客,我们来介绍Java虚拟机的双亲委派模型,在介绍之前,我先抛出一个问题:我们知道,在
JDK
YSOcean
·
2020-01-06 22:00
mac下编译openjdk1.9及集成clion动态调试
刚好前段时间花了点时间折腾了一下,mac最新版本下jvm9顺利编译通过,并且可以完美集成clion进行调试(支持windows),下面记录一下全过程,如果想看效果的话,可以直接拉到集成到clion进行调试小节末尾mac下open
jdk
简书闪电侠
·
2020-01-06 11:39
多线程知识梳理(9) - ThreadLocal
一、基本概念1.1ThreadLocal的用途首先,我们来看一下
JDK源码
中对于ThreadLocal的解释:Thisclassprovidesthread-localvariables.Thesevariablesdifferfromtheirnormalcounterpartsinthateachthreadthataccessesonehasitsown
泽毛
·
2020-01-05 15:14
下载Open
JDK源码
安装mercurial在MacOS下实例,先通过easy_install安装mercurial$sudoeasy_installmercurial安装过程提示SearchingformercurialReadinghttps://pypi.python.org/simple/mercurial/Bestmatch:mercurial4.5Downloadinghttps://pypi.python
phantomvk
·
2020-01-04 23:43
Java位运算符详解
但是我在看
jdk源码
的时候发现了一个>>>三个符号的,不明白这是什么意思,就去搜了一下,发现还挺多的知识点的,就整理了一下。
蒙娜丽莎法师
·
2020-01-03 17:00
测试格式
但是我在看
jdk源码
的时候发现了一个>>>三个符号的,不明白这是什么意思,就去搜了一下,发现还挺多的知识点的,就整理了一下。
蒙娜丽莎法师
·
2020-01-03 17:00
论
JDK源码
的重要性:一道面试题引发的无限思考
那我们就看一下这道面试题是什么呢?差不多是这样子的面试题题目的意思是:定义了两个Integer类型变量,通过swap方法交换这两个变量的值。看似简单的题目,是不是不知道从何下手,我猜想有些大家第一想到的是这样的解法:来看代码:运行结果如下:从结果来看是错误的,不能解决我们的问题。为什么?在分析之前,我们先介绍一下Java访问对象的方式。在Java堆中还必须包含能查找到此对象类型数据(如对象类型、父
糖宝_d864
·
2020-01-03 12:29
Java位运算符详解
但是我在看
jdk源码
的时候发现了一个>>>三个符号的,不明白这是什么意思,就去搜了一下,发现还挺多的知识点的,就整理了一下。
蒙娜丽莎法师
·
2020-01-02 20:39
java
001java300集基础学习--尚学堂(1~27基础知识)
章节1:Java基础知识课时1:java300集如何学习基于JDK7.0深入内存结果,分析
JDK源码
高手从基础培养学习语言,精通一门内容包括:java基础、java虚拟机、数据结构与基本算法第一季98集基础的基础课时
星期四晚八点
·
2020-01-02 10:13
JCF框架源码分析系列(一)
装逼,不要打我先聊聊为什么突然想去看
JDK源码
吧因为本人暂时的目标是2年内做到架构师,于是我试图学习和了解各种框架、技术且找机会在项目中不断应用,如cache、nosql、MQ,设计模式、服务器架构等等
Ambitor
·
2020-01-01 20:25
JDK源码
那些事儿之浅析Thread上篇
JAVA中多线程的操作对于初学者而言是比较难理解的,其实联想到底层操作系统时我们可能会稍微明白些,对于程序而言最终都是硬件上运行二进制指令,然而,这些又太过底层,今天来看一下JAVA中的线程,浅析
JDK
freeorange
·
2019-12-29 15:00
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他