自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git操作指令

获取和创建项目 git init git clone <url> 从服务器上克隆现有存储库,该命令不仅获得了工作副本,还收到了服务器上几乎所有数据的完整副本。 提交到历史纪录的工作流程 git status 查看当前状态,所在分支 git add 将工作目录中的内容添加到缓存区(git分成三个主要部分:Working Directory,Staging Area,.git directory(Repository)) Working Dir...

2020-09-17 11:23:57 103

原创 多线程(三)-代理模式

代理模式代理模式动态代理模式静态代理模式代理模式核心作用:通过代理,控制对象的访问(相当于生活中的中介)核心角色抽象角色:定义代理角色和真实角色的公共对外方法。真实角色:定义真实角色所要实现的业务逻辑,供代理角色使用。代理角色:真实角色的代理,实现统一的流程控制。应用场景安全代理:屏蔽对真实角色的访问远程代理:通过代理类处理远程方法待用延迟加载:真实角色的加载需要很多的资...

2020-04-19 17:22:03 363

原创 多线程(一)-线程的创建

线程的创建线程的分类用户线程:执行完后才可以停下,用户创建的线程默认为用户线程守护线程:保护用户线程,Java虚拟机不会因为守护线程是否执行完毕而等待线程的三种创建形式:继承Thread类实现Runnnable接口实现Callable接口注: 在面向对象中尽量多用实现少用继承,因为在Java中存在单继承的局限性。Thread类public class Thread e...

2020-04-18 10:54:33 225

原创 多线程(二)-线程的优先级

