自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程

开启线程的三种方式?继承Thread类、实现Runable接口和使用线程池线程和进程的区别?线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。每个线程都拥有单独的栈内存用来存储本地数据。在Java中wait和seelp方法的不同Java程序中wait 和 sleep都会造成某种形式的暂停,它们可以满足不同的需要。wait()方法用于线程间通信,如果等待条件为真且其它线程被唤醒时它会释放锁,而sleep()方法仅仅

2020-09-06 18:25:31 136

原创 Java中的关键字

文章目录final为什么匿名内部类使用局部引用要用finalstaticstatic关键字的用途static 方法static 变量static 代码块volatilefinalfinal关键字表示不可变的为什么匿名内部类使用局部引用要用final如果匿名内部类使用了局部变量,那么编译器会将使用的值拷贝一份,作为构造函数的一个参数传递进来(构造函数是编译器自动添加)。因为局部变量在方法或者...

2020-08-31 15:27:37 148

原创 Android面试之EventBus源码分析

文章目录EventBus的使用EventBus对象的创建EventBus @Subscribe 注解EventBus的订阅EventBus 的事件分发EventBus的使用EventBus的优点:代码简洁,使用简单,并将事件发布和订阅充分解耦定义事件Event准备订阅者订阅者同时需要在总线上订阅和注销自己发送事件(可以在代码的任何地方)implementation 'org.g...

2020-05-06 19:56:29 466

原创 Retrofit

retrofit的使用public interface NetService { @GET("80395694") Call<ResponseBody> getCall();}public class MainActivity{ Retrofit retrofit = new Retrofit.Builder() .bas...

2019-05-04 14:52:12 170

原创 webview与 js交互调用系统相机和图库

文章目录运用场景首先在Manifest.xml中添加如下权限重写WebChromeClientwebview 显示 H5页面运用场景公司项目需要利用webview展示H5页面,页面有上传图片的功能,需要webview 原生和js进行交互,利用webview 调用系统相机和图库,将图片传到js页面刷新首先在Manifest.xml中添加如下权限<!-- 访问网络权限 --> ...

2018-11-15 11:51:03 2157 1

原创 二叉树的遍历

二叉树定义二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 二叉树子节点实例private class BinaryNode<T> { T element; BinaryNode<T> left; BinaryNode<...

2018-09-04 19:13:34 159

原创 view 的绘制和刷新

view绘制流程view刷新invalidate()PostInvalidate()requestLayout()view绘制流程view刷新invalidate()在UI线程中调用,重绘当前UI父view负责刷新,布局显示子view,而当子view需要刷新时,则是通知父view来完成的。调用view的invalidate函数中,会...

2018-08-29 15:02:44 2775

原创 android 热更新

热更新的产生热更新流程主流热更新框架android类加载机制热更新原理热更新的产生线上版本出现严重的bug,需要重新发版。热更新能快速的解决线上问题,不需要重新发版。热更新流程线上检测到严重的crash拉出一个新的分支来修复线上问题开发人员自测,项目测试人员测试,然后jenkins构建和补丁生成app通过推送或者主动拉取补丁文件把修复的代码同步到mas...

2018-08-21 16:54:52 768

原创 内存泄漏场景和内存泄漏优化

优化内存的意义常见内存泄漏场景如何避免内存泄露:1.内存复用2.对象引用3.对于资源对象4.使用缓存技术优化内存的意义减少oom,提高应用的稳定性减少卡顿,提高应用的流畅度减少内存的占用,提高应用后台运行时的存活率减少异常发生,减少代码逻辑隐患。常见内存泄漏场景1.资源对象没关闭造成的内存泄露,try catch finally中将资源回收放到f...

2018-08-13 15:22:37 381

原创 java虚拟机(Jvm )理解与问题

JVM相关知识类与类加载器,双亲机制,Android类加载器类的加载过程JVM相关知识JVM主要包括四个部分:类加载器,内存区域,执行引擎,本地库接口 1)类加载器:在JVM启动时或者在类运行时将需要的class加载到JVM中2)内存区(运行时数据区):是在JVM运行的时候操作所分配的内存区 运行时内存区主要可以划分5个区域:①方法区【Method Area...

2018-07-30 16:14:28 217

原创 android面试-计算机网络协议相关

java中的网络支持InetAddress:用于表示网络上的硬件资源,即 IP 地址; URL:统一资源定位符; Sockets:使用 TCP 协议实现网络通信; Datagram:使用 UDP 协议实现网络通信。Tcp和Udp区别Tcp代表传输控制协议。是面向连接的协议,提供稳定的双向通信功能。Tcp连接的建立需要经过“三次握手”才能完成,为了提供稳定的数据传输功能,其本身提供...

2018-07-04 15:29:50 318

原创 ArrayList与LinkedList区别源码分析

ArrayList与LinkedListArrayList简介/** * Default initial capacity. * ArrayList 默认的数组容量 */ private static final int DEFAULT_CAPACITY = 10; /** * Shared empty array in...

2018-05-28 17:09:12 6576 3

原创 HashMap分析详解

HashMap简介基于哈希表的 Map 接口的实现最坏的情况下,链表的查找的时间复杂度为O(n),而红黑树一直则是O(logn),这样会提高HashMap的效率。Jdk7中采用位桶+链表的方式,即散列链表的方式,jdk8中采用的是位桶+链表/红黑树的方式,也是非线程安全的,当某个位桶的链表的长度达到某个阀值时,这个时候链表就会转换成红黑树。当冲突节点数大于8时,转换成红黑树。Nod...

2018-05-21 10:59:11 215

原创 android中的布局优化

android中的布局优化简介用最少的view写出一样的效果,优化分为重用,合并,按需载入android中的dp、px、dip相关概念px:是屏幕的像素点 dp:一个基于density的抽象单位, px = dip * density / 160,则当屏幕密度为160时,px = dip 如果一个dpi的屏幕,1dp=1px dip:等同于dp TextView 的字号最...

2018-05-15 16:04:29 1887

原创 数据结构算法之链表

链表单向链表链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点; 列表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向nuLL的指针。 链表实体类public class ListNode { publi...

2018-05-11 15:21:45 238

原创 Handler源码解析以及线程间通信

Handler简介Handler是用来结合线程的消息队列来发送、处理“Message”对象和“Runnable”对象的工具。每个Handler实例之后会关联一个线程和该线程的消息队列。当你创建一个Handler的时候,从这时开始,它就会自动关联到所在的线程/消息队列,然后它就会把Message/Runnable分发到消息队列,并在它们出队的时候处理到。Looper、Messag...

2018-05-11 10:55:49 187

原创 设计模式-单例模式

单例模式简介在这个应用模式时,单例对象的类必须保证只有一个实例存在。很多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统的整体的行为。确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。避免产生多个对象消耗资源,或者说某种类型的对象只应该有且只有一个。实现单例模式Double Check Lock 实现单例优点:既能够在需要时才初始化单例,又能够保证...

2018-05-07 10:06:55 146

原创 Android面试四大组件基础知识点

四大组件是什么目录四大组件是什么目录一.activity1.一个Activity通常就是一个独立的窗口,Activity各种情况下的生命周期2.Activity之间的通信方式3.android应用中的每个Activity都应该在AndroidManifest.xml配件文件中声明,否则系统将不识别也不执行该Activity4.活动被回收,Activity状态保存于恢复...

2018-04-06 20:35:34 2492

原创 okhttp3请求流程分析

1.简单的get请求 String url = "https://www.baidu.com/"; OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder().url(url).build(); Call call...

2018-04-03 11:03:26 350

空空如也

空空如也

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

TA关注的人

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