自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hirezy

人生没有彩排,每一个细节都是现场直播。

  • 博客(198)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android之深入NFC通信

NFC技术作为一种新兴技术在世界范围内受到了广泛关注,尤其是手机的广泛应用,为NFC技术的长足发展提供了前提。NFC技术原理简单,因此成本相对低廉,除此之外NFC通信的带宽高、能耗低等特点也是促进NFC技术发展的一大优势。

2024-07-22 00:13:20 1183 2

原创 Framework源码面试之Handler面试集合

Handler主线程和子线程通过handler交互,交互的载体是通过Message这个对象,实际上我们在子线程发送的所有消息,都会加入到主线程的消息队列中,然后主线程分发这些消息,这个就很容易做到俩个线程信息的交互。看到这里,你可能有疑问了,我从子线程发送的消息,怎么就加到了主线程的消息队列里呢???大家可以看看你自己的代码,你的handler对象是不是在主线程初始的?子线程发送消息,是不是通过这个handler发送的?这就很简单了,handler只需要把发送的消息,加到自身持有的Looper对象的。

2024-07-21 23:59:38 793 2

原创 Java深入理解equals()与hashCode()方法

Object类是类继承结构的基础,所以是每一个类的父类。所有的对象,包括数组,都实现了在Object类中定义的方法。equals()方法详解equals()方法是用来判断其他的对象是否和该对象相等. equals()方法在object类中定义如下:很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、Integer、Double等这些封装类在使用equals()方法时,已经覆盖了object类的equals()方法。while (n–!

2024-07-21 23:51:29 729

原创 Android全面解析Window机制

先假设如果没有window,会发生什么:我们看到的界面ui是view,如我们的应用布局,更简单是一个button。假如屏幕上现在有一个Button,如图1,现在往屏幕中间添加一个TextView,那么最终的结果是图2,还是图3:在上图的图2中,如果我要实现点击textView执行他的监听事件逻辑,点击不是textView的区域让textView消失,需要怎么实现呢?

2024-07-21 23:37:27 1005

原创 深入解析Hashtable、LinkHashMap、TreeMap

在深入解析HashMap文章中我从散列表的角度解析了HashMap,在深入解析ConcurrentHashMap解析了ConcurrentHashMap的底层实现原理。本文是HashMap系列文章的第三篇,主要内容是讲解与HashMap相关的集合类。HashMap本身功能已经相对完善,但在某些特殊的情景下,他就显得无能为力,如高并发、需要记住key插入顺序、给key排序等。实现这些功能往往需要付出一定的代价,在没有必然的需求情景下,增添这些功能是没必要的。

2024-07-17 21:10:56 630

原创 深入解析ConcurrentHashMap

ConcurrentHashMap优秀的CAS+自旋锁+synchronize并发设计,是整个框架的重点所在。从而保证了ConcurrentHashMap的线程安全。

2024-07-17 20:46:25 1160

原创 深入剖析HashMap实现原理

HashMap本质上是一个散列表,那么就离不开散列表的三大问题:散列函数、哈希冲突、扩容方案;同时作为一个数据结构,必须考虑多线程并发访问的问题,也就是线程安全。这四大重点则为学习HashMap的重点,也是HashMap设计的重点。

2024-07-16 20:54:06 1135

原创 认识散列表和哈希表

散列表(Hash Table)和哈希表(Hash Map)是计算机科学中常用的数据结构,用于将一组键值映射到一个位置,以便快速查找和访问数据。

2024-07-16 19:54:04 362

原创 深入解析Java中volatile关键字

搞懂 Java中volatile关键字,保证线程安全,解决并发问题。

2024-06-06 20:36:24 1213 4

原创 HarmonyOS(二十五)——Harmonyos通用事件之点击事件

Harmonyos 的onClick 点击事件,就是组件被点击时触发的事件。

2024-06-05 21:09:36 714 1

原创 HarmonyOS(二十三)——HTTP请求实战一个可切换的头条列表

使用http实现一个新闻列表,具备下拉刷新,上拉加载更多功能。

2024-06-05 20:43:28 1545 1

原创 HarmonyOS(二十四)——Harmonyos通用事件之触摸事件

触摸事件就是当手指在组件上按下、滑动、抬起时触发的事件。

2024-06-05 20:40:42 648 1

原创 HarmonyOS(二十一)——基础动画之属性动画的使用

属性动画,是最为基础的动画,其功能强大、使用场景多,应用范围广。可以让我们的应用更丝滑。

2024-06-05 00:45:00 1065

原创 HarmonyOS(二十二)——认识HTTP请求之从网络获取数据

HarmonyOS 如何创建一个http,包括发起请求、中断请求、订阅/取消订阅HTTP Response Header 事件。

2024-06-05 00:41:03 1285 1

原创 HarmonyOS(二十)——管理应用拥有的状态之LocalStorage(页面级UI状态存储)

LocalStorage是页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility实例内,在页面间共享状态。

2024-03-16 23:42:14 1528 1

原创 HarmonyOS(十九)——初识应用拥有的四种状态管理

认识HarmonyOS应用级别的状态管理,快速管理应用级别的多种应用状态管理的能力。

2024-03-16 23:41:59 567

原创 HarmonyOS(十八)——状态管理之@Observed装饰器和@ObjectLink装饰器

@Observed/@ObjectLink装饰器(嵌套类对象属性变化)用于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。

2024-02-20 00:26:43 1395

原创 HarmonyOS(十三)——详解自定义组件的生命周期

全面解析Harmonyos自定义组件的生命周期。

2024-01-24 01:17:21 3084

原创 HarmonyOS(十二)——全面认识HarmonyOS三种渲染控制

带你全面掌握最全面的HarmonyOS三种渲染控制机制!

2024-01-24 01:16:01 2745

原创 Android Activity的启动流程(Android-10)

深入认识startActivity(Intent)

2024-01-16 00:21:47 1613

原创 Android 系统启动过程纪要(基于Android 10)

认识Android的系统启动的三个进程 init ->zygote -> system_server

2024-01-16 00:20:42 1445

原创 HarmonyOS(十六)——状态管理之@Link装饰器(父子双向同步)

HarmonyOS状态管理之Link装饰器。Link装饰的变量与其父组件中的数据源共享相同的值。

2023-12-21 00:37:14 1401

原创 HarmonyOS(十七)——状态管理之@Provide装饰器和@Consume装饰器(与后代组件双向同步)

HarmonyOS状态管理之@Provide和@Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景。

2023-12-21 00:35:36 1174

原创 HarmonyOS(十五)——状态管理之@Prop装饰器(父子单向同步)

详细了解harmonyos@Prop装饰器(父子单向同步)。@Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装饰的变量是可变的,但是变化不会同步回其父组件。

2023-12-18 19:45:59 1419

原创 HarmonyOS(十四)——状态管理之@State装饰器(组件内状态)

详细了解harmonyos@State装饰器(组件内状态)。@State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。

2023-12-18 19:43:02 1542

原创 HarmonyOS(二)—— 初识ArkTS开发语言(下)之ArkTS声明式语法和组件化基础

ArkTS在TS的类型系统的基础上,做了进一步的扩展:定义了各种装饰器、自定义组件和UI描述机制,再配合UI开发框架中的UI内置组件、事件方法、属性方法等共同构成了应用开发的主体。在应用开发中,除了UI的结构化描述之外,还有一个重要的方面:状态管理。

2023-12-13 01:24:19 3540 1

原创 HarmonyOS(十一)——初识状态管理

ArkUI状态管理机制,Components部分的装饰器为组件级别的状态管理,Application部分为应用的状态管理。

2023-12-07 01:50:21 430 1

原创 全面认识Kotlin协程(Coroutine/Channel/Flow)

全面认识Kotlin协程: Coroutine/Channel/Flow,协程是协作式任务, 线程是抢占式任务, 本质上两者都属于并发。

2023-12-06 23:59:58 1159 3

原创 Kotlin Flow 操作符

Kotlin Flow 常用的操作符,巧妙使用Flow操作符可以大大简化我们的程序结构,提升可读性与可维护性。

2023-12-06 21:31:03 1278 1

原创 HarmonyOS(十)——@Styles装饰器和stateStyles(多态样式)双剑合并

@Styles和@Extend仅仅应用于静态页面的样式复用,stateStyles可以依据组件的内部状态的不同,快速设置不同样式

2023-11-30 23:59:14 709

原创 HarmonyOS(九)——@Extend装饰器:定义扩展组件样式

在上一节我们介绍了@Styles装饰器:定义组件重用样式,它可以使用@Styles用于样式的扩展,今天我将会在@Styles的基础上,讲解另外一种装饰器——@Extend装饰器,它也是用于扩展原生组件样式的。@Extend装饰器和@Styles装饰器一样都属于扩展组件样式,从而达到服用样式的效果。但是俩者有这明显的区别,我们可以更具具体使用场景,结合俩者的区别灵活选择使用。接下来我将会从语法和使用规则俩方面介绍@Extend装饰器的具体使用说明。通过@Extend组合样式后,使得代码更加简洁,增强可读性。

2023-11-30 23:44:21 1475 2

原创 HarmonyOS(八)——@Styles装饰器:定义组件重用样式

@Styles装饰器可以快速定义并复用自定义样式.

2023-11-30 23:43:04 1718

原创 Android性能优化 - 从SharedPreferences到DataStore

Android性能优化 - 从SharedPreferences到DataStore

2023-11-30 02:41:12 482 2

原创 Android性能优化- 从SharedPreferences到MMKV

从SharedPreferences到MMKV

2023-11-30 02:39:54 807

原创 HarmonyOS(七)——@BuilderParam装饰器

@BuilderParam用来装饰指向@Builder方法的变量,开发者可在初始化自定义组件时对此属性进行赋值,为自定义组件增加特定的功能。

2023-11-27 00:25:40 1970

原创 HarmonyOS(六)——@Builder装饰器

@Builder装饰的函数也称为“自定义构建函数”。

2023-11-27 00:19:07 1469

原创 HarmonyOS(五)—— 认识页面和自定义组件生命周期

以上示例中,Index页面包含两个自定义组件,一个是被@Entry装饰的MyComponent,也是页面的入口组件,即页面的根节点;不建议在生命周期aboutToDisappear内使用async await,如果在生命周期的aboutToDisappear使用异步操作(Promise或者回调方法),自定义组件将被保留在Promise的闭包中,直到回调方法被执行完,这个行为阻止了自定义组件的垃圾回收。一文知道了如何如何自定义组件以及自定义组件的相关注意事项,接下来我们认识一下页面和自定义组件生命周期。

2023-11-23 23:52:06 4339

原创 HarmonyOS(四)—— 如何创建自定义组件

HarmonyOS创建自定义组件

2023-11-23 23:18:05 1580

原创 HarmonyOS(三)—— 应用程序入口—UIAbility

学习过android的同学都是知道Activity,Activity是Android组件中最基本也是最为常见用的四大组件之一,用户可以用来交互为了完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。

2023-11-22 23:30:54 1848

原创 HarmonyOS(二)—— 初识ArkTS开发语言(中)之ArkTS的由来和演进

同步的,在运行时方面,通过渲染引擎的增强(平台无关的自绘制机制、声明式UI后端设计、动态布局/多态UI组件等),语言编译器和运行时的优化增强(代码预编译、高效FFI-Foreign Function Interface、引擎极小化等),进一步提升相关的性能体验,并可部署到不同设备上(包括百KB级内存的轻量设备)。大型的应用工程一般会涉及较复杂的代码以及较多的团队协作,对语言的规范性,模块的复用性、扩展性以及相关的开发工具都提出了更高的要求。同时,TS定位为JS的超集,即JS应用也是合法的TS应用。

2023-11-02 00:21:32 4586

javascript

猜猜自己所想的在随机数中有几个数是和自己的数相同

2014-11-19

求出用户输入的俩个数之间最大的,切能被8整除的数字

方法的定义,定义GetNum方法,用GetNum方法接收俩个整数,让GetNum方法求出俩这之间最大的,切能被8整除的数字

2014-10-17

java编程基础章节讲解代码

java for循环的使用;形参和实参的用法,及注意事项;数组的定义及用法,charAt的用法,和案列讲解

2014-10-17

字符串反转

熟悉java的相关操作,达到孰能生巧的境界,希望对彼此有所帮助

2014-10-15

空空如也

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

TA关注的人

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