当前位置: 首页 > news >正文

石家庄建站平台家电维修企业网站源码

石家庄建站平台,家电维修企业网站源码,seo平台代理,建设简易电子商务网站流程图在上一篇文章《学习HandlerThread》我们提到虽然HandlerThread类里有getThreadHandler()方法得到Handler,但是我们不可能调用到它。因为这个方法用hide注释了 /*** return a shared {link Handler} associated with this thread* hide*/NonNullpublic Handler getT…

在上一篇文章《学习HandlerThread》我们提到虽然HandlerThread类里有getThreadHandler()方法得到Handler,但是我们不可能调用到它。因为这个方法用@hide注释了

/*** @return a shared {@link Handler} associated with this thread* @hide*/@NonNullpublic Handler getThreadHandler() {if (mHandler == null) {mHandler = new Handler(getLooper());}return mHandler;}

那么我们来看看@hide究竟是何方神圣。

如果我们的android项目的build.gradle配置了compileSdk 32,那么在我们编译我们android应用时,$ANDROID_SDK_HOME/platforms/android-32/android.jar就会加入我们编译时的类路径中,参与app的编译。@hide会控制我们编译时用到的这个android.jar包里的东西。

请添加图片描述

android.jar作为编译android本身的一部分被创建。Android framework的类会被分析,并创建它们的副本。这个副本有以下特点:

  • 去除被标注了@hide的类、方法、字段等
  • 所有剩下的方法都有stub实现,即throw new RuntimeException("Stub!")
  • 保留所有没有被去除的类、方法、字段的JavaDoc注解

我们使用javap命令查看一下android.os.HandlerThread.class里的东西:

% javap -verbose android/os/HandlerThread.class

从下面我们可以看到HandlerThread.class确实没有了getThreadHandler方法。

Classfile 
***/adddd/android/android/os/HandlerThread.classLast modified Jan 1, 2008; size 1043 bytesSHA-256 checksum 8161f60748df5cf7489dbf189c3f4668d81a17595dbd55e52baa0f8263bb96d4Compiled from "HandlerThread.java"
public class android.os.HandlerThread extends java.lang.Threadminor version: 0major version: 52flags: (0x0021) ACC_PUBLIC, ACC_SUPERthis_class: #5                          // android/os/HandlerThreadsuper_class: #6                         // java/lang/Threadinterfaces: 0, fields: 0, methods: 8, attributes: 1
Constant pool:#1 = Methodref          #6.#31         // java/lang/Thread."<init>":()V#2 = Class              #32            // java/lang/RuntimeException#3 = String             #33            // Stub!#4 = Methodref          #2.#34         // java/lang/RuntimeException."<init>":(Ljava/lang/String;)V#5 = Class              #35            // android/os/HandlerThread#6 = Class              #36            // java/lang/Thread#7 = Utf8               <init>#8 = Utf8               (Ljava/lang/String;)V#9 = Utf8               Code#10 = Utf8               LineNumberTable#11 = Utf8               LocalVariableTable#12 = Utf8               this#13 = Utf8               Landroid/os/HandlerThread;#14 = Utf8               name#15 = Utf8               Ljava/lang/String;#16 = Utf8               (Ljava/lang/String;I)V#17 = Utf8               priority#18 = Utf8               I#19 = Utf8               onLooperPrepared#20 = Utf8               ()V#21 = Utf8               run#22 = Utf8               getLooper#23 = Utf8               ()Landroid/os/Looper;#24 = Utf8               quit#25 = Utf8               ()Z#26 = Utf8               quitSafely#27 = Utf8               getThreadId#28 = Utf8               ()I#29 = Utf8               SourceFile#30 = Utf8               HandlerThread.java#31 = NameAndType        #7:#20         // "<init>":()V#32 = Utf8               java/lang/RuntimeException#33 = Utf8               Stub!#34 = NameAndType        #7:#8          // "<init>":(Ljava/lang/String;)V#35 = Utf8               android/os/HandlerThread#36 = Utf8               java/lang/Thread
{public android.os.HandlerThread(java.lang.String);descriptor: (Ljava/lang/String;)Vflags: (0x0001) ACC_PUBLICCode:stack=3, locals=2, args_size=20: aload_01: invokespecial #1                  // Method java/lang/Thread."<init>":()V4: new           #2                  // class java/lang/RuntimeException7: dup8: ldc           #3                  // String Stub!10: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V13: athrowLineNumberTable:line 23: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      14     0  this   Landroid/os/HandlerThread;0      14     1  name   Ljava/lang/String;public android.os.HandlerThread(java.lang.String, int);descriptor: (Ljava/lang/String;I)Vflags: (0x0001) ACC_PUBLICCode:stack=3, locals=3, args_size=30: aload_01: invokespecial #1                  // Method java/lang/Thread."<init>":()V4: new           #2                  // class java/lang/RuntimeException7: dup8: ldc           #3                  // String Stub!10: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V13: athrowLineNumberTable:line 25: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      14     0  this   Landroid/os/HandlerThread;0      14     1  name   Ljava/lang/String;0      14     2 priority   Iprotected void onLooperPrepared();descriptor: ()Vflags: (0x0004) ACC_PROTECTEDCode:stack=3, locals=1, args_size=10: new           #2                  // class java/lang/RuntimeException3: dup4: ldc           #3                  // String Stub!6: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V9: athrowLineNumberTable:line 27: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      10     0  this   Landroid/os/HandlerThread;public void run();descriptor: ()Vflags: (0x0001) ACC_PUBLICCode:stack=3, locals=1, args_size=10: new           #2                  // class java/lang/RuntimeException3: dup4: ldc           #3                  // String Stub!6: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V9: athrowLineNumberTable:line 29: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      10     0  this   Landroid/os/HandlerThread;public android.os.Looper getLooper();descriptor: ()Landroid/os/Looper;flags: (0x0001) ACC_PUBLICCode:stack=3, locals=1, args_size=10: new           #2                  // class java/lang/RuntimeException3: dup4: ldc           #3                  // String Stub!6: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V9: athrowLineNumberTable:line 31: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      10     0  this   Landroid/os/HandlerThread;public boolean quit();descriptor: ()Zflags: (0x0001) ACC_PUBLICCode:stack=3, locals=1, args_size=10: new           #2                  // class java/lang/RuntimeException3: dup4: ldc           #3                  // String Stub!6: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V9: athrowLineNumberTable:line 33: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      10     0  this   Landroid/os/HandlerThread;public boolean quitSafely();descriptor: ()Zflags: (0x0001) ACC_PUBLICCode:stack=3, locals=1, args_size=10: new           #2                  // class java/lang/RuntimeException3: dup4: ldc           #3                  // String Stub!6: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V9: athrowLineNumberTable:line 35: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      10     0  this   Landroid/os/HandlerThread;public int getThreadId();descriptor: ()Iflags: (0x0001) ACC_PUBLICCode:stack=3, locals=1, args_size=10: new           #2                  // class java/lang/RuntimeException3: dup4: ldc           #3                  // String Stub!6: invokespecial #4                  // Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V9: athrowLineNumberTable:line 37: 0LocalVariableTable:Start  Length  Slot  Name   Signature0      10     0  this   Landroid/os/HandlerThread;
}
SourceFile: "HandlerThread.java"

