自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一现灵光

书写知识,记录成长。

  • 博客(69)
  • 资源 (11)
  • 收藏
  • 关注

原创 十二,设计模式之-代理模式(Proxy pattern)

在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频或大图像等),其下载要花很多时间。还有因为安全原因需要屏蔽客户端直接访问真实对象,如某单位的内部数据库等。代理模式的定义与特点代理模式的定义:由于某些原因需要给某对象提供一个代理

2020-12-27 13:32:52 11

原创 Andorid 官网资料

Android的官方samplehttps://github.com/googlesamplesJetpack官方资料:https://developer.android.google.cn/jetpack/

2020-12-23 13:16:48 7

原创 设计模式目录

设计原则:1,开闭原则对扩展开放,对修改关闭2,单一职责一个类只负责一项职责3,里氏替换原则任何基类可以出现的地方,子类一定可以出现。子类可以扩展父类的功能,但不能改变父类原有的功能。4,依赖倒置原则要依赖于抽象,不要依赖于具体。要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合5,接口隔离原则其原则字面的意思是:使用多个隔离的接口,比使用单个接口要好。本意降低类之间的耦合度,而设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次

2020-12-18 14:47:00 74

转载 四,设计模式之-原型模式(Prototype)

原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象。本小结会通过对象的复制,进行讲解。在Java中,复制对象是通过clone()实现的...

2020-12-17 22:52:05 9

转载 依赖、关联、聚合和组合之间区别的理解

在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇博文《设计模式中类的关系》中已经有所提及,下面就来详细的论述一下在Java中如何准确的体现依赖、关联、聚合和组合。首先看一看书上对这四种关系的定义:依赖(Dependency)关系是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义。例如,一个人(Pers

2020-10-15 11:15:10 324

转载 常用的web服务器软件

1、ApacheApache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自"a patchy server"的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。特点就是处理php页面,如果需要执行php的内容过多可以采用apache,如

2020-09-24 10:19:20 107

原创 二,设计模式之-单例模式(Singleton Pattern)

单例模式是我们在开发中经常用到的模式,它有三个好处。 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使...

2020-06-27 20:01:52 66

原创 JVM数据区解析

Jdk体系结构和JVM综合解析

2020-06-27 19:47:45 90

原创 Kotlin的5种单例写法和java对比

​​​​​​主要单例模式实现如下:饿汉式 懒汉式 线程安全的懒汉式 双重校验锁式 静态内部类式一,饿汉式实现(1)java恶汉式public class Singleton{ public static final Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; }}(2)Kotlin饿汉式/

2020-06-14 17:41:42 194

转载 Kotlin系列之let、with、run、apply、also函数的使用

Kotlin系列之let、with、run、apply、also函数的使用总结https://blog.csdn.net/u013064109/article/details/78786646

2020-02-29 14:15:46 61

转载 Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!)最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本d...

2019-12-27 19:59:42 117

转载 Emacs和Vim:神的编辑器和编辑器之神

在这个蔚蓝色的星球上,流传着两大神器的传说:据说Emacs是神的编辑器,而Vim是编辑器之神。一些人勇敢地拾起了Vim或Emacs,却发现学习曲线陡峭而漫长,还是有一些人留下来了,坚定地守护着这两大神器。一些说葡萄太酸的人想离开又不甘心,总是问:它们到底神在哪里啊?0. 序章:神器的传说在这个蔚蓝色的星球上,流传着两大神器的传说:据说Emacs是神的编辑器,而Vim是编辑器之神。追求独...

2019-12-27 17:29:11 89

转载 Gradle编译打包Android apk详细介绍

