9 Danny_姜

尚未进行身份认证

我要认证

分享是一种精神, 你可以分享他人成果也可以将自己的成果分享给其他人, 不论哪一种分享, 都会有所收获

等级
TA的排名 6k+

一个 int 值,只能表示一个数值吗?

正常情况下一个 int 就是代表一个数值,或者一种状态。但是Google和Oracle的工程师似乎特别喜欢用1个 int 类型来表示多种状态,源码中到处都能看到这种使用方式。线程池Thr...

2020-06-06 18:16:25

GreenDao在Android项目中的实践总结

文章目录:1 GreenDao 基本使用2 GreenDao 多表之间的关联3 GreenDao 保存List类型数据4 GreenDao 版本升级基本使用1 引入GreenDao在p...

2020-05-29 20:26:00

作为一个32岁工程师,我已不再焦虑。你呢?

故事总得有个开头"嗡~嗡!"手机震动了两声,应该是一条短信通知,顺手拿起手机撇了一眼What ? 眼睛一闭一睁《Android进阶课程》已经更新到第18篇了!人生第326...

2020-05-23 15:17:54

阿里3轮面试都问了RecyclerView

阿里面试总共4轮,其中有3轮面试都问到了RecyclerView的问题。面试的点各不相同,有原理、嵌套问题、有缓存实现,但是最终都是殊途同归,所有的问题都汇集在如何对RecyclerV...

2020-05-16 22:01:56

RecyclerView.ItemAnimator实现动画效果

Item动画来源在RecyclerView的源码中,有一个ItemHolderInfo.java。其源码如下:ItemHolderInfo主要是用来表示RecyclerView中item...

2020-05-12 23:49:05

RecyclerView.ItemAnimator源码解析

RecyclerView动画的核心执行类ItemAnimator,当继承一个ItemAnimator时,有如下几个方法需要被实现:通过实现以上几个接口方法就能实现不同的动画效果,以上几个...

2020-05-08 23:05:17

Java 线程池实践出真知

线程池是Java工程师实现并发编程的一大利器,能够有效限制系统中执行线程的数量,重复利用已创建线程,减少资源浪费。但是!线程池真正的难点在于实际使用阶段,主要有以下几个痛点:如何合理配置...

2020-05-05 21:48:47

漫画Java线程池的工作机制

线程池结构图线程池是一套围绕着核心线程、非核心线程、等待队列的任务调度框架。默认情况,线程池主要结构如下:corePoolSize核心线程数当前线程池中运行的线程数量还没有达到 core...

2020-04-28 01:24:20

Java命令行工具之 jstat

jstat 是JDK中提供的一个命令行工具,主要用来打印JVM 性能数据相关的统计数据。主要包含以下几个方面:垃圾回收(GC)方面数据编译(Compilation)相关数据类加载信息(C...

2020-04-24 17:07:26

彻底弄懂Lambda和高阶函数

Lambda是什么简单来讲,Lambda是一种函数的表示方式(言外之意也就是说一个Lambda表达式等于一个函数)。更确切的说:Lambda是一个未声明的函数,会以表达式的形式传递。为什...

2020-04-20 23:27:35

不要让你的Java对象"逃逸"了!

经常会有面试官会问一个问题:Java中的对象都是在"堆"中创建吗?然后跟求职者大谈特谈"逃逸分析",说通过"逃逸分析",JVM会将实例对象...

2020-04-19 22:30:31

Java虚拟机究竟是如何处理SoftReference的

但凡是写过几行java代码的,都知道java中的引用分为4种:强引用、软引用、弱引用、虚引用。其中广大开发者最热衷的莫过于 软引用 了。因为它能保证在内存足够时,我们创建的对象完好的存活在内存中。同时当内存不足时,则将软引用指向的对象交由GC回收。抛个砖但是Java工程师不能认为SoftReference就是万无一失的保险锁,并且肆无忌惮的使用。被 软引用 对象关联的对象会自动被垃圾回收器...

2020-04-09 18:09:21

如何在Flutter中使用GraphQL

什么是GraphQL这篇文章主要是看一下如何在Flutter项目中使用GraphQL,如果不清楚GraphQL是什么,建议先看下官网对其介绍:https://graphql.org/ht...

2019-11-23 23:59:03

如何在Flutter项目中使用GraphQL

什么是GraphQL这篇文章主要是看一下如何在Flutter项目中使用GraphQL,如果不清楚GraphQL是什么,建议先看下官网对其介绍:https://graphql.org/https://www.howtographql.comGraphQL体验先介绍一个免费试用GraphQL语法的网站: https://countries.trevorblades.com/打开此链接,默认...

2019-11-23 22:53:56

More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'

今天在项目中引入了一个cache image的库 cached_network_image 1.1.3。可以引入之后,程序无法编译通过,提示:More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro解决方案很简单,在项目android目录app下的 bu...

2019-11-19 17:14:00

Flutter踩坑记录之setState

这篇文章主要受以下这篇文章的启发:How to refresh the content of a Dialog via setState?在上面链接中的这篇文章中,主要介绍了在Flutter中使用setState刷新Dialog的问题,并提供了一种解决方案。这篇文章大部分内容翻译自这个链接,另外除了坐着提出的方案之外,另外再介绍一种更简单实用的解决方案。学习到的内容:如何在Flutter...

2019-11-06 22:09:47

Flutter使用Stream更新Widget UI

通过之前的两节课,相信你应该已经掌握了Stream的使用。这节课我们来看下如何使用在Flutter中使用Stream来更新Widget UI。不过在这之前,我们可以先看下Flutter常规刷新界面的操作,通过对比我们能了解Stream的优势。setState当我们在Studio中创建一个Flutter项目时,Studio会默认给我们创建如下代码从图中红色框的指示可以看出,在 Floati...

2019-11-04 22:28:23

如何使用Dart的Stream(二)

上一节主要介绍了什么是 Stream,以及Stream的一些简单交互。

2019-10-28 21:31:00

如何使用Dart的Stream(一)

Stream 诞生2018年,谷歌推出了Dart中最重要的一个特性-- Stream。官方对其介绍是:Widgets + Streams = Reactive Flutter App简单来说就是,Stream被创建的初衷就是为了实现Flutter的响应式编程。Stream 简介Stream(流) 的作用与RxJava、RxJS,或者是Android中 Live Data 非常相似。...

2019-10-28 09:49:29

关于Dart List,你必须知道的几个方法

forEach()遍历List中的每一个元素List<int> list = [19, 20, 12];list.forEach((f) => print('$f is ${f > 18 ? 'bigger' : 'smaller'}' + ' than 18'));打印结果19 is bigger than 1820 is bigger than 1812...

2019-09-21 09:51:24

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。