自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL即查即用笔记

SELECT语句的结构SELECT 语句可以从数据表中或视图中进行查询,并将查询结果以表格的形式返回,返回的结果称为结果集。SELECT select_list[INTO new_table]FROM table_name[WHERE search_condition][GROUP BY group_by_expression][HAVING search_conditio...

2019-11-26 22:53:18 726

原创 intent调用 只选择图片的方式

Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); startActivityForResult(intent, code);

2019-11-22 11:36:02 619

原创 ThreadLocal 总结

ThreadLocal作用提供线程的局部变量提供主要方法getputremoveinitialValue 重写变量实际保存容器ThreadLocalMap, 从当前线程获取采用数组实现

2019-10-31 22:27:42 157

原创 23种 设计模式总结

应用仅有唯一对象实例是单例模式。复杂对象根据设置参数不同可以构造不同对象,采用建造者模式。方法返回参数是接口类型可以是工厂模式。以同一个类快速赋值个实例,可用原型模式接口抽象和实现解耦,接口注入它类的构造方法,是桥接模式。两个不兼容的接口,实现在一个类中一起工作叫适配器模式一个类中包含引用这个类的属性或者集合,可用组合模式一份个接口,有两个实现类,一个具体实现,一个包含具体实现的类,...

2019-10-22 22:40:45 170

原创 工厂模式和策略模式

文章目录白话描述工厂模式备注接口定义实现接口的产品提供一个工厂方法策略模式对工厂模式的优化采用反射优化if else if白话描述工厂模式写一个工厂类,提供一个个方法获取生厂产品的接口。备注关注是产品的接口, 有几个产品实现类呢,只有一个,直接new了,不然造成多很多代码的。接口定义//接口 生成产品的public interface MessageView{ v...

2019-10-21 22:42:29 161

原创 观察者模式

文章目录定义观察者实现接口主题 (被观察者类)观察者白话描述变形的观察者kotlin实现定义简单说,对象间定义了一对多的依赖,当一个对象的改变,可以通知依赖的对象。java 支持观察者实现接口public interface Observer{ void update(Observable 0, Object arg);}主题 (被观察者类)public cl...

2019-10-19 15:28:01 139

原创 原型模式

文章目录定义注意java实现 调用 super.clone()实现java实现 调用 new 实现kotlin实现定义简单说就是复制已经存在的实例,创建新的实例。注意分深拷贝,和浅拷贝。 使用时候,避免错误使用深拷贝吧。通过实现Cloneable接口,重写Object的clone方法实现拷贝对象可以调用 super.clone(),简单也可以直接new一个在赋值java实现 调用 s...

2019-10-19 10:28:31 111

原创 代理模式 和 静态工厂方法 实现解耦框架依赖

