- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 扔物线--Kotlin协程训练营2期-2
笔记仅做自己学习用,方便自己复习知识。若正好可以帮助到Viewer,万分欣喜~若博客侵权,扔物线大大不允许放上面,麻烦告知本文是扔物线Kotlin第二期协程训练营的第二篇文章第一篇见:https://blog.csdn.net/bluerheaven/article/details/106969835目录一、Retrofit对协程的支持二、RxJava和Retrofit的结合使用三、合并网络请求1. 自己实现合并网络请求2. 用Rxjava实现合并网络请求...
2020-06-27 10:04:02 2764
原创 代理模式,以及Java的动态代理
定义为其他对象提供一种代理以控制对这个对象的访问。可以提供额外不同的操作。UML类图Subject类:定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用ProxyRealSubject类:真是实体Proxy类:代理类,保存一个引用使得代理可以访问实体,并提供一个与Subject接口相同的接口,这样代理就可以用来替代实体。简单的代码类如下:public abstract class Subject { publi
2020-06-14 15:49:28 170
原创 模板方法模式(Template Method)
1. 定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2. UML类图模板方法模式的UML类图很简单,就是一个抽象实现和一个具体实现类的继承关系,也是最简单的行为性设计模式。AbstractClass: 抽象模板方法templeteMethod定义了模板方法的使用流程,可以包含非抽象方法和抽象方法,所以只能是抽象类,而不能是接口。ConcreteClass: 具体实现类,模板方法的一种具体实现,根据模板
2020-06-02 21:46:24 297
原创 抽象工厂模式
前一篇文章写了简单工厂模式和工厂方法模式:https://blog.csdn.net/bluerheaven/article/details/106226936又是一个工厂模式:抽象工厂模式。24种设计模式中有3个工厂模式,傻傻分不清楚抽象工厂模式的定义:为创建一组相关或者是相互依赖的对象提供一个接口,而不需要指定它们的具体类。而不需要指定它们的具体类:关键在于面向产品的接口编程,使用时并不知道具体实现是什么。画一下UML类图:...
2020-05-26 07:37:08 238
原创 java 简单工厂模式和工厂方法模式
在《Java编程思想》泛型一章中看到了工厂方法模式,近期也在看泛型,就将工厂方法模式作为设计模式的第一个来写吧。
2020-05-24 07:27:54 380
原创 java 泛型通配符
文章为平时学习记录所用,多些一遍加深记忆,方便复习。面试官给写了一道题:1. List<? extends Object> listlist.add("123");2. List<? super String> listlist.add("123");上面哪种写法是错误的?内心OS:哈哈,这个我在《Java编程思想》上看过。答到:第一种写法是错的。面试官又问:为啥?一个类型继承自Object,添加一个String类型进去是合理的啊。我:....
2020-05-19 20:46:14 200
原创 ASCII,Unicode、GB2312、UTF-8和UTF-16各种编码方式的起源
文章为博主日常学习之用,写下来也就等于多看了几遍,又深入想了一下,加深记忆。有一次面试,面试官问我:UTF-8和UTF-16有什么区别?内心OS:WHAT?那么刁钻的问题也问吗。然后简单地回答道:UTF-8使用一个字节编码,UTF-16使用两个字节编码。(不完全错,但是肯定没回答道点子上)然后面试结果可想而知...好了,那么UTF-8和UTF-16到底有什么区别呢?带着这个问题,我们来看看编码方式的发展过程。1. ASCII上世纪60年代,美国制定了一套字符编码,对英文字..
2020-05-19 09:23:49 609
原创 Java内部类
将一个类的定义放在另一个类的定义的内部,这就是内部类。1. 普通内部类public class Example { int index = 0; public void increaseIndex() { index++; } public class InnerClass { private int getIndex() ...
2020-02-09 20:45:53 162
原创 Java线程池
池化技术所谓池化技术,其实就是在创建一个对象后,将该对象缓存到池子里,当再次需要该对象的时候,可以直接拿来使用,而不需要再次创建对象。这样可以避免对象的多次创建和销毁,提升系统性能。对于Java的线程池,就是将创建的线程放入线程池中,当需要创建新线程执行任务时,可以直接把任务传递给线程池中的线程去运行,不需要再次创建新线程。避免线程的频繁创建和销毁。ThreadPoolExecu...
2020-02-07 13:49:47 169
原创 Android常用的加密算法
一、MD5MD5可以说是最基本最常用的加密算法了。(还依稀记得在校招面试的时候被问到过...)MD5信息摘要算法(MD5 Message-Digest Algorithm)。算法能将任意大小、格式的文字或文件进行加密从而产生 128 bit(16 字节)的散列值。不论输入的的串是多长(1-无穷),生成的MD5值都是128bit。2009年,中科院的谢涛和冯登国仅用了的碰撞算法复杂度,破...
2020-01-28 23:28:22 566
原创 Glide3.7.0源码详解
基于的Glide版本:3.7.0本文分析的是Glide最基本的一行代码:Glide.with(this).load(url).into(imageView);我们认准这一个功能点,来看看Glide默默为我们做了什么。这篇文章会分析这行代码背后的代码,也会简单地分析代码用到的框架和设计模式。这行代码可很容易分成三个部分:with、load、into,我们也降分为三个分类来分析。首先来...
2020-01-20 11:02:44 531
原创 Java的垃圾回收机制
Java提供了垃圾回收机制回收程序不再使用的内存,垃圾回收机制会释放那些经由new分配的内存,但只有在Java虚拟机面临内存耗尽的情况下,它才会耗时去执行垃圾回收以恢复内存。垃圾回收器如何工作1. 标记记数 垃圾回收标记记数是一种简单但速度很快的垃圾回收技术。每个对象都含有一个引用计数器,当有其他对象引用连接至该对象时,引用计数加1。当引用该对象的对象不再引用或被置为null时,该对象......
2020-01-09 10:26:57 1325
MidSeekBar.zip
2019-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人