我的梦想
不是每个人都应该像我这样去建造一座水晶大教堂,但是每个人都应该拥有自己的梦想,设计自己的梦想,追求自己的梦想,实现自己的梦想。梦想是生命的灵魂,是心灵的灯塔,是引导人走向成功的信仰。有了崇高的梦想,只要矢志不渝地追求,梦想就会成为现实,奋斗就会变成壮举,生命就会创造奇迹。——罗伯·舒乐
  推荐文章
Android

Android中ANR分析以及出现场景

ANR分析以及出现场景ANR全称Application Not Response, 应用程序无响应。当应用5s内对用户的输入或点击事件无响应时,Android便认为应用无

阅读更多
Android

Android中卡顿分析和优化

卡顿分析和优化我们都知道手机目前最合适的显示60fps, 也就是每秒刷新60帧,这也是也是绝大部分Android设备设置的调试频率。那么绘制

阅读更多
Android

Android性能优化相关面试题

Android性能优化相关面试题1、要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用

阅读更多
Android

Android中BlockCanary原理分析

BlockCanary原理分析一、背景在Android开发中,经常会遇到应用程序卡顿的情况,对于卡顿问题的出现,有时候很难去复现和定位。卡顿可能和当时手机的ROM,系统环

阅读更多
Dart

Dart语法篇之函数的使用(四)

简述: 在上一篇文章中我们详细地研究了一下集合有关内容,包括集合的操作符的使用甚至我们还深入到源码实现原理,从原理上掌握集合的使用。那么这

阅读更多
Dart

Dart语法篇之基础语法(一)

简述: 又是一段新的开始,Dart这门语言相信很多人都是通过Flutter这个框架才了解的,因为Flutter相比Dart更被我们所熟知。

阅读更多
Dart

Dart语法篇之类型系统与泛型(七)

简述: 下面开始Dart语法篇的第七篇类型系统和泛型,上一篇我们用了一篇Dart中可空和非空类型译文做了铺垫。实际上,Dart中的类型系统是不够严格,这当然和它的历史原因

阅读更多
Kotlin

Dart语法篇之集合操作符函数与源码分析(三)

简述: 在上一篇文章中,我们全面地分析了常用集合的使用以及集合部分源码的分析。那么这一节讲点更实用的内容,绝对可以提高你的Flutter开

阅读更多
Dart

Dart语法篇之集合的使用与源码解析(二)

简述: 我们将继续Dart语法的第二篇集合,虽然集合在第一篇中已经介绍的差不多,但是在这篇文章中将会更加全面介绍有关Dart中的集合,因为之

阅读更多
Dart

Dart语法篇之面向对象继承和Mixins(六)

简述: 上一篇文章中我们详细地介绍了Dart中的面向对象的基础,这一篇文章中我们继续探索Dart中面向对象的重点和难点(继承和mixins). mixins(混合)特性

阅读更多
Kotlin

Effective Kotlin系列之考虑使用静态工厂方法替代构造器(一)

翻译说明: 原标题: Effective Java in Kotlin, item 1: Consider static factory m

阅读更多
Kotlin

Effective Kotlin系列之遇到多个构造器参数要考虑使用Builder(二)

翻译说明: 原标题: Effective Java in Kotlin, item 2: Consider a builder when f

阅读更多
Kotlin

Effective Kotlin系列之探索高阶函数中inline修饰符(三)

简述: 不知道是否有小伙伴还记得我们之前的Effective Kotlin翻译系列,之前一直忙于赶时髦研究Kotlin 1.3中的新特性。把此系列耽搁了,赶完时髦了还是得

阅读更多
Kotlin

Effective Kotlin系列之使用Sequence来优化集合的操作(四)

简述: 今天迎来了Effective Kotlin系列的第四篇文章: 使用Sequence序列来优化大集合的频繁操作.关于Sequence这

阅读更多
Kotlin

Effective Kotlin系列之考虑使用原始类型的数组优化性能(五)

翻译说明: 原标题: Effective Kotlin: Consider Arrays with primitives for perfo

阅读更多
Android

Glide源码分析之生命周期绑定(一)

