2019年10月10日
转自:https://www.jianshu.com/p/a4a1984fc4ff
解决方法:维护一个大小为 K 的小顶堆,依次将数据放入堆中,当堆的大小满了的时候,只需要将堆顶元素与下一个数比较:如果大于堆顶元素,则将当前的堆顶元素抛弃,并将该元素插入堆中。遍历完全部数据,Top K 的元素也自然都在堆里面了。
当然,如果是求前 K 个最小的数,只需要改...
阅读全文
2019年10月09日
在大部分开发者看来,Lambda 表达式只是一种语法糖,简化了书写匿名内部类的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic指令来实现Lambda表达式的,与内部类的实现有很大的差异。本文主要记录lambda的实现原理。
一、函数式接口众所周知Javascript具有一个强大的特性:闭包。Java中最接...
阅读全文
2019年09月08日
此刻子时,在朋友的推荐下看完了整部《百鸟朝凤》,看完之后我立马起身来打开电脑,心中思绪万千,准备写下来记录下来。自我观看了这么多电影以来,头一次是如此的触动,头一次留下来这样的眼泪,记得上一次很有感触还是因为《忠犬八公的故事》,那次泪水到了眼角,我忍住了,没有掉下来。这部电影实在是让我太感动了,我的泪水憋不下去了,源源不断地从眼眶里面流出来。我捂着自己的嘴巴...
阅读全文
2019年09月04日
大家在使用淘宝的时候,如下图所示有遇到这样的效果,其会只展示一部分骨架大致图,等数据加载完毕之后再展示真正的页面数据。与菊花图相比起来,这样的实现能更好的提升用户的体验,这种效果称做:Skeleton Screen Loading,中文叫做骨架屏,本文主要记录其实现过程。
1、骨架屏的实现方式
在现在主流的骨架屏实现效果中有两种方式:
通过View或者Ad...
阅读全文
2019年08月26日
插件化要解决的三个核心问题:类加载、资源加载、组件生命周期管理。
在Android插件化中其原理实际是 Java ClassLoader的原理,此博文主要对Android插件化中类加载中的DexClassLoader做总结,便于之后对Android插件化的理解学习。
Android的Dalvik虚拟机和Java虚拟机的运行原理相同都是将对应的java类加载在...
阅读全文
上一页 1 … 9 10 11 12 13 … 15 下一页