自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Service

文章目录Service两种状态启动状态绑定状态三种绑定扩展Binder类使用Messenger使用AIDLService的生命周期生命周期方法Service两种状态启动状态当应用组件(如 Activity)通过调用 startService() 启动服务时,服务即处于“启动”状态。一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响,除非手动调用才能停止服务, ...

2019-12-15 19:02:55 309 4

原创 Android布局

传统布局 布局类型 定义 特有属性 特点 应用场景 RelativeLayout(相对布局) 是一种相对布局,控件的位置是按照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最常用,也是最灵活的一种布局。 相对于父控件属性: layout_alignParen...

2020-07-27 14:52:27 347

原创 java异常

Error和Exception都继承自ThrowableThrowable是所有异常的父类 Error表示很严重的问题发生,可以捕获但是不要捕获,因为捕获了也解决不了,这不是程序产生的异常二者的不同之处:Exception:可以是可被控制或者不可控制; 表示一个由程序员导致的错误; 应该在应用程序级被处理;Error:总是不可控的; 经常用来表示系统错误或者底层资源...

2020-01-12 16:24:57 155

原创 路由器与网络互连

目录路由器与网络互联网络拓扑设计及IP地址规划静态路由设置​观察IP分组的直接交付和间接交付过程,及ARP和ICMP在分组传递中的作用动态路由设置及RIP协议分析路由器与网络互联网络拓扑设计及IP地址规划按照两个公司子网来配置网络拓扑。 要求有路由汇聚 路由器之间地址不浪费根据以上要求,设计如图所示网络拓扑图:此网络拓扑中共有六段网络,其中,对于第一个...

2019-12-28 16:48:02 1603

原创 TCP的三次握手与四次挥手抓包分析

通过图片,可以看到 先进行了TCP三次传输第一次客户端发送SYN报文到服务器第二次 ,服务器接收到客户端的SYN 报文,回复 SYN + ACK 报文第三次 ,客户端接收到服务端的 SYN+ACK 报文后,回复 ACK报文以下是四次挥手截图具体分析:其中220.181.12.12是服务器的ip可以看到这次挥手是由服务器发起的第一次挥手 FIN +AC...

2019-12-26 18:55:45 546

原创 Java的GC,类加载机制

目录JVM的内存结构1.方法区(Method Area)2.堆区(Heap)3.虚拟机栈(VM Stack)4.本地方法栈(Native Method Stack)5.程序计数器(Program Counter Register)JVM类加载过程1.加载2.连接2.1.验证2.2.准备2.3.解析3.初始化4.类加载的时机5.类加载器...

2019-12-25 21:22:20 323

原创 java中final的作用

1.final作用于类上:表示该类不可继承某些类在设计的时候,可能出于安全的考虑,不希望被继承,例如String类。final类中的属性和方法可以是final或者非final,但是由于不能被继承,也就意味着final类中的方法都是final的,当然你也可以显式去指定。在《Effective Java》一书中,有句名言“design and document for inheritance or...

2019-12-23 16:54:10 321

原创 java的特性

1.封装封装,就是将抽象的数据类型和操作隐藏起来,构成一个不可分割的部分。使用封装有三大好处:良好的封装能够减少耦合。 类内部的结构可以自由修改。 可以对成员进行更精确的控制。 隐藏信息,实现细节。2.继承继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。同时在使用继承时需要记住三句话:...

2019-12-23 16:47:01 150

原创 View的滑动冲突及解决方法

滑动冲突滑动冲突的三种场景外部滑动和内部滑动方向不一致;图一中只示意了外部为左右滑动,内部为上下滑动的场景。显然,内外滑动不一致,还包括外部为上下滑动,内部为左右滑动的场景。对于这种场景,平时工作中最常见的使用大概是外层为PageView,内层为一个Fragment+ListView/RecyclerView了。庆幸的是,控件PageView和RecyclerView对事件冲突...

2019-12-16 22:49:34 210 1

原创 Handler中sendMessage和post方法的区别

