自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录自己

风风风

  • 博客(57)
  • 资源 (14)
  • 收藏
  • 关注

原创 flutter 路由 生成给 native 使用

发现问题:发现-> 目前使用flutter 开发 大部分应该是混合工程,一般会把 flutter 打包成为 aar,native 依赖使用,通过路由进行原生启动flutter 页面.问题-> flutter 端这边注册 register(‘main/login’,xxxMoudule()), 打成 aar,原生这边依赖 启动 flutter 页面 navigator.push(‘main/login’). 这样的情况写起来也麻烦,也要不断确认 增加了bug的风险.解决-&gt

2021-06-22 16:36:37 246 1

原创 kotlin -> 协程 FunctionX 理解

kotlin suspend 对 反编译 java Function 部分进行分析是为为什么?demo.ktclass MyCoroutine() : Continuation<String> { override fun resumeWith(result: Result<String>) { println("MyCoroutine 回调resumeWith 返回的结果 " + result.getOrNull()) } over

2021-04-18 21:36:54 254

原创 JVM - 基础逻辑

该篇博客是 对于我理解JVM 的线索,并未达到供读者观看程度。下面图片 之前是我画图做的,这次迁移过来,方便自己阅读。1.GC堆java 虚拟机所管理的内存中最大的一块。java 堆是被所有线程共享的一块内存区域 唯一目的:存放内存实例对象,几乎所有的对象实例都在这里分配。tips:所有的对象分配在堆上面 并不是很绝对。1.jit 编译器2.逃逸分析3.栈上分配4 标量替换...

2020-04-28 17:40:23 217

原创 JAVA 之 疑问 - JVM顺序问题

// 情况一public class Test1 { // 3 count1 == 0 count2 == 0 private static Test1 test1 = new Test1(); public static int count1=1; public static int count2 = 5; private Test1...

2020-03-09 20:41:26 155

原创 JAVA基础 - 锁

1. 锁的分析悲观锁乐观锁synchronize 锁升级无锁偏向锁轻量级锁1.悲观锁 (ReentrantLock synchronized 等)描述: 总是假设最坏的情况,每次去拿数据的时候都任务别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞,因为synchronized我们也成为悲观锁。2.乐观锁描述:总是假设最好的情况,每次去拿...

2020-03-07 21:46:08 268

原创 JAVA基础 - synchronized

参考https://www.bilibili.com/video/av82315694

2020-03-07 20:51:42 248

原创 JAVA基础 - volatile

目录:不可见性是什么?volatile 可以保证原子性吗?. 重排的示例和作用?Happends - before 是什么?volatile与synchronized 区别?参考1.不可见性是什么?1.1不可见性案例/** * 多线程修改变量 会出现 修改值之后不可见性 */public class VisibilityDemo1 { public static...

2020-03-01 16:04:48 186

原创 JAVA基础 - ArrayMap

ArrayMapmIdentityHashCode优势:1. 相比 hashMap 不会重建 hash映射,不会创建额外的对象。2. 删除时 缩小存储当前数组劣势:1. 不合适大量数据,效率比hashmap 低。...

2020-02-17 15:01:01 1620

原创 JAVA基础 - SparseArray

SparseArray关键点:二分法 - ContainerHelpers.binarySearch位非运算符(~)插入新的数据,如果没有增加数组大小 GrowingArrayUtils.insert插入新的数据,如果没有增加数组大小 GrowingArrayUtils.append用到 remove delete 才会 mGarbage = trueSparseArray...

2020-02-14 15:32:23 258

原创 kotlin 疑问和理解

kotlin 疑问和理解apply also run let 区别用法 var str :StringBuilder= StringBuilder(); var str1 = str.apply { append("aaaaa") 22222 } println(str1) var str2= str.also { ...

2020-01-10 16:13:09 277

原创 JAVA基础 - hashMap(JDK1.7)

这些问题你都知道了吗?hashMap 存储的和遍历 出来的 值 顺序是否一致?key == null 怎么存储。每次容量增大多少加载因子hashCode数据分布 随机性并发问题死链问题数据丢失问题定义的常亮或变量 /** * The default initial capacity - MUST be a power of two. * 必...

2019-11-17 20:29:04 227

原创 Android - ViewModel 理解的历程

为什么要对 ViewModel 进行理解。一切都是因为一个bug 而起。开发模式( 一个Activity + 多个fragment 组合的回退栈模式 )过程描述:第一步: 当用户点击 新闻列表第二步: 然后点击详情 进入详情界面第三步: 看见在详情界面有不喜欢一栏。第四步: 点击不喜欢 回到上一个界面 列表数据会自动 删除掉。看样子 合理来说是正常的对吧。可以删除。错...

2019-11-07 00:32:08 324

原创 JAVA - 多线程 - 线程池开篇

创作的心路历程:一直都想对多线程进行一个全面的了解,但是内部分享直接对着代码进行分享不太有好。所以就寻找一个切入点 就找到了 线程池。线程池都了解或使用过包含 重量级锁 轻量级 类似自旋锁多线程路上的基石正文带着问题 进行分析容易迷失代码中。准备基础知识各类线程启动方式区别?线程池必备的基础知识点。线程池中的线程 什么时候开始 run?线程池中的线程 如何...

2019-08-29 00:08:11 163

原创 JAVA - 线程池- 辅助理解

- 常用的创建线程 (常用的)继承Thread,再通过Thread的start() (不推荐,不便于管理)实现Runnable,再通过new Thread(runnable)包装后,start()扩展Thread类与实现Runnable接口的比较实现Runnable方式可以避免扩展hread方式由于Java单继承特性的缺点实现Runnable的代码可以被多个线程共享,适合多个线程处...

2019-08-27 23:07:35 152

原创 android - retrofit 源码分析

好记性不如写博客。进入自问自答环节:Retrofit 有什么东西呢?动态代理模式工厂模式建造者模式注解反射Retrofit 那些类是必须要说的?RetrofitrequestFactoryParameterHandlerHttpServiceMethodConverterCallAdapter思考问题?请求加密 响应解密 该如何做?返回体加入特殊字段怎么做...

2019-06-12 23:19:39 165

原创 Android - adapter 对 刷新控件扩展。

我们在使用上拉加载,下拉刷新的时候。有同学会出现以下情况: 在activity 中对page 进行操作。 在每一个adapter对page 进行操作。如果是这样的话,你们可能需要一点点抽象思维因为page 操作是可以抽象出来的。作者写法优势减少了 重复代码时间,减少对page 操作错误率。我就直接上代码了,一看便懂。BaseRecyclerAdapt...

2018-08-23 12:10:37 440

原创 微服务-想法

对微服务想法:一年中我们不断对微服务项目进行改造,有一点点自己经验,分享一下。为什么我们使用微服务1.是因为微服务带给我们更容易上线,出现问题影响范围不大。 2.基础模块不断完善,可以提高很好效率。 3.完善自动化部署,更简易。 4.日志收集定位更方便。 5.业务按照不同纬度进行拆分,更便于理解。 6.处理问题效率更快。服务拆分原则横向拆分: 按照不...

2018-08-09 17:53:38 189

原创 jenkins gitlab php laravel 自动化搭建

git branch : 1:master(正式) 2:beta_projectName(公测) 3:dev_projectName(开发)以后补充。

2018-06-06 10:56:17 2433

原创 laravel-项目架构设计

这里我先贴一个项目:有时间在写我为什么这样做。项目架构 1 :Route 模块化 appApi(Android ios) userRoute DescRoute webApp(小程序) userRoute DescRoute w...

2018-05-25 18:32:27 1408

原创 数据库_水平分区_原理讲解

水平拆分注意:文章是结合自己项目场景,已经所看到书籍参考而成,供大家参考。1.为什么水平拆分?2.怎么水平拆分3.水平拆分利与弊为什么水平拆分?描述:垂直拆分过之后,当mysql 单表数据超过3kw 被频繁访问或者数据更多的时候,会出现性能下降比例较大情况,这个时候就需要水平拆分解决性能问题。怎么水平拆分?水平拆分(就自己来看)不需要特别使用技术,更多是一种逻辑...

2018-04-08 22:30:39 1075

原创 数据库_垂直拆分_原理讲解

垂直拆分注意:文章是结合自己项目场景,已经所看到数据参考而成,供大家参考。1.为什么垂直拆分?2.垂直拆分利与弊为什么垂直拆分?描述:当业务剧增时,特别是写操作非常频繁。 此时脑子中会灵光一闪 : 主从复制,读写分离其实是可以暂时解决一部分问题,把一小部分读操作交给从服务器了。 但是效果可能并不明显。Why?此时如果写操...

2018-03-29 14:59:21 381

原创 andorid 分片上传思路

看了七牛 Android SDK 分片上传模块功能先记录一下思考过的想法(不断完善): 文件读取形式: RandomAccessFileFile 文件FileSize 文件大小uploadSize 上传块大小modifyTime 修改时间offset(uploadSize + offset(上一个大小)) // 上传大小位置 位移回调 上传下一个。 // MaxRetri

2017-09-27 17:56:10 672

原创 Okhttp WebSocket 优化总结

开场白:squareup大法好啊。简述:关于一些推送和IM 功能,可能大家都采用的是第三方(环信,融云 极光等) 但是我们由于这一块的业务目前还是特别大,就自己搭建了聊天和推送系统。利与弊:利:第三方 集成简单,方便使用,持续有团队优化。自己搭建 扩展性高,数据 安全性比较高(提升到https)弊:第三方数据相比自己搭建安全性差一些,所有数据都经过第三方。自己搭建开发周期时间长

2017-07-24 12:25:53 3563

原创 java____设计模式之动态代理模式

参考:http://www.infoq.com/cn/articles/cf-java-reflection-dynamic-proxy每次学习到设计模式都是从源码中get到的新东西。很早之前看过书,当时感觉设计模式好完美,开阔了我的视野。当我深入理解了我就是想说:卧槽,好牛逼。上面都是扯淡,那我们就开始咯。我们记住一些话:(重要) 1.代理对象和被代理对象一般实现相同的接口,调用者与代理对象进

2016-09-05 17:11:43 619

原创 Rtrofit 2.0 封装 借鉴和思考。

我这里借鉴了许多博客。 在这里谢谢各位博主,但是我真的是不好找你们的链接。如果下次遇上了,在添加进来。希望你们不要见怪。0.怎么封装比较好 0.1 怎么封装Heads Token,自定义参数。 0.2 怎么集中处理错误提示,以及网络Dialog, 0.3 怎么对返回Json 自动转换Bean。(感觉这个东西的做法,万变都一样。) 0.4 怎么集中输出后台的Json数据。0

2016-08-18 15:15:27 1117

原创 EventBus3 源码解析(个人理解) 之二。

如果还没有看过EventBus3 源码解析(个人理解) 之一 建议先看前面的。这一篇主要是为了解决以下这两问题?5.为什么听别人说eventbus3的运行效率貌似比原来的快了许多倍?6. Eventbus 有哪些很好的设计?对于第五个疑问解答之前,我想问下大家在用Eventbus 3的时候有没有听说过注解,编译时注解? 如果没有弄懂的话,可以先搜索一下网络上面的知识,弄清楚概念在继续。Eve

2016-06-12 22:45:18 953

原创 EventBus3 源码解析(个人理解) 之一

前言: 还记得我曾经在知乎上面提问:说怎么看源码,什么样的姿势比较好? 但是也很少人回答我。但是也没有关系。原来我不知道怎么回答,现在 估计能回答一点点了。姿势_1: 就拿EventBus框架来说吧!我们首先应该会用是吧.基本功能: 注册: EventBus.getDefault().

2016-06-03 20:08:48 5370 2

原创 android__编译时注解的尝试。

尝试一下 编译时注解的方法。hongyang运行时注解为什么要写这一篇博客啦? 因为我们项目中用到了EvenBus 这个框架了。 EvenBus 在3.0的时候已经采用编译时注解了,从那一点可以看出来啦 那我们就看图说话吧。 当我们android studio 编译的时候就会把注解获取到,从而进行处理。 当然啦,我们这一篇不说Eventbus。需求: 获取对象

2016-05-28 18:17:01 1444

原创 ThreadLocal 工作原理。

看到ThreadLocal 有没有想起来 Thread 这个类?那么就来说说ThreadLocal 是干嘛的吧!作用: ThreadLocal是一个线程内部的数据存储类。通过它可以在指定线程中存储数据,并获取到指定线程中的数据。那么就跟着我一步步来解开疑惑吧~~step1: 先实例化一个对象。 private ThreadLocal<Boolean> mBooleanThreadLocal =

2016-05-23 22:27:48 848

原创 解决 activity 和 fragment 传递数据方法。

最近项目中使用到了EventBus 这个库。感觉真是棒极了。应用场景: 场景一: Activity 与 Fragment 进行数据传递的时候,怎么办? 1:定义静态变量全局控制 2:使用回调接口。 3:传递handler 在fragment 直接调用。代码赶脚耦合度高吗?而且不宜于扩展,是不是还看不出来哪里耦合度高了是吧? 在接着看第二个场景:。

2016-05-19 23:55:19 863

原创 java设计模式_________Builder模式

开发android有一年多的时间了,不经意间其实用到了许多设计模式,不得不说设计模式真的给力—–我服。下面进入正题来讲讲Builder模式的正确使用姿势。目录走起来:Builder模式介绍。Builder模式定义。Builder模式使用场景。Builder模式实战讲解。Builder模式不足。 1. Builder模式介绍。Bulider 模式是一步步来创建一个复杂对象。它允许用户在不知

2016-05-16 00:13:15 839

原创 android 加入广告页的思路以及实现。

今天把实现的Demo上传了。估计大家有看到许多app,都有广告启动页是吧,但是大家有没有好奇是怎么做出来的啦?参考:当当app我们可以观察到已开始显示自己的logo页。然后在把广告也覆盖在logo上面,同时显示跳过广告页的友好提示。还有什么啦?(如果在第一次下载的时候怎么办了?显示广告还是引导页?为什么它的会白屏一会了?多长广告页可以定时更换。其实有时候观察也就能出现答案哦我们先看下最后

2016-05-09 23:16:23 7705

原创 接口与抽象类的区别

在项目中有什么地方有使用到了 接口 和抽象类。但是只会用,不能说这怎么能行啦。1.抽象类 2.接口 3. 抽象类和接口的区别1. 抽象类1.1 抽象类的定义: 1.2抽象方法: 1.3 抽象类的属性:1.1抽象类的定义: 抽象类必须用 public abstract 修饰的(也可以不用写public 因为默认就是) 如果用 private 或者 p

2016-04-20 23:56:38 658

原创 自定义View______绘制圆盘

先说点废话哦。 我突然喜欢上了工作,不是为了别的,只是因为工作让我感觉到有趣。 为什么要做这个圆盘啦,是因为我们项目需要加入大转盘的功能, 但是需求变化了,现在大转盘的优先级不是最高。我在此记录一下, 如果项目需要我将补全完整。效果图准备: 现在已经有的功能: 1.背景的颜色根据动态加载的View变化而变化。 2.根据View个数,以及初始角度变化而旋转

2016-04-09 01:18:33 3708 2

原创 自定义View______商品详情界面效果(纪录片)

开头:每天记录一下自己学习到了什么,在此记录一下,这样才不会忘记。1.思路是这样的。 1.1 自定义一个ViewGroup,里面嵌套两个ScollerView实现商品详情模仿图。 1.2 当第一个ScollerView 下拉到最底部的时候在向上滑动,就滑动到第二页,当第二页滑动到最顶部的时候,在滑动就滑动到第一页。说了这么多的滑动那就不可能是生硬的滚动,而是很循环渐进的效果。 在这

2016-03-31 00:23:10 544

原创 三星手机拍照,上传照片或者下载导致图片旋转90°的解决办法。

项目需求。 因为项目中需要对拍照之后的图片进行上传。 (这也是一个简单的问题) 但是就是三星手机(三星note3),出现拍照之后照片旋转了九十度。 然后我们上传上去,然后通过其他手机请求url在此显示还是旋转过的。说说我们解决问题的路径。 1. 起初以为我们上传照片的时候就是旋转过了的,但是查看图片所在的位置,结果发现图片是正的。 那么是为什么再次下载图片还是旋转的,我们就

2016-03-17 16:23:50 6666

原创 android_________测绘流程

本片文章记录我对view 测绘事件的理解,便于我对以后知识的回顾。 (谢谢艺术探索这本书籍让我对android理解更深。)目录: —————————————————我是分割线—————————————————————— 1.大体view 测绘流程。 ——— SpecMode 2.MeasureSpec

2016-03-12 22:41:53 664

原创 android studio 查看 /data/data/ 目录资源

主要是为了记录:        在研究Glide缓存策略的时候,遇到了没有root的手机不能查看/data/data/ 目录的情况。特此记录     我下用android studio 虚拟手机查看的(应该是自带root功能了吧)    step1:               打开虚拟手机。   step:2                 运

2016-03-05 14:18:54 19183 1

原创 自定义view____通讯录字母特效

android 通讯录 字母特效! 本来想用到项目中的,结果老大说ui界面大变动。就没有用到项目中, 以下提供一个思路,剩下的交给各位朋友了。如果项目中,运用上了继续修改。先记录一下。图片: demo下载地址

2016-03-04 20:41:41 451

原创 adnroid 使用service。 更新apk

项目中要使用到版本更新的功能,参考了开源中国源码,也遇到一些问题,再次记录一下:遇到的问题: 1. 1.notifacation.bulider怎么使用? 2. notifacation和notifacation.bulider有什么区别? 3. 文件创建遇到的坑。 4. bind和service传值。 5. 退出时要注意的事项。step1: 开始需要比对服务器

2016-03-03 20:00:10 758

volatileDemo.zip

volatile博客问题 配套示例demo,更方便读者运行。体验其中的真实的场景。 更加能够明白其中具体的含义。

2020-03-01

线程池 关键 属性 示范例子。

线程池 关键 属性 示范例子,便于更好理解线程池内部细节。

2019-08-29

线程Demo.zip

配置 多线程文章 给出体验示范的实例,便于读者更好的理解体验。

2019-08-27

shell 移动 解压 vendor

shell 动态移动 laravel 统一vendor 主要是配合jenkins 自动化构建

2018-06-06

shell生成env

shell 动态生成 laravel 下的.env 文件。 主要是配合jenkins 自动化构建

2018-06-06

手指转动大转盘

如果遇到什么疑问,问联系我。谢谢

2016-06-22

Eventbus 指针代码。

Eventbus 指针Demo

2016-06-15

编译注解demo

如果有那些写的不对的地方请联系我。

2016-05-28

Eventbus 使用

如果有什么疑问,可以博客留言啦。谢谢啦。

2016-05-20

广告页实现

android,定时更新广告页功能实现。

2016-05-10

myapplication

大转盘根据手指转动.

2016-04-12

MyApplication_zp

android大转盘

2016-04-09

通讯录效果

模仿魅族音乐,查看全部歌曲字母筛选做出来的效果。大家看看哦,等我项目中继续了,在优化。

2016-03-04

模仿QQ快速显示图片效果

模仿QQ快速显示图片效果 感兴趣就写了一个demo 大家可以一起完善此demo'

2016-02-19

空空如也

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

TA关注的人

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