自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 读书笔记——Android源码设计模式解析与实战(一)

面向对象的六大原则一、单一职责原则就一个类而言,应该只有一个引起它变化的原因。Android开发中常见的MVP模式、MVVM模式就很好地遵循了单一职责原则。以MVP模式为例,当UI样式发生改变时,往往只需要修改View(也就是Activity、Fragment),而不需要修改Model和Presenter。二、开闭原则软件中的对象(类、函数等)对于扩展应该是开放的,对于修改是封闭的。在开发过程中,在已通过测试的代码上进行修改可能引入新的bug,而且代码可读性、可维护性都会一定程度降低。扩展有

2020-11-30 18:11:51 205

原创 Android图片LRU缓存Demo

应用LRU(Least Recently Used)缓存算法实现图片两级缓存(内存、磁盘)下面是图片加载器的Kotlin代码,主要参考《Android开发艺术探索》第12章ImageCompressorimport android.content.res.Resourcesimport android.graphics.Bitmapimport android.graphics.BitmapFactoryimport java.io.FileDescriptorobject ImageCom

2020-10-30 10:15:58 149

原创 Android自定义View相关总结

直接继承View通常用于实现复杂的、不规则的效果,需要在onMeasure中处理wrap_content、padding,然后在onDraw中绘制。以下为自定义圆形进度条组件的代码

2020-09-23 14:09:39 955

原创 项目介绍——对话式教学系统

对话式教学系统背景该项目为团队合作开发完成的课程项目,是一个基于微信小程序的教学内容管理平台。教师在网页端编辑并发布课程内容,学生通过微信小程序进行对话式学习。对话式学习,就是学生在微信小程序端一个类似于聊天室的页面进行学习,知识点是以聊天气泡的形式展示的,每学习完一个知识点可以点击next显示下一个,该系统暂时只支持一般的陈述性知识点和简单的单选题。当学生在学习过程中遇到单选题时,需要从A...

2020-03-19 15:57:47 460

原创 Java11 HashMap中tableSizeFor(int)的实现

背景:由于HashMap提供了配置初始化容量的构造函数,为了确保容量始终为2的N次方,需要计算>=调用方传入容量的最小的2的整数次方,我们记作n。函数tableSizeFor(int)实现了这一功能:static final int tableSizeFor(int cap) { int n = -1 >>> Integer.numberOfLeadingZero...

2020-02-10 15:48:49 471

原创 计算机网络知识总结

计算机网络知识总结第一章 计算机网络和因特网主机(端系统):所有连接到因特网上的设备,端系统通过通信链路和分组交换机连接到一起,可以划分为发送端系统和接收端系统分组交换机:包括路由器、链路层交换机等通信链路:通信链路的传输速率以 比特/秒(bit/s or bps) 度量路径(path):从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径ISP...

2020-01-07 17:06:46 376

原创 面向对象分析与设计知识总结

面向对象分析与设计知识总结考试内容%50 教材涉及的基本概念15% 根据业务需求设计简单的静态概念模型或静态设计模型15% 重构20% 设计模式PPT知识点Chapter2.5 面向对象介绍纯面向对象的编程语言并不能保证写出面向对象风格的程序,关键点在于程序的编写者是否符合面向对象的编程范式使用延迟绑定的机制实现多态每当你发现自己是通过查看了的内部实现来得知该如何使用这个...

2020-01-06 02:05:05 994

原创 外部排序算法

1. 桶排序(bucket sort)2. 位图(bit-map)3. 多路归并(merge sort)

2020-01-05 18:16:57 1936 2

原创 图论算法总结

图论算法总结1. 图的表示方法邻接矩阵:空间复杂度O(|V|^2),适用于稠密图邻接列表:空间复杂度O(|E| + |V|),适用于稀疏图。注意列表的具体实现,可以使用ArrayList或者LinkedList,但ArrayList的空间开销较大(存在默认容量)...

2020-01-03 13:06:04 252

原创 Go语言的特性

Go语言的特性与C语言相比,Go语言摒弃了语句必须以分号作为语句结束标记的习惯支持多重赋值:语句 i, j = j, i 可以交换变量i和变量j的值;函数支持多重返回值预定义itoa常量,该常量可以被编译器修改,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增1。以大写字母开头的变量、常量、函数在包外可见(public)...

2019-12-31 23:40:07 119

原创 Java关键字

Java关键字1. final修饰类:表示这个类不能被继承,final类的所有成员方法都被隐式指定为final方法修饰方法:表示这个类不能被重写(override)修饰基本数据类型变量:变量的值一旦被初始化后,便不能改变。可以先声明再初始化,也可以在声明的同时直接初始化。修饰引用数据类型变量:引用在初始化后,便不能指向其他引用。可以先声明再初始化,也可以在声明的同时直接初始化。...

2019-12-24 19:51:06 79

原创 Java基础(二)——2019/12/19

Java基础(二)——2019/12/19Array与ArrayList的区别以及各自的应用场景Array中的元素可以是基本数据类型,也可以是引用数据类型;ArrayList中的元素只能是引用数据类型。Array的大小是固定的,ArrayList的大小是动态变化的,ArrayList基于Array实现。Array适用于对数据数量不变的场景,ArrayList适用于数据数量不确定或者...

2019-12-22 15:50:15 328

原创 Java基础(一)——2019/12/19

Java基础(一)——2019/12/19Java中如何支持正则表达式操作Java中的String类提供了支持正则表达式操作的方法:matches()、 replaceAll()、split()等。此外,Java还提供了Pattern类和Matcher类来支持正则表达式操作。简单描述一下正则表达式的用途我们在处理编写处理字符串的程序时,常常需要依据某种模式(pattern)对...

2019-12-19 14:12:18 134

原创 Spring Boot配置SSL实现https请求

Spring Boot配置SSL实现https请求1. 生成SSL证书专业的SSL证书较为昂贵,可以在腾讯云或者阿里云上申请免费的SSL证书。如果只是做简单的demo,可以使用java自带的keytool工具生成SSL证书。2. 使用keytool工具生成SSL证书以windows系统为例(如果是linux系统,将keytool.exe替换为keytool即可),在终端输入keyt...

2019-07-01 22:42:02 3169

原创 阿里云对象存储OSS服务——上传/删除/获取图片

阿里云对象存储OSS服务——上传/删除/获取图片1. 准备工作开通对象存储 OSS服务创建AccessKey(使用阿里云OSS SDK时需要使用到)创建Bucket(输入唯一的Bucket名字,选择合适的区域,其他选项默认)创建Spring Boot项目推荐使用Postman测试后端API,Postman的下载及使用参考 https://blog.csdn.net/fxbin123/...

2019-06-30 20:19:19 9489

空空如也

空空如也

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

TA关注的人

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