文章目录sendMessage 的用法post的用法源码分析handler中的post源码最终总结:sendMessage 的用法public class MainActivity extends AppCompatActivity {private TextView mTextView;private String new_str = "";//实例化Handler,重写回调方法Ha...

2019-12-13 21:21:15 862

原创 实现多线程的四种方法

文章目录多线程的实现(四种方法)继承Thread类,重写run方法实现Runnable接口,重写run方法实现Callable接口,重写call方法(有返回值)如何启动线程实现线程池(有返回值)Executors类多线程的实现(四种方法)继承Thread类,重写run方法每次创建一个新的线程,都要新建一个Thread子类的对象;启动线程,new Thread子类().start(),创建线程...

2019-12-10 20:39:13 173

原创 序列化

序列化:就是将内存中的对象转换为字节序列,方便持久化到磁盘或者网络传输。对象序列化过程可以分为两步:第一: 将对象转换为字节数组第二: 将字节数组存储到磁盘public static byte[] getByteArray4Object(Object obj)throws Exception{ ByteArrayOutputStream bao=new Byte...

2019-12-09 20:10:54 161

原创 HashMap,HashSet,HashTable的区别

什么是HashMapHashMap实现了Map接口,Map接口对键值对进行映射。Map中不允许重复的键。Map接口有两个基本的实现,HashMap和TreeMap。TreeMap保存了对象的排列次序,而HashMap则不能。HashMap允许键和值为null。HashMap是非synchronized的,但collection框架提供方法能保证HashMap synchronized,这样多个...

2019-12-09 20:00:00 235

原创 ListView和RecyclerView缓存的区别

ListView1.继承重写BaseAdapter类2.自定义ViewHolder与ConvertView的优化布局单一布局,只可以实现纵向效果缓存机制两级缓存mActiveViews:快速重用屏幕上可见的列表项,不需要重新createView和bindView;mScrapViews:缓存离开屏幕的ItemView,目的是让即将进入屏幕的ItemView重用....

2019-12-08 18:35:16 877

原创 Java集合详解

概述List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口 Set下有HashSet,LinkedHashSet,TreeSet List下有ArrayList,Vector,LinkedList Map下有Hashtable,LinkedHashMap,TreeMap Collection接口下还有个Queue接口,有PriorityQueue...

2019-12-07 13:22:05 182

原创 Binder机制原理

文章目录Binder机制什么是BinderBinder的功能Binder通信模型Binder通信机制原理为什么要用Binder来实现IPC?性能稳定性安全性总结Binder机制什么是Binder通常情况下,Binder指的是一种通信机制对于Server进程来说,Binder指的是Binder本地对象;对于Cilent来说,Binder指的是Binder代理对象对于传输过程来说,Bind...

2019-12-05 13:03:32 441

原创 复习篇之Okhttp

文章目录复习篇之 Okhttp:okhttpokhttp同步流程注意事项Okhttp异步请求流程注意事项同步和异步的区别同步请求执行流程分析及源码分析dispatcher在同步请求Okhttp异步请求执行流程及源码分析到底什么是Dispatcher异步请求为什么需要两个队列?Okhttp拦截器拦截链getResponseWithInterceptorChain注意点:复习篇之 Okhttp:o...

2019-12-03 14:09:05 127

原创 JavaWeb基础一

一.JSP:动态网页(基于BS)基于Tomcat服务器静态、动态:1.不用和是否有“动感”混为一谈2.是否随着时间、地点、用户操作改变而改变动态网页 需要使用到 服务端脚本语言(JSP)二.架构CS:Client ServerCS不足:a.如果软件升级,那么全部软件都需要升级b.维护麻烦:需要维护每一台客户端软件c.每一台客户端 都需要安装 客户端软件BS:Bro...

2019-06-16 18:47:46 85

原创 安卓底部导航栏BottomNavigationView的简单应用

1.添加依赖 compile 'com.android.support:design:26.1.0'2.在activity_main.xml中添加BottomNavigationView控件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.andr...

2019-04-28 22:10:54 677

原创 安卓Activity

.Activity1.Toast:Android提供的一种非常好的提醒方式,不会占据任何屏幕空间。 Toast.makeText(Activity.this,"You clicked Button 1", Toast.LENGTH_SHORT).show();2.Menu:Android提供的一种方式,可以让菜单都得到展示的同时,还能不占任何屏幕...

2019-04-21 13:17:32 88

原创 安卓Service基础知识

Service:1.Service:是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求要长期运行的任务。2.Service和Thread的区别: Sercice是运行在主线程的,Service确实是运行在主线程里的,也就是说如果你在Service里编写了非常耗时的代码,程 序必定会出现ANR的。3.既然在Service里也要...

2019-04-14 13:01:37 161

原创 哈夫曼编译码

#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;string.h&gt;#define M 2*N-1#define ch 30#define NUM 100#define N 6typedef char numcode[NUM];typedef char charcode[ch];typedef char*...

2018-12-09 19:14:48 256

原创 非递归遍历二叉树(前序,中序,后序遍历)

#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#define MAX 100typedef struct Node{    int data;    struct Node *Lchild;    struct Node *Rchild;}BTNode, *BTtree;typedef struct{    BTtree dat...

2018-12-02 18:32:19 130

原创 二叉树的遍历

先序遍历:先序遍历(Pre-order),按照根左右的顺序沿一定路径经过路径上所有的结点。在二叉树中,先根后左再右。巧记:根左右例如,上图所示二叉树的遍历结果是:ABDECF中序遍历:中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。如上图所示二叉树,中序遍历结果:DBEAFC后序遍历...

2018-11-25 19:54:54 119

原创 链表2

1.删除链表中的最大值的节点#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;typedef struct node{ int data; struct node *next;}node,*linklist; linklist creat(){ int x; node *pnew,*q; linklist h; h=(linklist)malloc(si...

2018-06-23 18:52:40 106

原创 链表练习1

1.带头节点尾插法链表#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;typedef struct N{ int data; struct N *next;}Node;int main(void){ Node *head;    Node *p,*q; int a; head=(Node*)malloc(sizeof(Node)); p=head; s...

2018-06-15 22:32:39 216

原创 队列原理及应用

一.队列的基本原理队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点:队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构。在队尾添加元素,在队头删除元素。二.队列的相关概念:队头与队尾: 允许元素插入的一端称为队尾,允许元素删除的一端称为队头。入队:队列的插入操作。出队:队列的删除操作。队列通常提供的操作:入队: 通常命名为push()出队...

2018-06-08 12:37:24 317

原创 栈原理及实现

1.栈的定义        栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。      (1)通常称插入、删除的这一端为栈顶 (Top),另一端称为栈底 (Bottom)。      (2)当表中没有元素时称为空栈。      (3)栈为后进先出(Last In First Out)的线性表,简称为 LIFO 表。       * 栈的修改是按后进先出的原则进行。每次删除(退栈)的总...

2018-06-03 16:52:54 705

原创 快速排序

1. 定义快速排序是对冒泡排序的一种改进,采用了一种分治的策略。2. 基本思想通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。3. 步骤a. 先从数列中取出一个数作为基准数。b. 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的...

2018-05-25 20:48:17 107

空空如也

空空如也

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

TA关注的人

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