YY's Studio.

YY's Studio.

tody than yestoday a little progress

【虚拟机简史】生命的起源—类加载机制

前言DNA是生命的背后基石,支持着生命的基本构造和性能。储存着生命的种族、血型、孕育、生长、凋亡等过程的全部信息。 同样的在JVM中,Class文件储存着对象的类型、字段、方法、可见性,GC操作等过程的全部信息。 在日常的开发中。我们接触最多的操作就是实例化对象,那么对象在JVM中是怎么产生的呢?本篇承接上文Class文件,将分析一下类的加载机制。 为了更好的理解,我们按照黄金思维法则来学...

【虚拟机简史】基于栈虚拟机vs基于寄存器虚拟机

前言虚拟机的存在是为了隔绝物理层面上的差异,而在虚拟机中也存在多种执行方式。在介绍Class文件中,我们了解到JVM虚拟机指令执行是通过操作数栈,这样的虚拟机被认为是基于栈的,而Dalvik虚拟机中则是基于寄存器的,那基于栈与基于寄存器的虚拟机到底有什么区别? 首先,我们要先了解栈和寄存器,栈是虚拟机在内存中划分出来的虚拟区域,属于栈帧的一部分。用作数据处理的区域,而寄存器则是一个真实的物...

【虚拟机简史】万物的DNA—Class文件

前言DNA是生命的背后基石,支持着生命的基本构造和性能。储存着生命的种族、血型、孕育、生长、凋亡等过程的全部信息。 就如同在现实生活中每种生物都有自己的独特DNA一样,虚拟机世界中每个对象都拥有自己的DNA——Class文件。储存着对象的类型、字段、方法、可见性,GC等过程的全部信息。 Class文件的由来在了解之前class文件之前,我们必须要明白为什么会有class文件。 在C/C+...

【Java常用容器】HashMap源码分析

阅读提醒:将本文结合源码一起使用味道更佳哦!~ 前言 上一章写到ArrayList的源码分析,而本篇将会对同样是最常用的容器之一的HashMap来进行分析。之前面试求职者,经常会问到HashMap的底层数据结构的部分。很多人只回答出是“哈希表”。因此特意引用网上哈希表的定义: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是...

追书神器(一)—Scrapy入门

前言看小说是我这么多年来一直保持的习惯。《盘龙》、《斗破苍穹》、《仙逆》、《凡人修仙传》等等,陪伴了我整个学生时代。最近发现iOS上小说类app体验都不好,经常出现广告弹出、更新不及时、强制分享等情况。于是在一个下雨的晚上,我决定不再忍受这些app,自己强撸一个追书爬虫。 Scrapy介绍Scrapy是python主流爬虫框架,可以很方便的通过url抓取web信息,同时与传统的reques...

理解关键字—yield

前言为了方便追小说更新撸了一个基于scrapy的爬虫。在实现过程中使用到了 yield,网上对其的文字描述都很难让人理解。通过Debug代码才了解调用顺序,进而理解了它使用方法。 概念理解yield作用我们可以用一个等式来形容其作用: yeild 函数 = return 生成器(generator) 什么是生成器 生成器 = 可迭代的函数 正常情况下我们可以这样迭代一个列表123...
走川
非典型程序员