LruCache使用,基本数据类型 & 引用类型,面试==和equals的区别 本质,onCreate 和onResume 区别,

简介: LruCache使用,基本数据类型 & 引用类型,面试==和equals的区别 本质,onCreate 和onResume 区别,

基本数据类型 & 引用类型



  • 八种 基本数据类型:byteshortintlongfloatdoublecharboolean
  • 引用类型:除去基本数据类型的其它类型都是引用数据类型,例如类、接口、数组。


(1) JAVA 基本数据类型与引用数据类型 一文中总结了这两者的区别:


基本数据类型 引用数据类型
变量名指向具体的数值 变量名指向存数据对象的内存地址,即变量名指向hash
变量在声明之后就会立刻分配给他内存空间 它以特殊的方式指向对象实体,这类变量声明时不会分配内存,只是存储了一个内存地址
基本类型之间的赋值是创建新的拷贝 对象之间的赋值只是传递引用
“==”和“!=”是在比较值 “==”“!=”是在比较两个引用是否相同
使用时需要赋具体值,判断时使用== 使用时可以赋值nul


==和equals区别:www.jianshu.com/p/5899d7159…



equals()和==的区别:


一、对象类型不同


1、equals():是超类Object中的方法。

2、==:是操作符。


二、比较的对象不同


1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等。

2、==:用于比较引用和比较基本数据类型时具有不同的功能。


总结:== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。


onCreate 和onResume(恢复,摘要) 区别:www.jianshu.com/p/ab8aad800…



activity生命周期,栈,状态保存:www.jianshu.com/p/fd82d1899…


oncreate 就代表了初始化。 所以所有的控件都要在 oncreate 里面初始化。onresume 里面去执行初始化后被展示的时候要进行的行为操作。


onCreate(xxx)初始化,onResume()注册、拉取展示数据,onPause()反注册,onDestroy()释放资源。


activity栈模式 设置:intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);或者在mannifist文件设置;


intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);


目录
相关文章
|
2月前
|
Java
【Java集合类面试二十八】、说一说TreeSet和HashSet的区别
HashSet基于哈希表实现,无序且可以有一个null元素;TreeSet基于红黑树实现,支持排序,不允许null元素。
|
2月前
|
Java
【Java集合类面试二十三】、List和Set有什么区别?
List和Set的主要区别在于List是一个有序且允许元素重复的集合,而Set是一个无序且元素不重复的集合。
|
2月前
|
存储 Java 索引
【Java集合类面试二十四】、ArrayList和LinkedList有什么区别?
ArrayList基于动态数组实现,支持快速随机访问;LinkedList基于双向链表实现,插入和删除操作更高效,但占用更多内存。
|
18天前
|
Android开发 Kotlin
Android经典面试题之Kotlin的==和===有什么区别?
本文介绍了 Kotlin 中 `==` 和 `===` 操作符的区别:`==` 用于比较值是否相等,而 `===` 用于检查对象身份。对于基本类型,两者行为相似;对于对象引用,`==` 比较值相等性,`===` 检查引用是否指向同一实例。此外,还列举了其他常用比较操作符及其应用场景。
171 93
|
16天前
|
Java 关系型数据库 MySQL
面试官:GROUP BY和DISTINCT有什么区别?
面试官:GROUP BY和DISTINCT有什么区别?
39 0
面试官:GROUP BY和DISTINCT有什么区别?
【多线程面试题十】、说一说notify()、notifyAll()的区别
notify()唤醒单个等待对象锁的线程,而notifyAll()唤醒所有等待该对象锁的线程,使它们进入就绪队列竞争锁。
|
2月前
|
算法 Java
【多线程面试题十八】、说一说Java中乐观锁和悲观锁的区别
这篇文章讨论了Java中的乐观锁和悲观锁的区别,其中悲观锁假设最坏情况并在访问数据时上锁,如通过`synchronized`或`Lock`接口实现;而乐观锁则在更新数据时检查是否被其他线程修改,适用于多读场景,并常通过CAS操作实现,如Java并发包`java.util.concurrent`中的类。
|
2月前
|
Java
【多线程面试题十三】、说一说synchronized与Lock的区别
这篇文章讨论了Java中`synchronized`和`Lock`接口在多线程编程中的区别,包括它们在实现、使用、锁的释放、超时设置、锁状态查询以及锁的属性等方面的不同点。
【多线程面试题九】、说一说sleep()和wait()的区别
sleep()和wait()的主要区别在于sleep()是Thread类的静态方法,可以在任何地方使用且不会释放锁;而wait()是Object类的方法,只能在同步方法或同步代码块中使用,并会释放锁直到相应线程通过notify()/notifyAll()重新获取锁。
【多线程面试题 三】、 run()和start()有什么区别?
run()方法定义线程执行的任务,而start()方法启动线程,使得run()在新的线程中异步执行;直接调用run()方法只会同步执行run()中的代码,不会创建新线程。