Gradle编译打包Android apk详细介绍理解Gradle构建过程,解读Android Gradle插件的配置阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章。APK包是一个ZIP压缩包,从Java源代码、资源文件到生成这个APK,经过了编译打包一系列特定的过程,SDK文档(/docs/tools/building/...

2019-11-21 11:19:22 199

转载 Gradle依赖关键字学习

查看依赖树查看所有依赖树: ./gradlew :app:dependencies 总共有releaseUnitTestCompileClasspath、releaseCompileClasspath、debugCompileClasspath等依赖树,直接用上面这条命令的话,会列举出所有的,不利于查看,可以使用类似以下命令,查看目标依赖树:./gradlew :app:de...

2019-09-23 11:19:16 243

原创 六,设计模式之-装饰器模式(Decorator Pattern)

一,介绍 概念:允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。 作用:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。 ...

2019-08-02 11:02:29 79

原创 五,设计模式之-适配器模式(adapter pattern)

一,是什么:在我们的应用程序中我们可能需要将两个不同接口的类来进行通信,在不修改这两个的前提下我们可能会需要某个中间件来完成这个衔接的过程。这个中间件就是适配器。所谓适配器模式就是将一个类的接口,转换成客户期望的另一个接口。它可以让原本两个不兼容的接口能够无缝完成对接。二,作用:使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 中间这个用来装小存储卡的就相当于适配...

2019-07-12 18:51:44 59

原创 API 'variantOutput.getProcessManifest()' is obsolete and has been replaced

这个问题怎么解API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.在gradle-wapper.properties中使用:distributionUrl=https\://servic...

2019-07-11 16:40:44 1628 2

转载 classloader加载的双亲委托模式

要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用 的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过ClassLoader来实现的,所以可想而知ClassLoader的重 要性如何。看到这里,可能有的朋友会想到一个问题,那就是既然ClassLoader是用来加载类到JVM中的,...

2019-06-27 11:28:37 240

转载 Android全面插件化RePlugin流程与源码解析

RePlugin,360开源的全面插件化框架,按照官网说的,其目的是“尽可能多的让模块变成插件”,并在很稳定的前提下,尽可能像开发普通App那样灵活。那么下面就让我们一起深入♂了解它吧。 (ps :阅读本文请多参考源码图片 ( ̄^ ̄)ゞ )一、介绍RePlugin对比其他插件化,它的强大和特色,在于它只Hook住了ClassLoader。One Hook这个坚持,最大程度保证了稳定性、兼容...

2019-06-27 10:27:06 307

转载 ReentrantReadWriteLock读写锁详解

一、读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 针对这种场景,JAVA的并发包提供了读写锁ReentrantReadWriteLock,它表示两个锁,一个是读操作...

2019-06-17 10:52:23 48

原创 颜色透明度16进制对照表

100% — FF99% — FC98% — FA97% — F796% — F595% — F294% — F093% — ED92% — EB91% — E890% — E689% — E388% — E087% — DE86% — DB85% — D984% — D683% — D482% — D181% — CF80% — CC79% — C97...

2019-05-10 19:58:26 1232

原创 Android常用的文件路径获取

1,路径为:data/data/包名/app_+APP_CONFIG /APP_CONFIG ,其中包名后面的app_是为调用时,系统自己加上的。Context context ;private final String APP_CONFIG ="config";File dirConf= context.getDir(APP_CONFIG, Context.MODE_PRIVATE)...

2019-04-17 14:16:04 5326

转载 Fresco简单的使用—SimpleDraweeView

Fresco是一个第三方库,github官网地址:https://github.com/facebook/fresco 百学须先立志—学前须知: 在我们平时加载图片(不管是下载还是加载本地图片…..)的时候,我们经常会遇到这样一个需求,那就是当图片正在加载时应该呈现正在加载时的图像,当图片加载失败时应该呈现图片加载时的图像,当我们重新加载这张图片时,应该呈现重试时图像,直到...

2019-04-04 19:36:32 1583

转载 DexClassLoader和PathClassLoader的区别

先说结论1、DexClassLoader可以加载jar/apk/dex,可以从SD卡中加载未安装的apk2、PathClassLoader只能加载系统中已经安装过的apkPathClassLoader 源码以下源码全部来自Android6.0.1package dalvik.system;public class PathClassLoader extends Base...

2019-04-01 20:51:22 201

原创 git的简介及安装使用

一,关于版本管理工具简介1,集中式的版本控制系统:常见的集中式版本控制系统有CVS,SVN。特点:管理方便,逻辑明确,符合一般人思维习惯。 易于管理,集中式服务器更能保证安全性。 代码一致性非常高。 适合开发人数不多的项目开发。2,分布是版本控制系统:常见的分布式版本控制系统有bitkip Git。特点:最优的存储能力。 非凡的新能。 开源的。 很容易做备...

2019-03-13 01:39:17 68

转载 AndroidStudio如何根据返回的json数据快速自动生成实体类,只需一个GsonFormat插件

AndroidStudio如何根据返回的json数据快速自动生成实体类,只需一个GsonFormat插件1.在Android Studio中点击左上角菜单栏中的File,然后点击Settings,在弹窗中选择Plugins,然后点击下方的Browse repositories…2.在新打开的窗口中搜索GsonFormat,点击右侧绿色按钮下载安装,安装完重启下Android...

2019-02-28 16:34:50 991

原创 比较5种hashTable的遍历方式的效率

 在hashTable中插入1000000条数据然后遍历比较五种方式的效率。import java.util.Enumeration;import java.util.Hashtable;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class TraverseHa...

2019-02-27 10:29:11 1145

转载 自定义Drawable:实现文字生成图片

一 、写在正文前作为一个初来乍到的非资深android从业者,这是本人第一次在简书装逼,哦不,发表文章,因此有点小紧张以及难以掩饰的小激动[手动滑稽],若是有什么写的有问题的,没错,是本人技术问题,还望多多见谅。二、概述二话不说反手就是一个超链接:下载地址一言不合反手又是一个超链接:github地址本文将介绍的是一款在googleplay上线的APP:TextImageMaker主...

2019-02-13 14:05:25 1391

转载 git回滚到任意版本

https://www.cnblogs.com/wancy86/p/5848024.htmlgit回滚到任意版本先显示提交的log$ git log -3commit 4dc08bb8996a6ee02fAuthor: Mark <xxx@xx.com>Date: Wed Sep 7 08:08:53 2016 +0800 xxxxxcommit ...

2019-01-22 10:42:27 272 1

原创 DataBinding使用详解

      binding框架是一个UI框架,作用帮助开发者快速开发UI。原理是先通过一定的规则写一个XML的布局,Android studio自动生成一个Binding的java类。      使用Data Binding首先,环境搭建:      Android 的 Gradle 插件版本不低于 1.5.0-alpha1:      classpath ‘com.android.t...

2019-01-20 23:35:29 683

原创 Android的3种Notification实现方式详解

 普通通知 自定义布局通知 悬挂式通知        先贴出效果图。        自定义布局通知普通通知悬挂式通知         一,普通通知      下面是普通通知的主要代码类NotificationTools1 ,如果需要拷贝到自己的项目里面使用还需要后面的工具类一起拷贝进入。public class Noti...

2019-01-18 17:03:55 2997

转载 Java 8、9、10、11 新特性

原文地址:https://blog.csdn.net/lcn_2017/article/details/80146668       

2019-01-18 16:04:15 2264

原创 Android版本和版本号的对于关系,以及市场占有率。

2019-01-16Version Codename API Distribution 2.3.3 - 2.3.7 Gingerbread 10 0.2% 4.0.3 - 4.0.4 Ice Cream Sandwich 15 0.3% 4.1.x Jelly Bean 16 1.1% ...

2019-01-16 19:33:39 1330

转载 Java 8新特性终极指南

2014/06/20 | 分类: 基础技术 | 8 条评论 | 标签: JAVA8分享到:本文由 ImportNew - 刘 家财 翻译自 javacodegeeks。欢迎加入翻译小组。转载请见文末要求。编者注:Java 8已经公布有一段时间了,种种迹象表明Java 8是一个有重大改变的发行版。在Java Code Geeks上已经有大量的关于Java 8 的教程了,像玩转Java...

2019-01-10 15:28:32 73

转载 几款流行的SQLite图形用户界面工具

您是否在寻找一个用于管理SQLite数据库的图形用户界面(GUI)工具?下面是一些流行的SQLite GUI工具列表。SQLite Database BrowserSQLite Database browser 是一个免费、开源的SQLite 数据库的轻量级 GUI 客户端,主要是为非技术用户创建、修改和编辑 SQLite 数据库的工具,使用向导方式实现。 SQLite Admin...

2019-01-09 10:54:24 40318

原创 数据结构之-单向链表和双向循环链表,栈,二分法查询

一,链表实现      1,接下来实现一个简单的单向链表,下面直接贴代码。      链类public class Link {// 链类 private Node head; // 初始化链表 相当于有了一个具体的火车头 public Link(Node head) { this.head = head; } // 往链表中添加节点 就是加车厢 public v...

2019-01-06 17:21:56 316

转载 Android studio Git及TortoiseGit使用全程图解

刚使用git的时候配置git环境很有必要的一篇文章:https://blog.csdn.net/kill_bugs/article/details/49755095  

2019-01-06 16:33:10 472

转载 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。

前言:jdk1.7中java.util.concurrent.Executor线程池体系介绍java.util.concurrent.Executor : 负责线程的使用与调度的根接口 |–ExecutorService:Executor的子接口,线程池的主要接口    |–ThreadPoolExecutor:ExecutorService的实现类  |–ScheduledExecut...

2019-01-04 16:43:30 2172 2

原创 Retrofit介绍-简单的Get请求

参考:https://blog.csdn.net/carson_ho/article/details/73732076常量类public class constant { // URL模板 public static String url1= "http://fy.iciba.com/ajax.php";// URL实例 public static Strin...

2019-01-02 14:40:22 640

原创 Git的常用命令

git客户端工具:git 和 TortoiseGitgit下载地址:https://git-scm.com/downloadsTortoiseGit下载地址:https://download.tortoisegit.org/tgit/一:下载并且安装git工具https://gitforwindows.org/二:生成ssh keyssh-key...

2018-12-28 14:38:21 124

DownloadManager使用的Demo

Android系统下载DownloadManager使用的详细demo,非常使用的demo,不要写入权限,适配各种版本的系统。

2018-06-17

Windows图片查看器注册文件

Windows图片查看器是系统内置的图片查看工具。可能因为未知原因或人为失误,我们把桌面右键的Windows图片查看器弄丢了。 在或者刚装的Windows10系统上面看不到图片查看器。该怎么找回图片查看器呢? 下载这个文件双击就可找回图片查看器了。

2018-07-31

23种设计模式视频

里面有百度云盘下载视频的地址和密码。 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两类:并发型模式和线程池模式。 在视频中都有详细的讲解。

2018-11-30

RxJava讲解视频

里面有百度云盘的视频下载地址。用五节课让你对RxJava有一个全面的认识。

2018-11-09

Android 面试前充电,BAT大牛讲解视频。

BAT大牛面试之解密Android 整套视频及代码; 文本中是网盘地址和密码, 如果失效, 请私信我, 看到后立即发新地址

2018-11-09

最值得学习的10大开源框架,高级工程师必备。

内部是一个TXT文件。里面有百度云盘的视频。 最值得深入学习的十大框架: 网络框架:OkHttp Retrofit 异步处理:RxJava EventBus 图片加载:Glide Picasso 依赖注入:ButterKnife Dagger2 性能优化:Leakcanary Blockcanary

2018-11-09

gradle深入学习的视频

需要深入浅出的学习Android studio中的Gradle朋友可前来下载观看。 这个里面是百度云盘的资源链接。

2018-11-06

Android应用保活与拉活

在Android开发中有些应用需要让应用的服务在后台运行不被杀死。下面介绍两种方法。但是这两种方法一起用只能拉活7.0以下的系统上的应用。 一,使用开锁屏广播拉活。 在模拟器上面所有版本的Android系统在进程被杀死后都可以接受到开锁屏广播。 真正的手机上面,小于等于5.0的手机在进程被杀死后可以接受到开锁屏广播。大于5.0在进程被杀死后就不能接受开锁屏广播了。 二,使用JobService保活。 JobService在5.0 5.1和6.0的手机可以起到服务拉活的作用。之后的版本就不能起效果了。包括模拟器测试效果一样。对于7.0 7.1和8.0 8.1的手机实现服务保活目前就没有办法了。qq和微信和手机生产厂商有合作所有能被拉活,在设置为允许自启的情况下。

2018-07-31

屏幕取色工具

用于屏幕取色 得到颜色对应的编码

2017-03-23

My Eclipse 2014 的破解+汉化包

My eclipse 的破解汉化包

2017-03-23

Android API最新文档

安卓开发中每个人都离不开的API文档。

2016-08-30

空空如也

空空如也

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

TA关注的人 TA的粉丝

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