OpenJDK源码研究笔记

Java > Java SE [问题点数:40分,结帖人FansUnion]
等级
本版专家分:23
结帖率 85.71%
等级
本版专家分:8699
勋章
Blank
蓝花 2017年7月 Java大版内专家分月排行榜第三
等级
本版专家分:23
等级
本版专家分:23
等级
本版专家分:0
OpenJDK源码研究笔记(八)-详细解析如何读取Java字节码文件(.class)

在上一篇OpenJDK源码研究笔记(七)–Java字节码文件(.class)的结构中,我们大致了解了Java字节码文件的结构。 本篇详细地介绍了如何读取.class文件的大部分细节。 1.构造文件 // 字节码文件User.class String ...

OpenJDK源码研究笔记(十二):JDBC中的元数据,数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData...

元数据最本质、最抽象的定义为:data about data (关于数据的数据)。它是一种广泛存在的现象,在许多领域有其具体的定义和应用。 JDBC中的元数据,有数据库元数据(DatabaseMetaData),参数元数据(ParameterMetaData)...

OpenJDK源码研究笔记(十一):浅析Javac编译过程中的抽象语法树(IfElse,While,Switch等语句的抽象和封装)

浅析OpenJDK源码编译器Javac的语法树包com.sun.source.tree。 抽象语法树,是编译原理中的经典问题,有点难,本文只是随便写写。

OpenJDK源码研究笔记(十五):吐槽JDK中的10个富有争议的设计

前14篇文章,分享了JDK中值得学习和借鉴的编码和设计方法。 每个硬币都是有两面的。Every coin has two sides。 当然,JDK中也有很多值得改进或者说富有争议的设计。 本篇,就来详细吐槽下JDK中的10个富有争议的设计...

OpenJDK源码研究笔记(一)-参数检查&抛出带关键错误提示信息的异常

OpenJDK源码研究笔记系列文章,是我在阅读OpenJDK7源码的过程中的一些体会、收获、看法。 把研究过程中的成长和收获一点点地整理出来,是对自己研究学习的一个小结,也有可能给学习Java的一些同学带来一些启发。 ...

OpenJDK源码研究笔记(十四):三种经典的设计方法,接口,接口-抽象类-具体实现类,接口-具体实现类

研究OpenJDK源码过程中,我发现常用的设计方法就是2种:接口,接口-抽象类-具体实现类 。 在一些其它开源框架和业务开发中,经常存在着第3种设计,接口-具体实现类。

OpenJDK源码研究笔记(七)–Java字节码文件(.class)的结构

最近在看OpenJDK源码的过程中,顺便看了Java编译器(javac)的源码。 为了理解javac的源码,需要先搞懂Java字节码文件(.class)的结构。 于是,我就认真看了下OpenJDK中Java字节码文件的相关源码,结合大学期间对JVM...

OpenJDK源码研究笔记(四)-编写和组织可复用的工具类和方法

本篇主要讲解java.util.Arrays这个针对数组的工具类。

OpenJDK源码研究笔记(十):枚举的高级用法,枚举实现接口,竟是别有洞天

研究OpenJDK,Java编译器javac源码的过程中,发现以下代码。 顿时发现枚举类竟然也有如此“高端大气上档次”的用法。 内容摘要:沙场点兵(用法源码)、指点江山(代码说明)、别有洞天(受益匪浅)、小试牛刀(使用示例)...

