自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 2020阿里P8进阶学习路线,从0开始教你应该学什么,怎么学不走弯路

初级学什么 Android基础 Application生命周期 Android Activity生命周期 Android Service、IntentService,Service和组件间通信 Activity的onNewIntent Fragment的懒加载实现,参数传递与保存 ContentProvider实例详解 BroadcastReceiver使用总结 Android消息机制 Binder机制,共享内存实现原理 Android 事件分发机制 Android 多线程的实现:Thread、Handl

2021-12-30 11:53:22 1300

原创 Activity的任务栈Task以及启动模式与Intent的Flag详解(经典博文,值得收藏

把TASK比作一个班级,affinity则更像是这个班级的班级名称,学校比做系统,Activity更像是班级里的学生 如果没有对activity设置该属性的话,默认为application的taskAffinity,如果application也没有设置,则为app的包名. 启动一个singleTask模式的activity,会首先在系统中找与它的taskAffinity属性一致的任务栈, 先找task 没有特别指定taskAffinity,则为当前的task 如果指定了taskAffinit.

2021-12-27 11:09:55 612

原创 java多线程Thread join与CountDownLatch源码分析

} } else { while (isAlive()) { long delay = millis - now; if (delay <= 0) { break; } wait(delay); now = System.currentTimeMillis() - base; } } } 首先,join方法是线程对象的实例方法,并不同于sleep方法。并且被 synchronized关键字被修饰,说明要进入join方法,必须获得线程的对象锁。所以join(long millis)方法,指的是获取对象锁

2021-12-23 00:15:24 156

原创 java反射-变量键值对排序

2、解决方案 2.1 方案 (1)使用@RequestBody将json转换成对象; (2)使用反射机制获取键值对,需要使用treemap,treemap会按照首字母顺序排序插入; (3)从map中按顺序遍历出键值对; 1和3就简单说一下,重点是2。 2.2 上代码及说明 2.2.1 实体类ReflesTes1与ReflesBase public class ReflesTest1 extends ReflesBase{ private String aLaowang; private String

2021-12-23 00:13:12 206

原创 Java利用MessageFormat实现短信模板的匹配

MessageFormat方法的介绍 MessageFormat用来格式化一个消息,通常是一个字符串,比如: String str = “I’m not a {0}, age is {1,number,short}, height is {2,number,#.#}”; 而MessageFormat可以格式化这样的消息,然后将格式化后的字符串插入到模式中的适当位置,比如: 将str中的{0}用"pig"替换,{1,number,short}用数字8替换,{2,number,#.#}用数字1.2替换。 那么最

2021-12-23 00:11:41 559

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除