这里再介绍一下从这个HandlerThread.class里面看到的一些信息:

  • minor version: 0 major version: 52:表示当前这个.class文件是用哪个编译器生产的
JDK Version(in Decimal) Major Version
Java SE 8.052
Java SE 11.055
  • Compiled from “HandlerThread.java”:说明.class文件是由这"HandlerThread.java"编译而来的
http://www.yayakq.cn/news/614172/

相关文章:

  • 做商城网站多少钱企业官网模板免费
  • 网站规范建设在线生成app网站源码
  • 在线做数据图的网站有哪些wordpress 博客标题
  • 网站建设 大学生创业网wordpress图片视频分享
  • 做平面设计在那个网站上找图好海外网站营销
  • .网站空间随身办app下载
  • 深圳网站开发哪家服务专业通信工程网站建设
  • 买域名送网站seo教程搜索引擎优化入门与进阶
  • wordpress速度没织梦快谷歌seo关键词优化
  • 爱企查企业信息查询盐城seo营销
  • 网站优化自已做还是请人做喀什住房和城乡建设局网站
  • 建站的公司济宁住房和城乡建设厅网站
  • 什么叫手机网站手机中国建设银行网站
  • 网站建设前期开发网站创建怎么做
  • 长春网站建设推广做网站西安哪家好
  • 杭州网站的优化建筑公司企业愿景怎么写
  • 请人做网站得多少钱做个网站需要多少钱.
  • 网站做任务 炸金花中国邮政做特产的网站
  • 网站设计兼职企业网站建设排名网址
  • 网站程序上传工具广告设计是什么专业类别
  • 撤销网站备案广东 网站建设 公司排名
  • 中集建设集团有限公司网站苏州实力做网站公司有哪些
  • 中国建设银行龙卡网站企业公司简介
  • 济宁网站建设公司有哪些有什么平台可以发广告
  • 网站首页框架图网页制作大作业
  • 平度市城市建设局网站seo网站优化策划案
  • 团购网站自个做前端好学吗需要学多久
  • 大气娱乐搞笑网站源码网站搭建公司
  • 微信网站响应式网站平面设计技能培训班
  • 广州网站设计公司推荐哪家利用虚拟主机建设企业网站实验报告