线程的优先级Java提供了一个线程调度器来监控程序启动后进去就绪状态的所有线程。线程调度器通过线程的优先级来决定调度哪些线程执行。线程的优先级用数字表示:范围是1-10Thread.NORM_PRIORITY=5:线程默认的优先级Thread.MAX_PRIORITY=10:线程可以拥有的最大优先级Thread.MIN_PRIORITY=1:线程可以拥有的最小优先级/** * @...

2020-04-18 08:26:08 655

原创 OKHTTP框架(四)

OkHttp连接池连接池使用双端队列连接获取链接移除连接连接池1.频繁的进行Socket连接和断开是非常消耗网络资源的,无限制的创建会导致性能低下,如果使用keep-live,连接就不会关闭将复用以前的connection,减少连接次数,提高效率。2.复用连接就要对连接进行处理,就出现了连接池的概念。3.OKhttp支持5个并发KeepAlive,默认链路生命为5分钟(链路空闲后,保持存活...

2020-03-19 11:16:33 437

原创 Java多态

Java 多态1.什么是Java多态?可以简单的认为是同一消息,对不同的对象做出的多种不同的行为方式2.多态的作用消除类型之间的紧耦和3.多态的好处可替换;可扩展性;灵活性4.多态的实现机制重写:父类与子类之间多态的一种体现(同名,同参)重载:同一个类中多态的体现(同类中,同名不同参,返回类型不同不可以作为是否是重载的唯一依据)5.实现多态的必要条件继承;重写;向上转型:需要...

2020-03-14 12:01:35 104

原创 数据流图表示法(DFD)

数据流图表示法定义使用方法数据流图示意图定义数据流图是在需求分析阶段产生的结果,通过图形的方式来描述数据在系统中流动和处理的过程,由于他只反映必须完成的逻辑功能,所以数据流图是一个功能模型 。使用方法数据流图采用分层的方式来描述系统数据流向,每一层都代表了数据流向的一个抽象水平,越高的层抽象程度越高。数据源点和数据汇点: 指系统以外又与系统有联系的人或事物。用来表达该系统数据的外部来...

2020-02-20 21:44:13 2906

原创 JVM之类加载机制(二)

JVM之类加载机制(二)类加载器启动类加载器扩展类加载器应用程序类双亲委派模型类加载器启动类加载器启动类加载器: 将存放在lib目录/被虚拟机识别的指定路径中的类库加载到虚拟机内存中无法被Java程序直接引用扩展类加载器扩展类加载器: 加载lib/ext/系统变量所指定的路径中的所有类库;可以直接被Java程序直接引用应用程序类应用程序类(系统类加载器): 加载用户类路径上所指定的...

2020-02-18 16:57:11 99

原创 Android开发之组件化

组件化什么是组件化组件化的规则为什么要有组件化如何给一个非组件化项目引入组件化什么是组件化组件化就是把一个完整的APP或者是模块拆分成许多个子模块,每个子模块可以进行独立的编译和运行,每个模块之间不相互依赖,但是又可以相互交互。组件化的规则下图为组件化的架构图:集成模式: 所有的业务组件被“app壳工程”依赖,组成一个完整的APP;组件模式: 可以独立开发业务组件,每一个业务组件就是...

2020-02-13 23:08:44 198

原创 Android之Service

ServiceService生命周期保活方案系统ServiceIntentServiceAMSService和Thread的区别实践ServiceService是四大组件之一,是Android中实现程序后台运行的解决方案,适合去执行不需要和用户交互而且需要长期运行的任务。运行与UI线程,因此不可以在Service进行耗时操作,否则会报ANR,并且Service需要主动调用stopSelf()来...

2020-02-11 23:12:27 132

原创 MVP

MVPUML类图时序图元素MVP框架MVP请求数据-渲染的过程UML类图泛化关系(空心箭头实线):继承非抽象类(SUV是小汽车)实现关系(空心箭头虚线):继承抽象类(小汽车是车)聚合关系(空心菱形箭头):B由A组成,但是如果B没了,A依旧存在(公司破产了,员工依旧存在)组合关系(实心菱形箭头):B由A组成,如果B没了,A也就没了(公司破产了,各个部门也就不存在了)关联关系(直线箭头)...

2020-02-10 23:32:44 159

原创 Cookie与Session

Cookie与SessionCookieSession区别CookieSession区别

2020-02-10 22:10:27 97

原创 死锁

死锁产生原因必要条件死锁的预防死锁的避免死锁的检测死锁的解除典型例子产生原因必要条件死锁的预防死锁的避免死锁的检测死锁的解除典型例子...

2020-02-07 17:07:12 104

原创 计算机网络

计算机网络分层OSI七层TCP/IP四层应用层协议HTTPFTPDNS传输层协议网络层协议ARPIP分层OSI七层应表会传网数物TCP/IP四层应用层(HTTP,FTP,DNS)传输层(TCP,UDP)网络层(IP,ARP)链路层(以太网)应用层协议HTTPHTTP协议(超文本传输协议):是一个基于请求与响应模式的、无状态的、应用层的协议。HTTP协议工作方式非流水线方式...

2020-02-05 17:28:57 160

原创 Android之动画机制

动画动画的分类View动画的使用场景属性动画特殊的动画属性插值器估值器对任意属性做动画注意事项动画的分类动画区别View动画作用对象是View,通过对场景里的对象不停做图形变换从而产生动画效果帧动画顺序播放一系列图像从而产生动画属性动画动态改变对象的属性从而达到动画效果View动画的使用场景1.LayoutAnimation:给ViewGroup...

2020-01-29 14:58:55 122

原创 面试总结之广播机制

广播机制定义使用方法分类无序广播有序广播本地广播系统广播&本地广播系统广播分析本地广播分析定义它是一种广泛运用在应用程序之间传输信息的机制,Android中我们发送广播内容是一个Intent,这个Intent中可以携带我们要发送的数据。使用方法1.定义广播接收者public class MyReceiver extends BroadcastReceiver{ public...

2020-01-13 20:30:32 163

原创 剑指Offer之跳台阶

跳台阶跳台阶题目描述解题思路执行代码变态跳台阶题目描述解题思路执行代码跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。解题思路递归和循环的题,也可以简单的看为找规律的题当只有一节台阶时:只有一种跳法if(target==1) return 1;当有两阶台阶时:有跳两次,一次一级和跳一次,一次两级两...

2019-12-19 17:12:21 75

原创 传输层协议

TCP/IP分层通过路由器连接的两个网络分层1.链路层:处理与电缆(或其他传输介质)的物理接口实现2.网络层:处理分组在网络中的活动,处理分组路由3.运输层:为两台主机上的应用程序提供端到端的通信4.应用层:处理特定的应用程序的细节绝大多数的网络应用程序都是客户-服务器模式双方都有一个或多个协议进行执行应用程序通常是用户程序。而下三层一般在内核执行应用层关心应用程序的细节,下三层...

2019-12-17 23:15:34 502

原创 面试总结之HashMap

HashMap概要初始长度putget死锁优化概要HashMap是用来存储Key-Value键值对的集合,这些键值对分散存储在一个数组当中,这个数组就是HashMap的主干。其底层数据结构是数组称之为哈希桶,每个桶里面放的是链表,链表中的每个节点,就是哈希表中的每个元素。在JDK8中,当链表长度达到8,会转化成红黑树,以提升它的查询、插入效率,它实现了Map<K,V>, Clon...

2019-12-12 23:22:28 95

原创 Activity之EventBus

EventBus定义优点定义安卓发布/订阅事件总线的优化优点1.简化组件间的通信2.开销较低 ,只是普通的Java类3.简化数据传输

2019-12-11 20:31:21 347

原创 Activity面试题库

Activity1.什么是Activity2.setContentView()3.生命周期1.什么是ActivityActivity是Android的四大组件之一,Activity是用户操作的可视化界面;为用户提供了可以完成操作指令串口。创建完Activity之后,需要调用setContentView()方法来完成界面的显示。2.setContentView()在Activity中可以多次...

2019-12-09 19:17:56 974

原创 Java之序列化

序列化定义使用场景实现方式SerializableParcelable定义序列化:把对象转换为字节序列的过程为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。作用:保证对象的持久化,远程通信,跨进程通信。将一个实例对象(只序列化对象的属性,不序列化对象的方法)的状态信息写入到一个字节流中使其可以通过Socket进行传输,或者持久化到存储数据库中或文件系统中,在需要的...

2019-12-09 15:52:54 71

原创 Android之性能优化

性能优化布局优化绘制优化内存泄漏优化响应速度优化和ANR日志分析ListView和Bitmap优化线程优化优化建议布局优化绘制优化内存泄漏优化响应速度优化和ANR日志分析ListView和Bitmap优化线程优化优化建议...

2019-12-04 16:04:22 74

原创 MVC-MVP-MVVM

文章目录MVCMVPMVVM改进MVCM(model)V(View)C(Controller)Model:处理数据,业务逻辑View:处理界面的显示结果(xml布局)Controller:控制model层和View层的通信MVPM(Model)V(View)P(Presenter)Presenter:使用接口的方式进行交互,较低耦合,使View与Model交互的纽带,接收mode...

2019-12-03 16:28:54 117

原创 设计模式之适配器模式

适配器模式定义结构图定义 结构图

2019-11-30 22:45:48 74

原创 设计模式之单例模式

单例模式懒汉模式饿汉模式双重校验锁实用类和单例模式的区别懒汉模式 懒汉模式就像写作业一样,什么时候老师说收作业了什么时候你才会写,懒汉就是在这个类第一次被引用的时候才会将自己实例化。饿汉模式 饿汉模式就想你吃自助的时候,你会先将所有的吃的都拿到桌子上,但是你需要一点一点地吃,他会占你桌子的地方。饿汉模式就是类一加载就会是实例化所有的对象。所以要提前占用系统资源。双重校验锁 双重校验锁:...

2019-11-29 09:50:32 70

原创 Java之集合

集合java.lang.ObjectCollection(接口)Set(集)HashSetTreeSetList(列表)ArrayList构造方法getsetArraylistLinkedListaddremoveMap(映射)HashMapTreeMapjava.lang.ObjectCollection(接口)Set(集)无需不可重复元素,最多有一个null元素HashSetTre...

2019-11-28 12:47:34 126

原创 Activity之四种启动模式

四种启动模式StandardSingleTopSingleTaskSingleInstanceStandard标准模式:每次启动一个标准模式的Activity,都会创建一个实例,依照启动顺序来依次压入栈中。SingleTop栈顶复用:先判断任务栈的栈顶的活动是否是我们准备新建的Activity,如果栈顶的Activity是,就不会再重复创建,就会直接调用栈顶的Activity。Singl...

2019-11-27 15:52:31 168

原创 面试总结

1.Java和C的区别Java面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。C是面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了2.Java的特色封装:封装就是把抽象的数据和对数据进行的操作封装在一起,数据被保存在内部,程序的其他部分只有通过被授权的操作...

2019-11-26 20:22:07 122

原创 Android的四大组件

Android 的四大组件ActivityServiceBroadcast ReceiveContent ProviderActivityActivity: 用户操作的可视化界面,为用户提供了一个完成操作指令的窗口,创建完成·Activity之后,需要调用setContenetView()方法进行界面显示。 setContentView(R.layout.activity_main);...

2019-11-25 22:36:53 84

原创 Android之ListView,RecyclerView

ListView和RecyclerViewListView布局缓存机制刷新点击事件空数据RecyclerView布局缓存机制刷新点击事件空数据ListView1.继承重写BaseAdapter类2.自定义ViewHolder与ConvertView的优化布局单一布局,只可以实现纵向效果缓存机制两级缓存mActiveViews:快速重用屏幕上可见的列表项,不需要重新createVie...

2019-11-25 20:26:53 146

原创 二维数组中的查找

二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路一:暴力遍历public class Solution { public boolean Find(int target, int [][] array) {...

2019-11-24 20:15:32 71

原创 okHttp拦截器

OkHttp拦截器定义拦截器getResponseWithInterceptorChain()定义官网:拦截器是OkHttp中提供的一种强大的机制,它可以实现网络监听、请求以及响应重写、请求失败等功能不区分同步和异步拦截器拦截器有两种:1.Application,应用程序拦截器2.NETWORK:网络拦截器OKHttp core:OkHttp框架提供给系统内部的拦截器,当发送一个请求...

2019-11-23 22:06:54 170

原创 OkHttp的任务调度

OkHttp的任务调度实现同步异步请求dispatcher()源码线程池enqueue两个队列缓存请求的异步队列的执行时间实现同步异步请求同步:excute()异步:enqueue()发送的同步/异步请求都会在dispatcher中管理其状态作用:维护请求的状态(包括同步和异步)并维护了一个线程池(更高效的执行异步请求),用于执行相应的请求。维护任务队列通过Call(call本质就是一...

2019-11-23 21:42:11 246

原创 OkHttp框架(二)

OkHttp框架异步请求的执行流程及源码分析enqueue()ExecutorServiceexecute异步请求的执行流程及源码分析1.判断当前call是否仅仅只被执行一次2.封装成了AsyncCall对象3.调用client.dispatcher().enqueue() call.enqueue(new Callback() { @Override...

2019-11-23 14:59:49 104

原创 OkHttp框架(一)

OkHttp网络框架同步Git请求同步Git请求步骤:1.创建OkHttpClient.class类(Http请求的客户端类)-方法:①默认: new一个对象②Builder的内部类(dispatcher:接收同步或者异步的 请求队列根据所要的条件进行相应的同步和异步的分发)2.创建Request()(请求报文的一些信息):包含常用的yrl地址以及一些方法,设置请求头。...

2019-11-22 21:28:31 167

原创 View的绘制机制

View的绘制机制Android 视图的构成ViewRootView绘制的基本过程MeasureLayoutDrawAndroid 视图的构成ViewRootView绘制的基本过程View树的绘制流程,其实就是一个递归的过程MeasureLayoutDraw...

2019-11-21 09:56:14 166

原创 Android之事件分发机制

事件分发机制存在的原因三个重要的事件分发的方法dispatchTouchEventonTnterceptTouchEventonTouchEvent事件分发流程存在的原因安卓上边的View是树形结构的,View可能会重叠在一起,当我们点击的地方有多个View都可以响应的时候,这个点击事件不确定该给谁,就有了事件分发机制。三个重要的事件分发的方法dispatchTouchEventonTn...

2019-11-20 19:29:16 125

原创 Android 之RxJava

RxJava定义观察者设计模式RxJava四要素被观察者观察者订阅事件RxJava三个关键对象,一个核心方法Observable(被观察者)OnSubscribe(被观察者内部通知观察者的notify方法)Subscriber(观察者)Subscribe(订阅)定义RxJava本质上是一个异步操作库,在一定程度上可以替代特别多的Handler。观察者设计模式在app开发中,有一个对象的数据...

2019-11-20 15:22:15 121

原创 Android的消息机制之Handler

HandlerHandle使用方法Handle工作原理学习安卓的道友们实际都知道Android是不允许在子线中更新UI的。但是,有些时候我们又必须在子线程里去执行一些耗时任务,然后根据任务的执行结果来更新相应的UI控件。鉴于此种情况,Android提供了一套异步消息处理机制。Handle使用方法1.主线程新增一个Handler对象,并重写父类的handleMessage()方法,在这里对Me...

2019-11-18 22:04:34 171

空空如也

空空如也

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

TA关注的人

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