GLCanvasImpl.java是接口GLCanvas的唯一实现类,也就是说二者在功能上完全等同.代码中调用GLCanvas对象函数的地方,等效于调用GLCanvasImpl中的该函数,GLCanvasImpl对该函数有具体的实现. 1.构造函数 GLCanvasImpl(GL11 gl) { mGL = gl; mGLState = new GLState(gl); initialize(); } 1.1.new GLState(gl) public GLState(GL11 gl) { m…
首先申明,找到这个类是在GLRootView.java中发现的线索.这是一个接口,源码中对该接口作了详细的说明: // // GLCanvas gives a convenient interface to draw using OpenGL. // // When a rectangle is specified in this interface, it means the region // [x, x+width) * [y, y+height) // public interface…
上文中,main.xml是我直接提出来的,并没有说明是怎么找到它的,现在说明发现它的理由: 一般我们分析界面布局会用到hierarchyviewer这个工具,从工具中,我们对应到视图,最主要的视图id我们找到了"gl_root_view",这一点在上一节中有说明.在Source insight中搜索这个id,我们找到了layout/Gl_root_group.xml: <merge xmlns:android="http://schemas.android.com/ap…
JVM源码分析之一个Java进程究竟能创建多少线程 原创: 寒泉子 你假笨 2016-12-06 概述 虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从JVM源码角度来分析,更多的来自于Linux Kernel的源码分析,今天要说的是JVM里比较常见的一个问题 这个问题可能有几种表述 一个Java进程到底能创建多少线程? 到底有哪些因素决定了能创建多少线程? java.lang.OutOfMemoryError: unable to create new native thread的…
Short是基本数据类型short的包装类. 1)声明部: public final class Short extends Number implements Comparable<Short> extends Number,override methods: public abstract int intValue(); public abstract float floatValue(); public abstract long longValue(); public abstract…
一. 序言 Object.java是一切类的基类,所以了解该类有一定的必要 二 .属性及方法分析 方法列表: private static native void registerNatives(); public final native Class<?> getClass(); public native int hashCode(); public boolean equals(Object obj); protected native Object clone() throws Clo…
1)声明部: public final class Integer extends Number implements Comparable<Integer> extends Number, 重写方法: public byte byteValue() { return (byte)value; } public short shortValue() { return (short)value; } public int intValue() { return value; } public l…
Byte是基本数据类型byte的包装类. 1)声明部分: public final class Byte extends Number implements Comparable<Byte> 实现Comparable<T>接口,实现该接口方法如下: public int compareTo(Byte anotherByte) { return compare(this.value, anotherByte.value); } public static int compare(by…
上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解ArrayList.先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它.内容包括: ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess…
[源码分析]StringJoiner的使用以及源码分析 StringJoiner是Java里1.8新增的类, 或许有一部分人没有接触过. 所以本文将从使用例子入手, 分析StringJoiner的源码. 基本好的同学, 其实只要把这段例子自己运行一下, 自己看看源码就可以了. 因为我觉得这个类挺简单的. 没必要看我下面的废话.... public class StringJoinerTest { public static void main(String[] args) { StringJoi…