代理模式:一个公共接口代理类和被代理都是实现这共同的接口代理类中持有被代理类的引用网络框架举例:共同的接口public interface IRequestProcessor{ void get(String url , Map<String,Object> params,ICallBack callBack); void post(Stri...

2019-10-18 17:23:43 236

原创 模板方法模式

常用并且简单,Java和kotlin实现没有什么区别。BaseActivity,BaseFragment等等一些抽象类。特点: 定义在基类里,不能更改。通过调用子类覆盖实现的方法来完成它的工作。abstract class BaseActivity: AppCompatActiivty(){ override fun onCreate(saveInstanceSta...

2019-10-18 15:40:16 130

原创 kotlin实现 Activity和Fragment高频代码较好的实现

Activity间的数据传递Intent传递数据 val intent = Intent(context, TranslucentActivity::class.java).apply { putExtra(Const.IntentParamsKey.OBJECT_ID, objectId) } context....

2019-10-17 22:54:47 921

原创 Okhttp中 kotlin和java 实现Builder模式

builder就是将复杂对象的构建与表示分离kotlin版本实现//会省略很多代码open class OkhttpClient internal contrustor(builder:Builder){@get: JvmName("dispatcher")val dispatcher: Dispatcher = builder.dispatcher@get: JvmName("co...

2019-10-15 23:57:20 390

原创 java类加载和初始化顺序

java类装载过程加载 指java虚拟机字节流(.class文件),根据字节流创建Class对象的过程。具体是将类.class文件读入类存中,放在运行时区域的方法内存。然后在堆中创建Class对象。链接 执行校验(检查加载class文件的正确性和安全性),准备(为类变量分配存储空间并设置变量初始值),和解析(jvm将常量池内的符号引用转换为直接引用)。初始化,只对是他提醒修饰的变量或语句...

2019-10-15 17:59:50 239

原创 volatile介绍

volatile 特性保证可见性,不保证原子性写volatile修饰的变量,JVM会把线程的本地内存变量强制更新到主内存中写volatile修饰的变量,导致其它线程从主内存读取静止指令重排序指令重排序是指编译器和处理器为优化程序性能对指令进行排序的手段。遵循规则:不会对存在依赖关系指令和影响单线程下的执行结果 进行重新排序volatile原理jvm底层用内存屏障来实现...

2019-10-15 14:13:40 156

原创 单例

单例模式写法比较多,记住几个主要的写法。其核心是构造器私有,只有一个实例的单例类1 恶汉模式比较简单,可以开始就初始。java实现public class SingleDemo{ private static SingleDemo instance = new SingleDemo(); private SingleDemo(){ ...

2019-10-15 14:12:06 127

原创 添加向上导航功能 简单方式

在 AndroidManifest.xml 文件中声明哪个 Activity 是逻辑父屏幕即可 <activity android:name=".ui.DisplayMessageActivity" android:parentActivityName=".MainActivity" android:label="MainActivity"...

2019-10-14 22:20:24 441

原创 kotlin 启动Activity优雅的启动方式

来自于 wanandroid,做个记录inline fun <reified T : Activity> Activity.startKtxActivity(flags: Int? = null, extra: Bundle? = null) = startActivity(getIntent<T>(flags, extra))inline fun <r...

2019-10-13 22:35:50 1960

原创 kotlin reified使用

reifiedreified关键字只能标记实化类型参数的内联函数,不能作用于类和属性。不能在java中调用。调用时候直接使用泛型的类型。refied原理基于inline函数的特性,泛型函数类型实参进行实化,在运行时候能拿到类型实参的信息。每次调用带实化类型参数的函数时,编译器知道调用中作为泛型类型实参的具体类型,只要生成对应不同类型实参调用的字节码插入调用点即可。使用场景:不需要传参...

2019-10-13 22:30:10 813

原创 kotlin 属性优雅的声明定义

kotlin属性定义和声明是要求必须做好初始化基本数据类型开始初始化的时候给属性赋值个默认值private var currentPage = 0private var isCanFished = false或者通过使用 Delegates.notNull()private var currentPage by Delegates.notNull<Int>()priv...

2019-10-12 14:05:34 561

原创 java 反射 Class解释

java反射机制在运行期间,从.class字节码文件中获取 构造函数,成员变量,成员方法等信息。或取.class文件类容,先获取对应Class对象。Class对象获取Class的静态方法public static Class<?> forName(String className) throws ClassNotFoundException{...}ClassLo...

2019-10-11 23:34:57 189 1

原创 kotlin 委托

委托属性特点:常见的属性类型,交给委托类统一实现,避免每个类都要单独重复实现一次语法: val/var <属性名>: <类型> by <表达式>by后面的表达式是委托,会被委托给它用operator修饰的getValue()函数 (于setValue()函数 ->对应于var属性)属性委托要求val声明的,委托必须提供一个名为getValue的函...

2019-10-10 16:22:12 166

原创 git实践总结

git实践总结2个主要分支:masterdeveloporigin/master 其HEAD 源代码总是代表了生产环境准备就绪的状态的分支origin/develop 其HEAD源代码总是代表了最后一次交付的可以赶上下一次发布状态的分支每当develpo分支达到一个稳定的阶段,可以对外发布时,所有的改变会合并到master分支,并打一个发布版本的tag。可能会用到的其它不同类型的...

2019-09-23 17:52:57 372

原创 kotlin随堂笔记

这里写自定义目录标题访问修饰符openfor循环对象对象表达式对象声明伴生对象对象表达式和对象声明之间的语义差异静态变量和静态方法lateinitlet函数also函数with函数run函数apply函数kotlin JVM 常用注解参数解析协程访问修饰符openkotlin中默认类和方法是final,如果允许创建一个类的子类,需要使用open修饰符来表示这个类,另外需要给每一个可以被重写的属...

2019-09-23 17:50:37 154

空空如也

空空如也

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

TA关注的人

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