- 博客(786)
- 资源 (1)
- 收藏
- 关注
原创 SurfaceView 使用及SurfaceHolder.Callback() 回调方法分析
Demo,在子线程内绘制矩形activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android
2020-05-12 10:47:40
2938
转载 RTP协议全解析(H264码流和PS流)
https://blog.csdn.net/chen495810242/article/details/39207305?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158752421319725219955795%2522%252C%2522scm%2522%253A%252220140713.130102334.app%255...
2020-04-22 14:16:02
390
原创 Android 相关资源及APIDemo 位置
高版本的android sdk 已经删除了samples目录,以前的apidemos 已经被删除了,作为很好的学习资料,在aosp里面任然能够找到,但是不在经过as下载。在线官方Android资源链接:https://android.googlesource.comhttps://android.googlesource.com/platformhttps://android.g...
2020-04-21 10:16:10
302
转载 基于ipv6的数据包分析
拓扑图一,Ping通网络R1 Ping R4转存失败重新上传取消R1 Ping R2R1 Ping R5R1 Ping R3二,抓包分析128类型回送请求报文(echo request)源节点生成了标识符和序列号字段的值,这些值可以帮助源节点将回送请求报文和返回的回送应答报文对应起来。数据字段中包含零个或多个任意...
2020-03-24 14:33:02
408
转载 IPv6数据包知识详解
作为网络的基础,协议类型现在在使用的有两种,一个是IPv4,一个就是IPv6。为了能容纳更多的信息,我们扩展了网络地址,也就是IPv6诞生的原因,所以,在这里我们来介绍一下它的结构也就是IPv6数据包的技术知识。技术信息概述IPv6包由IPv6包头(40字节固定长度)、扩展包头和上层协议数据单元三部分组成。IPv6包扩展包头中的分段包头(下文详述)中指名了IPv6包的分段情况。其中...
2020-03-24 14:29:40
4244
转载 MQTT协议及原理
1 MQTT协议实现方式:实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。服务器端:消息代理客户端:主要消息的发布者和订阅MQTT传输的消息分为:主题(Topic)和负载...
2020-03-04 23:03:44
674
转载 ExoPlayer简单使用
ExoPlayer Library 概述ExoPlayer是运行在YouTube app Android版本上的视频播放器ExoPlayer是构建在Android低水平媒体API之上的一个应用层媒体播放器。和Android内置的媒体播放器相比,ExoPlayer有许多优点。ExoPlayer支持内置的媒体播放器支持的所有格式外加自适应格式DASH和SmoothStreaming。Exo...
2019-12-17 11:40:31
648
转载 Java集合:HashMap详解(JDK 1.8)
https://blog.csdn.net/v123411739/article/details/78996181红黑树的插入:https://www.cnblogs.com/tongy0/p/5468267.html红黑树的删除:https://www.cnblogs.com/tongy0/p/5460623.htmlhttps://blog.csdn.net...
2019-09-24 10:33:00
205
转载 23种设计模式全解析-拆分(6)
8、代理模式(Proxy)其实每个模式名称就表明了该模式的作用,代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢?因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思。再如我们有的时候打官司,我们需要请律师,因为律师在法律方面有专长,可以替我们进行操作,表达我们的想法。先来看看关系图:根据上文的阐述...
2019-06-30 17:16:07
268
转载 23种设计模式全解析-拆分(5)
其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT、JDBC、集合类、IO管道或者是Web框架,里面设计模式无处不在。因为我们篇幅有限,很难讲每一个设计模式都讲的很详细,不过我会尽我所能,尽量在有限的空间和篇幅内,把意思写清楚了,更好让大家明白。本章不出意外的话,应该是设计模式最后一讲了,...
2019-06-30 17:15:13
271
转载 23种设计模式全解析-拆分(4)
C、关系模式(11种)先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类父类与子类关系13、策略模式(strategy)策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个...
2019-06-30 17:14:22
223
转载 23种设计模式全解析-拆分(3)
7、装饰模式(Decorator)顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:[java]view plaincopypublicinterfaceSourcea...
2019-06-30 17:13:05
229
转载 23种设计模式全解析-拆分(2)
三、Java的23中设计模式A、创建模式从这一块开始,我们详细介绍Java中23种设计模式的概念,应用场景等情况,并结合他们的特点及设计模式的原则进行分析。首先,简单工厂模式不属于23中涉及模式,简单工厂一般分为:普通简单工厂、多方法简单工厂、静态方法简单工厂。0、简单工厂模式简单工厂模式模式分为三种:01、普通就是建立一个工厂类,对实现了同一接口的一些类进行实例...
2019-06-30 17:11:42
307
转载 23种设计模式全解析-拆分(1)
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两...
2019-06-30 17:10:47
553
转载 OkHttp3实现原理分析
OkHttp3简单使用教程(一):请求和响应https://www.jianshu.com/p/f3f228d3598cOkHttp3实现原理分析(二)https://www.jianshu.com/p/9f2c982cd500
2019-06-24 14:25:16
457
转载 Mac下Android Studio 3.x的NDK开发环境搭建
目录前言 CMake用CMake向已有AS项目添加C/C++代码ndk-build 最后前言mac上安装软件真的很简单, 一路下一步就可以安装好android studio. 这里有一篇旧文-Mac下安装配置Android Studio 2.x和3.x并配置使用adb可供参考.而写这篇的目的, 主要是我发现之前的ndk开发方式已经过时了, 需要更新一下新的流程.C...
2019-06-14 11:27:42
411
转载 用Kotlin创建你的第一个Web页面
Kotlin可以开发Android, IOS, JavaScript和后端,是不是很激动?一门语言统一世界有木有~ 今天就写一篇傻瓜式教程,让你轻松学会用Kotlin开发Web页面。环境准备IntelliJ 2017.3.4 Ultimate Edition Kotlin 1.2.3 Java 1.8 macOS Sierra 10.12.6创建工程1.png...
2019-06-01 10:55:46
2550
转载 设计模式之——享元模式
在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如,围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相似的地方,如果能把它们相同的部分提取出来共享,则能节省大量的系统资源,这就是享元模式的产生背景。享元模式的定义与特点享元(Fl...
2019-05-28 15:21:48
406
转载 设计模式----外观模式Facade模式
在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着改变,这违背了“开闭原则”,也违背了“迪米特法则”,所以有必要为多个子系统提供一个统一的接口,从而降低系统的耦合度,这就是外观...
2019-05-28 14:55:34
233
转载 设计模式-------装饰设计模式
装饰模式的定义与特点装饰(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。装饰(Decorator)模式的主要优点有:采用装饰模式扩展对象的功能比采用继承方式更加灵活。 可以设计出多个不同的具体装饰类,创造出多个不同行为的组合。其主要缺点是:装饰模式增加了许多子类,如果过度使用会使程序变得很...
2019-05-28 14:15:32
478
转载 结构型模式之——组合模式
前言对于树形结构,在代码中有容器节点和叶子节点之分,容器节点可以有子节点,而叶子节点没有,所以两者是有区分的,而在实际使用中,我们更希望一致的对待他们,因为如若区别对待,在程序上会非常复杂。组合模式则是为了解决此类问题而生的,它可以让叶子对象和容器对象的使用具有一致性。他是组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构,故称为组合模式(这个是我猜的……)。模式定义...
2019-05-28 13:50:01
203
转载 设计模式:适配器模式
设计模式:适配器模式一:适配器模式的定义 适配器模式:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作 Adapter Pattern:Convert the interface of a class into another interface clients expect.Adapter lets classes work together ...
2019-05-26 11:56:21
268
原创 设计模式之----策略者模式
定义定义:一个类的行为或其算法可以在运行时更改。个人定义:同一场景内,一个类的行为可在运行时动态改变图代码实现需求1:同一公司内的不同角色员工进行工作 public interface Strategy { /** 工作 */ void work(); } public class NormalImployee implements Strategy{ ...
2019-05-24 14:39:07
157
原创 设计模式之----代理模式
定义定义:一个类代表另一个类的功能。我的个人定义:一个对象代理另外一个对象的相关行为。图代码实现1需求: 购房者房者通过中介买房/***售房行为接口*/public interface ISellHourse{ /** 预订 */ void reserve(); /** 看房 */ void seeHourse(); /** 签合同...
2019-05-24 11:24:05
127
转载 UML各种图总结-精华
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。一、基本概念 如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,...
2019-04-29 14:34:59
208
转载 mysql面试题分享
一.基础笔试命令考察1.开启MySQL服务service mysqld start/init.d/mysqld startsafe_mysql &关闭mysql服务service mysqld stop/etc/init.d/mysqld stopmysqladmin -uroot -p123456 shutdown2.检测端...
2019-04-29 10:08:56
1694
转载 认识UML类关系——依赖、关联、聚合、组合、泛化
在学习面向对象设计时,类关系涉及依赖、关联、聚合、组合和泛化这五种关系,耦合度依次递增。关于耦合度,可以简单地理解为当一个类发生变更时,对其他类造成的影响程度,影响越小则耦合度越弱,影响越大耦合度越强。下面根据个人理解,尝试讲解这五种类关系。1.依赖(Dependency)依赖关系使用虚线加箭头表示,如下图所示:学生在学习生活中经常使用电脑,于是对电脑产生了依赖。依赖关系是五种关系...
2019-04-22 18:00:31
470
转载 Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我...
2019-04-17 18:25:16
165
转载 Java中HashMap底层实现原理(JDK1.8)源码分析
这几天学习了HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来分析一哈最新的JDK1.8的HashMap及性能优化。在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的...
2019-04-17 18:19:07
172
转载 设计模式六大原则
1.设计模式的目的设计模式是为了更好的代码重用性,可读性,可靠性,可维护性。2.常用的六大设计模式1)单一职责原则2)里氏替换原则3)依赖倒转原则4)接口隔离原则5)迪米特法则6)开闭原则3.单一职责原则该原则是针对类来说的,即一个类应该只负责一项职责。如类T负责两个不同职责:职责P1,职责P2。当职责P1需求变更而改变T时,可能造成职责P2发生故障,所以需要将类T的粒度...
2019-04-17 17:44:03
141
转载 类与类之间的关系-依赖,关联,聚合,组合,继承,泛化的区别
1)依赖依赖关系是类与类之间的联接。一个类依赖于另一个类的定义。如,一个人(Person)可以买车(Car)和房子(House),Person类依赖于Car和House的定义,因为Person引入了Car和House。与关联不同的是,Person类中没有Car和House的属性,Car和House的实例是以参量的方式传入到buy()方法中的。一般而言,依赖关系在Java语言中体现为局部变量,方法...
2019-04-17 17:41:31
535
转载 如何画出一张合格的技术架构图?
https://blog.csdn.net/yunqiinsight/article/details/89226780
2019-04-15 11:45:13
3551
转载 Android热修复——Tinker的集成
前言做前端开发的都知道,当我们项目做完了以后,都会把应用上传到应用市场上供用户下载使用,比如上传到应用宝啊,应用汇啊,360啊,小米,华为,魅族啊,等等但是,有时候我们会经常遇到一些很扯淡的事情,刚刚熬夜加班将项目发到应用市场上,第二天,又发现一个严重bug,难道是开会研究看看是否能在下一版解决?还是将bug解决了,在给测试进行测试,然后再发版?如果从新发版,这个成本太高了,那怎么办呢,今...
2019-04-12 10:25:53
223
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人