1.java langԴ?源码?
2.程序员的福音 - Apache Commons Lang
3.Java源码分析 | CharSequence
4.java.langå¨åªä¸ªç®å½ä¸
java langԴ??
查看源码:链接如下:
androiddocs/src/trunk/core/java/android/content/BroadcastReceiver.java
public void sendFinished(IActivityManager am) {
synchronized (this) {
if (mFinished) {
throw new IllegalStateException("Broadcast already finished");
}
mFinished = true;
估计是重复调用finish方法去结束广播,第二次调用就会抛这个错,源码你不能关闭两次。源码
程序员的源码福音 - Apache Commons Lang
此文为系列文章的后续篇章,欲了解更多前文内容,源码请点击链接查阅。源码照片展示源码
Apache Commons Lang是源码对Java标准库java.lang的扩展,在commons工具包中,源码Lang包是源码最常用的。
目前Lang包包括commons-lang3和commons-lang两个版本。源码Lang的源码最新版本为2.6,适用于Java1.2及以上环境,源码但官方已不再维护。源码Lang3的源码最新版本为3..0,适用于Java8及以上环境,源码完全支持Java8的特性,并废弃了一些旧的gapso源码API。由于版本不兼容,Lang3更名为lang3以避免冲突。
推荐Java8以上的用户使用lang3代替lang。以下内容以lang3 - 3..0版本为例进行说明。
以下是整体结构:
以下仅列举其中常用功能进行说明,其余功能可自行查阅源码研究。
. 日期相关:在Java8之前,日期处理主要依赖于java.util.Date和java.util.Calendar类,taotuzi源码但这两个API存在线程安全问题且不够便捷。Java8推出了新的日期API。如果仍在使用旧的日期API,可以使用DateUtils和DateFormatUtils工具类进行转换和计算。
. 字符串相关:字符串是Java中最常用的类型,相关工具类也最为常用。以下列举了一些常用功能:
1. 字符串判空
2. 字符串去空格
3. 字符串分割
4. 取子字符串
5. 其他功能
6. 随机字符串
. 反射相关:反射是Java的重要特性,Lang包中的docbar源码反射工具类可以方便地实现反射功能。以下列举了一些常用功能:
1. 属性操作
注:方法名含Declared的只会在当前类实例上寻找,不包含Declared的在当前类上找不到则会递归向父类上一直查找。
2. 获取注解方法
3. 方法调用
其他还有ClassUtils,ConstructorUtils,TypeUtils等,不是很常用,有需求的可以现查阅类的源码。
. 系统相关:主要获取操作系统和JVM的枪神源码一些信息。
. 总结:除了以上介绍的工具类外,还有其他不常用的工具类。感兴趣的用户可以自行查阅源码研究。
Java源码分析 | CharSequence
本文基于 OracleJDK ,HotSpot 虚拟机,深入探讨了 CharSequence 接口在 Java 中的角色与应用。CharSequence 定义
CharSequence 是 java.lang 包下的一个接口,专门用于描述字符序列,即字符串。它提供对多种不同类型的 char 序列的统一只读访问,包括 String、StringBuffer、StringBuilder 和 CharBuffer 等。Unicode 规范与 char 值表示
扩展 char 数据类型基于原始 Unicode 规范。Unicode 标准定义了合法代码点的范围是从 U+ 到 U+FFFF。这些代码点分为基本多语言平面(BMP)和补充平面。一个 char 值表示 BMP 代码点,可为代理代码点或 UTF- 编码的代码单元。一个 int 值表示所有 Unicode 代码点,包括补充代码点,其中低(最低有效) 位用于表示代码点,高(最高) 位必须为零。常用方法解析
CharSequence 接口提供了多个核心方法,包括: length() 方法返回字符序列的长度,即 位 char 的个数。 charAt(int index) 方法返回指定索引处的 char 值,索引范围从零到 length() - 1。 subSequence(int start, int end) 方法返回指定范围的子序列,长度为 end - start。 toString() 方法将序列转换为字符串。 chars() 方法返回序列中的 int 值流,适用于内部循环优化。 codePoints() 方法返回序列中的代码点值流。 compare(CharSequence cs1, CharSequence cs2) 方法在 Java 中引入,用于按字典顺序比较两个 CharSequence 实例。 这些方法为开发者提供了高效处理字符序列的工具,确保 Java 应用程序能够灵活应对复杂字符串操作。java.langå¨åªä¸ªç®å½ä¸
å°è£ å¨rt.jarå ä¸ï¼å¨å®è£ ç®å½æç´¢ä¸å°±ç¥éäºï¼ æºç å¨src.zipå缩æ件ä¸ï¼\jdk1.6.0\bin -- JDKå å«çä¸äºå¼åå·¥å ·æ§è¡æ件\jdk1.6.0\jre\bin\clientå å« Java HotSpotTM Client Virtual Machineã
è¦ç¨çDLLæ件\jdk1.6.0\jre\bin\serverå å«JavaHotSpotTM Server Virtual Machine è¦ç¨ç DLL æ件\jdk1.6.0\lib -- Javaå¼åå·¥å ·è¦ç¨çä¸äºåºæ件ï¼æå å«äºæ¯æJDKå·¥å ·çéæ ¸å¿ç±»åºtool.jarã
ç¼è¯å解éæ§ï¼
Javaç¼è¯ç¨åºçæåèç ï¼byte-codeï¼ï¼èä¸æ¯é常çæºå¨ç ãJavaåèç æä¾å¯¹ä½ç³»ç»æä¸æ§çç®æ æä»¶æ ¼å¼ï¼ä»£ç 设计æå¯ææå°ä¼ éç¨åºå°å¤ä¸ªå¹³å°ãJavaç¨åºå¯ä»¥å¨ä»»ä½å®ç°äºJava解éç¨åºåè¿è¡ç³»ç»ï¼run-time systemï¼çç³»ç»ä¸è¿è¡ã
å¨ä¸ä¸ªè§£éæ§çç¯å¢ä¸ï¼ç¨åºå¼åçæ åâé¾æ¥âé¶æ®µå¤§å¤§æ¶å¤±äºãå¦æ说Javaè¿æä¸ä¸ªé¾æ¥é¶æ®µï¼å®åªæ¯ææ°ç±»è£ è¿ç¯å¢çè¿ç¨ã
å®æ¯å¢éå¼çãè½»é级çè¿ç¨ãå æ¤ï¼Javaæ¯æå¿«éååå容æè¯éªï¼å®å°å¯¼è´å¿«éç¨åºå¼åãè¿æ¯ä¸ä¸ªä¸ä¼ ç»çãèæ¶çâç¼è¯ãé¾æ¥åæµè¯âå½¢æé²æ对æ¯ç精巧çå¼åè¿ç¨ã