Glide源码分析之生命周期绑定(一)一、几大主流图片加载框架对比1、Glide 1、多种图片格式的缓存,适用于更多的内容表现形式(如Gif、WebP、缩略图、Vide

阅读更多
面试

JVM面试题

JVM相关1、内存模型以及分区,需要详细到每个区放什么? JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面, cl

阅读更多
数据结构与算法

二分查找

二分查找一、时间复杂度最坏时间复杂度 O(log n) 最优时间复杂度 O(1) 平均时间复杂度 O(log n) 二、基本思想在一个有序的

阅读更多
面试

Kotlin面试题

Kotlin题目整理1、Kotlin中的var和val区别 1、var(来自于variable)可变引用。并且被它修饰的变量的值是可以改变,具有可读和可写权限,相当于J

阅读更多
面试

Android和Java多线程面试题

Android、Java多线程面试题1、run()和start()方法区别 这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的

阅读更多
Kotlin

探索Kotlin中隐藏的性能开销-Part 1

翻译说明: 原标题: Exploring Kotlin’s hidden costs — Part 1 原文地址: https://medi

阅读更多
Kotlin

探索Kotlin中隐藏的性能开销-Part 2

翻译说明: 原标题: Exploring Kotlin’s hidden costs — Part 2 原文地址: https://medium.com/@BladeCo

阅读更多
Kotlin

探索Kotlin中隐藏的性能开销-Part 3

翻译说明: 原标题# Exploring Kotlin’s hidden costs — Part 3 原文地址: https://medi

阅读更多
数据结构与算法

树与二叉树

树与二叉树一、树的基本概念1、树的定义树是数据元素之间具有层次关系的非线性结构,定义树的一种自然方式就是递归的方式。一棵树是由一些结点组成的

阅读更多
面试

计算机网络面试题

计算机网络相关面试题1、网络分层 OSI七层模型OSI七层协议模型主要是: 应用层(Application) 表示层(Presentation) 会话层(Session)

阅读更多
数据结构与算法

链表

链表一、链表的定义链表是一种递归的数据结构,是一种线性结构,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Poin

阅读更多
面试

剑指Offer

剑指Offer1、二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增

阅读更多
剑指Offer 剑指Offer
剑指Offer1、二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解题思路
2019-12-16
Glide源码分析之生命周期绑定(一) Glide源码分析之生命周期绑定(一)
Glide源码分析之生命周期绑定(一)一、几大主流图片加载框架对比1、Glide 1、多种图片格式的缓存,适用于更多的内容表现形式(如Gif、WebP、缩略图、Video) 2、生命周期集成(根据Activity或者Fragment的生命
2019-12-14
计算机网络面试题 计算机网络面试题
计算机网络相关面试题1、网络分层 OSI七层模型OSI七层协议模型主要是: 应用层(Application) 表示层(Presentation) 会话层(Session) 传输层(Transport) 网络层(Network) 数据链路层(
2019-12-10
Android性能优化相关面试题 Android性能优化相关面试题
Android性能优化相关面试题1、要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hierarchyview工具查看优化。 ②复用convertView ③使用ViewHolder
2019-12-09
Android中BlockCanary原理分析 Android中BlockCanary原理分析
BlockCanary原理分析一、背景在Android开发中,经常会遇到应用程序卡顿的情况,对于卡顿问题的出现,有时候很难去复现和定位。卡顿可能和当时手机的ROM,系统环境有关,dump相关日志分析往往画了很多时间。然后BlockCanar
2019-12-03
JVM面试题 JVM面试题
JVM相关1、内存模型以及分区,需要详细到每个区放什么? JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面, class 类信息常量池(static 常量和 static 变量)等放在方法区new: 方法区:主要
2019-12-03
Android和Java多线程面试题 Android和Java多线程面试题
Android、Java多线程面试题1、run()和start()方法区别 这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的理解程度。start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和
2019-12-03
Dart语法篇之类型系统与泛型(七) Dart语法篇之类型系统与泛型(七)
简述: 下面开始Dart语法篇的第七篇类型系统和泛型,上一篇我们用了一篇Dart中可空和非空类型译文做了铺垫。实际上,Dart中的类型系统是不够严格,这当然和它的历史原因有关。在dart最开始诞生之初,它的定位是一门像javascript一
2019-11-25
Dart语法篇之面向对象继承和Mixins(六) Dart语法篇之面向对象继承和Mixins(六)
简述: 上一篇文章中我们详细地介绍了Dart中的面向对象的基础,这一篇文章中我们继续探索Dart中面向对象的重点和难点(继承和mixins). mixins(混合)特性是很多语言中都是没有的。这篇文章主要涉及到Dart中的普通继承、mix
2019-11-15
Dart语法篇之函数的使用(四) Dart语法篇之函数的使用(四)
简述: 在上一篇文章中我们详细地研究了一下集合有关内容,包括集合的操作符的使用甚至我们还深入到源码实现原理,从原理上掌握集合的使用。那么这篇文章来研究一下Dart的另一个重要语法: 函数。 这篇主要会涉及到: 函数命名参数、可选参数、参数
2019-11-08
1 / 4