JoshSu Blog

用自己的语言将学习领会到的技术知识记录下来 留作纪念

深入理解Java Class文件格式(六)

经过前几篇文章, 终于将常量池介绍完了, 之所以花这么大的功夫介绍常量池, 是因为对于理解class文件格式,常量池是必须要了解的, 因为class文件中其他地方,大量引用了常量池中的数据项。  对于还不了解常量池的读者, 如果想要深入了解class文件格式, 或者想继续读这篇博客和本专栏以后的博客, 那么我建议先把我前面的几篇博客读一下,把常量池的结构熟悉一下, 对于理解后面的内容很有帮助...

nodejs启动过程和require函数源码分析

当我们在命令行中敲下 node a.js 之后, 入口文件在 src/node_main.cc 中, 主要任务为将参数传入 node::Start 函数: // src/node_main.cc // ... int main(int argc, char *argv[]) { setvbuf(stderr, NULL, _IOLBF, 1024); return node...

深入理解Java Class文件格式(五)

前情回顾 本专栏的前几篇博文, 对class文件中的常量池进行了详细的解释。 前文讲解了常量池中的7种数据项, 它们分别是: CONSTANT_Utf8_info CONSTANT_NameAndType_info CONSTANT_Integer_info CONSTANT_Float_info CONSTANT_Long_info CONSTANT_Double_info ...

javascript里的匿名函数和闭包

匿名函数就是没有名字的函数, 闭包是可访问一个函数作用域里变量的函数. 一.匿名函数 //普通函数(函数名box()) function box() { return 'Lee'; } console.log(box()); //匿名函数, 会报错 function() { return 'Lee'; } //通过表达式自我执行 (function() { alert('...

深入理解Java Class文件格式(四)

前情回顾 在上一篇博客深入理解Java Class文件格式(三) 中, 介绍了常量池中的两种类型的数据项, 分别是 1.CONSTANT_Utf8_info 2.CONSTANT_NameAndType_info 。 CONSTANT_Utf8_info中存储了几乎所有类型的字符串, 包括方法名, 字段名, 描述符等等。 而CONSTANT_NameAndType_info是方法符号...

深入理解Java Class文件格式(三)

首先, 让我们回顾一下关于class文件格式的之前两篇博客的主要内容。 在 深入理解Java Class文件格式(一) 中, 讲解了class文件在整个java体系结构中的位置和作用, 讲解了class文件中的魔数和版本号相关的信息, 并且对常量池进行了概述。 在 深入理解Java Class文件格式(二) 中, 主要讲解了class文件中的特殊字符串, 包括类的全限定名, 字段描述符和方法...

深入理解Java Class文件格式(二)

在上一篇文章 深入理解Java Class文件格式(一) 中, 介绍了class文件在整个java体系结构中的位置和作用, 并对class文件的整体格式做了说明, 介绍了其中的魔数和版本号的相关内容, 并对常量池做了概述。 在本文章, 继续介绍class文件中的其他内容。 class文件中的特殊字符串 首先说明一下, 所谓的特殊字符串出现在class文件中的常量池中, 所以在上一篇博客中...

深入理解Java Class文件格式(一)

Class文件在Java体系结构中的位置和作用 在上一篇博客中, 大致讲解了Java虚拟机的体系结构和执行原理。 本篇博客主要讲解能够被JVM识别, 加载并执行的class文件的格式。 对于理解JVM和深入理解Java语言, 学习并了解class文件的格式都是必须要掌握的功课。原因很简单, JVM不会理解我们写的Java源文件, 我们必须把Java源文件编译成class文件, 才能被JV...

深入理解Java虚拟机到底是什么

什么是Java虚拟机 作为一个Java程序员, 我们每天都在写Java代码, 我们写的代码都是在一个叫做Java虚拟机的东西上执行的. 但是如果要问什么是虚拟机, 恐怕很多人就会模棱两可了。在本文中, 我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解,欢迎交流。 我们都知道java程序必须在虚拟机上运行。那么虚拟机到底是什么呢?先看网上搜索到的比较靠...

jooq insert 语句用法

官方文档: 点击查看 The INSERT statement is used to insert new records into a database table. INSERT语句用于将新记录插入数据库表。 The following sections describe the various operation modes of the jOOQ INSERT statemen...