自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dylaniou的博客

想写一首关于世界的诗,以编程的方式~

  • 博客(6)
  • 资源 (9)
  • 收藏
  • 关注

原创 Java006 Java数据类型

Java数据类型分为基本类型和引用类型。基本类型分为五类九种(以前一直听说是四类八种,很容易把void遗忘掉,这里算上,欢迎持有不同观点的朋友相互讨论学习,真相不辩不明,有助于理解): 类型 基本类型 包装类 bits 基本类型 默认值 最小值 ...

2018-12-27 22:26:58 170

转载 Java005 内存模型(栈、堆、数据域、代码域)

转载自:https://share.html5.qq.com/fx/u?r=tNiLVECJava中内存分为四块:栈、堆、数据域、代码域。1.栈栈也称堆栈,用于存放非静态变量(非静态基本数据类型【变量名+值】+非静态引用类型【变量名】)。2.堆堆中存放new出来的类的实例对象(即引用类型所指向的地方)。3.数据域数据域分静态域和常量池:静态域用来存放被static修...

2018-12-13 22:45:49 348

原创 Java004 构造函数

What 什么是构造函数?构造函数是一种不带任何返回值且与类同名的函数,它是属于类的,在new类的实例对象时被调用。分无参和有参两种。可以自定义构造函数。若未自定义构造函数,则调用默认的无参构造函数;若自定义了构造函数,则根据参数类型及个数再决定调用哪个。在new一个实例对象时,会先调用的是父类的构造函数,再调用子类的构造函数。即先创建出父类对象,然后才能创建子类对象,详见下图:W...

2018-12-13 21:56:21 159

原创 Linux001 Linux下使命令不受终端断开的影响,保持在后台运行的几种方法及原理

摘自https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/记录一下Linux下使命令不受终端断开的影响,保持在后台运行的几个方法及其原理。当用户注销logout或者网络中断时,终端会受到HUP(hangup)信号从而关闭其所有子进程。因为解决方法大体有两种:要么让进程忽略HUP信号,要么让进程运行在新的会话里从而成为不属于此终端下的子进程...

2018-12-08 21:22:28 1281

原创 Java003 高并发场景下Bio与Nio的比较及原理示意图

高并发场景下BioVsNio本文将从以下四点梳理一下Bio和Nio的相关知识:lBio的技术代码逻辑实现l高并发场景下Bio存在的弊端lNio的技术实现原理l高并发场景下Nio相较于Bio的优势假设是用部署在Linux操作系统上的Tomcat配置的java应用程序。1.Bio属于传统网络编程处理连接以及数据传输的方式,技术代码逻辑实现大致如下:1)一个Bio...

2018-12-07 00:53:15 554

原创 TIPS001 从播放音乐的网页中提取mp3音频文件的两种方式及背后的技术思考【短连接和长连接】

两种方式可以获取,第一种更为直接,第二种逼格高一点:从IE临时缓存内容的本地路径获取,具体操作步骤如打开工具栏(Alt+X)>打开Internet选项(Ctrl+O)>在弹出的常规Tab页点击设置(Alt+S)>(Ctrl+V),找到IE临时缓存内容的本地路径(比如我本地是这个路径是:C:\Users\Administrator\AppData\Local\Microso...

2018-12-02 13:33:33 10567

(003)HashMap中红黑树TreeNode的split方法源码解读.docx

HashMap中红黑树TreeNode的split方法源码解读,对split方法源码的上下文/变量定义,及所调用的关键方法都给出了详细解释说明,欢迎指正

2020-06-20

(002)HashMap$TreeNode之往红黑树添加元素-putTreeVal方法.docx

HashMap之往红黑树添加元素-putTreeVal方法源码解读:当要put的元素所在数组索引位置已存在元素,且是红黑树类型时,就会调用putTreeVal方法添加元素到红黑树上,具体操作步骤如下: 1. 从根节点开始,到左右子树,层层递进,遍历红黑树,找到用于存放元素的合适位置;2.将元素放入指定位置,并修改链表/红黑树相关节点的前prev后next父parent子(left/right)指向;3.平衡红黑树;4.保证红黑树根节点是链表头节点

2020-06-18

从底层数据结构和CPU缓存两方面剖析LinkedList的查询效率为什么比ArrayList低.docx

从底层数据结构和CPU缓存两方面剖析LinkedList的查询效率为什么比ArrayList低。以前只直到数据结构会影响两者的查询效率,偶然间得知cpu缓存(硬件级别)也会有影响

2020-06-17

HashMap之put方法源码解读.docx

对HashMap的put方法的源码进行详细解读,分析put方法源码中的内在逻辑关系,欣赏源码独特之美,从中学习更为精致的编程思维

2020-06-17

HashMap在put数据时是如何找到要存放的位置的?.docx

分析HashMap在put数据时是如何找到要存放的位置的,对决定位置的hashCode计算方法进行详细解释,分析为啥要用高低16位异或运算,以及数组长度是如何影响元素存放位置的

2020-06-17

HashMap之resize()方法源码解读.docx

HashMap之resize()方法源码解读,分两部分概述扩容方法涉及到的处理:创建新数组,将旧数组元素转移到新数组上

2020-06-17

(006)HashMap$TreeNode确保根节点为头节点的moveRootToFront方法源码解读.docx

HashMap$TreeNode确保根节点为头节点的moveRootToFront方法源码解读,分析其各个步骤,并配有示意图

2020-06-17

HashMap扩容时的rehash方法中(e.hash & oldCap) == 0算法推导.docx

对HashMap扩容时重新计算旧数组元素在新数组地址的rehash方法中的(e.hash&oldCap)==0算法推导

2020-06-17

(001)HashMap之链表转红黑树-treefyBin方法.docx

详细解读了HashMap中链表转红黑树的treefyBin方法,该方法中涉及到的诸如:replacementTreeNode方法、treeify方法、comparableClassFor方法、compareComparables方法、tieBreakOrder方法、balanceInsertion方法、moveRootToFront 方法、rotateLeft方法、rotateRight方法、checkInvariants 方法均有详细解读

2020-06-17

空空如也

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

TA关注的人

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