Docker封装Java环境镜像(Alpine+OpenJDK

在给Java程序封装镜像时,...这里使用Alpine Linux(3.9) 安装OpenJDK 1.8及部分常用工具并修改时区: 文末提供Dockerfile 拉取alpine镜像 # docker pull alpine 运行并进入容器 # docker run -itd --name alpi...

【深入理解Java虚拟机】之自己编译JDK(已经完成,其中有自己遇到的各种问题及解决办法)

OpenJDKOpenJDK 7u1、获取源码。 两种方式: ① 直接官网下载 ② 通过Mercurial代码版本管理工具获取。说一下第二种方式: 首先安装Mercurial代码版本管理工具yum install mercurial安装之后clone源码hg clone

OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题...

本文先给出一个看似很简单实则有深意的Java笔试面试题,引出JDK内部的缓存。 JDK内部的缓存,主要是为了提高Java程序的性能。 你能答对这道“看似简单,实则有深意”的Java题目?

jvm源码阅读笔记[7]-从jstat -gccause命令谈到jvm中都有哪些GC cause

从零开始看源码,旨在从源码验证书上的结论,探索书上未知的细节。有疑问欢迎留言探讨 个人源码地址:https://github.com/FlashLightNing/openjdk-notes 还有一个openjdk6,7,8,9的地址:...

jvm源码阅读笔记[2]:你不知道的晋升阈值TenuringThreshold详解

个人源码地址:https://github.com/FlashLightNing/openjdk-notes 还有一个openjdk6,7,8,9的地址:... jvm源码阅读笔记[1]:如何触发一次CMS回收  大家都知道年轻代中经历了多次GC之后仍然没有被回收的对象就会晋升

OpenJDK源码研究笔记(九)-可恨却又可亲的的异常(NullPointerException)

对于一个新人来讲,遇到异常经常会压力大,手忙脚乱,心生畏惧。 对于一个程序老鸟来说,看到异常的名字,就能够镇定自若,很快搞定问题。 没有异常,才是最难解决的问题。

JAVA虚拟机源码学习笔记之一

JAVA虚拟机源码学习笔记之一 前几天,从网上看到各大网站大力地喧传,说JAVA开源了,心里想有这等好事情,得赶紧去下载代码来看看,学习别人代码,就是可以提高自己的水平,这是刻不容缓的事情。 第一步,到网站上...

1.scala编程思想笔记——环境准备及介绍

源码下载连接请见第一篇笔记。   Scala是一门多范式的编程语言,一种类似java的编程语言 ,设计初衷是实现可伸缩的语言 、并集成面向对象编程和函数式编程的各种特性。  学习scala我们先准备一下环境。 1. ...

深入理解java虚拟机之一window下编译OpenJDK环境搭建

环境构建需要的工具 1.cygwin 工具。这个工具的主要用处是为了在window平台上模拟出一... 为了能够在window下编译openJDK,我们需要手动安装的工具如下: Devel:binutils,make. Interpreters:m4 Utils:cpio,awk,

CSDN博客的文章分类和战略规划

CSDN原创文章已经有300多篇了,现在已经整理了好多个分类目录了。今天,特别向大家介绍下,每个分类的含义和规划。CSDN博客是我的一个重要的自媒体...2.OpenJDK源码研究笔记 OpenJDK源码研究过程中整理的学习笔记。 Op

编译Android 4.4.2源码

在之前的文章中,和大家分享了在天朝下下载android 4.4.2源码的过程(详见下载android4.4.2源码全过程(附已下载的源码)),现在写下编译的笔记。 虽然在android doc中,有提到可以用open jdk来编译,见:...

OpenJDK:构建JDK

因为 OpenJDK 项目 的目标和流程已经在 第一期 介绍过,所以 Elliotte 将在此教程中直接介绍 JDK 7 的实际构建。 在此之前, 如果 OpenJDK 项目有更新,我们会将其发布在每期“开源之路”的开始部分

win10下编译OpenJDK8

  1. 编译环境的准备 ... 1.1 JDK源码下载  OpenJDK是JAVA发展史中的一个开源项目,本文以OpenJDK8为例进行编译。OpenJDK的官网为:http://openjdk.java.net/,直接访问http://openjdk.java.net/install/...

OpenJDK源码研究笔记(十三):Javac编译过程中的上下文容器(Context)、单例(Singleton)和延迟创建...

在阅读Javac源码的过程中,发现一个上下文对象Context。这个对象用来确保一次编译过程中的用到的类都只有一个实例,即实现我们经常提到的...通过对OpenJDK和Javac源码的一点点解析,希望自己能够搞懂JDK和Javac的实现。

openJDK源代码阅读笔记

Main函数在/openjdk/jdk/src/share/bin/main.c里面,通过设置宏定义还可以编译出两个可执行文件来。乍看应该就是java.exe和javaw.exe的入口代码了。 入口函数没干什么有意义的事儿,直接调用了同目录下java.c里面...

自己动手编译Android 8.0源码

安装git并且配置 sudo apt-get install git git config --global user.name "your name" git config --global user.email "XXX@XXX.com" 安装repo sudo apt-get install curl ...PATH=~/bin:$PATH

TensorFlow学习笔记(三)—— linux安装TensorFlow

我们可以使用pip来安装tensorflow 因为依赖python,且有python2与python3之分,所以先安装virtualenv 可方便得在python2.7与python3之前动态切换 sudo pip install virtualenv 激活环境 virtualen...

android:自己动手编译Android源码(超详细)

自己动手编译Android源码(超详细) 涅槃1992 2016.06.20 02:12* 字数 43...

自己动手编译Android源码(超详细)

作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解。 android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.

RK3288平台Android系统源码编译爬坑笔记

RK3288平台Android系统源码编译爬坑笔记博主自认为永远都是IT界的技术小白,最近开始接触Android系统源码的编译,由于工作需要,使用的是国产瑞芯微rk3288芯片平台的核心板,选择的服务商是阿里巴巴上相对知名的葡萄...

自己动手编译最新Android源码及SDK(Ubuntu)

现在我们来谈谈android源码编译的一些事.(俺认为,作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解).本文适用于以下以下编译途径: Ubuntu 16.04...

相关热词 c# 指定打印机名称 c# 在调试窗口输出信息 c# 点对点即时通讯 c#判断数字是否为空 c# 小端 浮点数 c# typeof返回值 c#初始化字符串 c#dataset用法 c#实现凝聚层次聚类 c#最简单线程