5 IT_peng

尚未进行身份认证

暂无相关简介

等级
TA的排名 7w+

java1.7 ---- hashMap 源码分析

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

2019-11-16 16:18:20

对 ViewModel 理解的心路历程(草稿)

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

2019-11-06 22:48:41

多线程 - 线程池开篇

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

2019-08-29 00:08:11

线程池- 辅助理解

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

2019-08-27 23:07:35

retrofit 源码分析。

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

2019-06-12 23:19:39

adapter 对 刷新控件扩展。

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

2018-08-23 12:10:37

微服务-想法

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

2018-08-09 17:53:38

jenkins gitlab php laravel 自动化搭建

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

2018-06-06 10:56:17

laravel-项目架构设计

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

2018-05-25 18:32:27

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

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

2018-04-08 22:30:39

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

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

2018-03-29 14:59:21

andorid 分片上传思路

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

2017-09-27 17:56:10

Okhttp WebSocket 优化总结

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

2017-07-24 12:25:53

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

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

2016-09-05 17:11:43

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

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

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

2016-06-12 22:45:18

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

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

2016-06-03 20:08:48

android__编译时注解的尝试。

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

2016-05-28 18:17:01

ThreadLocal 工作原理。

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

2016-05-23 22:27:48

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

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

2016-05-19 23:55:19

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。