6 IT_peng

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 8w+

JVM - 基础逻辑

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

2020-04-28 17:40:23

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

JAVA基础 - 锁

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

2020-03-07 21:46:08

JAVA基础 - synchronized

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

2020-03-07 20:51:42

JAVA基础 - volatile

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

2020-03-01 16:04:48

JAVA基础 - ArrayMap

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

2020-02-17 15:01:01

JAVA基础 - SparseArray

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

2020-02-14 15:32:23

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

JAVA基础 - hashMap(JDK1.7)

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

2019-11-16 16:18:20

Android - ViewModel 理解的历程

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

2019-11-06 22:48:41

JAVA - 多线程 - 线程池开篇

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

2019-08-29 00:08:11

JAVA - 线程池- 辅助理解

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

2019-08-27 23:07:35

android - retrofit 源码分析

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

2019-06-12 23:19:39

Android - 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 自动化搭建

git branch : 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

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。