一款快速生成安卓shape的插件--NoCodeShape

NoCodeShape 是一个能可视化界面操作生成Android中Shape.xml的Android Studio插件。对于新手能更好的去接受Android中相对应的属性,对于资深程序员则能简化操作,快速生成shape.xml。项目已经开源 NoCodeShape

阅读全文

Java中的Reference解析

Java执行GC判断对象是否存活有两种方式其中一种是引用计数

引用计数:Java堆中每一个对象都有一个引用计数属性,引用每新增1次计数加1,引用每释放1次计数减1。

在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于(reachable)可达状态,程序才能使用它。

阅读全文

(转)算法之优先队列 PriorityQueue解决Top K 问题

转自:https://www.jianshu.com/p/a4a1984fc4ff

解决方法:
维护一个大小为 K 的小顶堆,依次将数据放入堆中,当堆的大小满了的时候,只需要将堆顶元素与下一个数比较:如果大于堆顶元素,则将当前的堆顶元素抛弃,并将该元素插入堆中。遍历完全部数据,Top K 的元素也自然都在堆里面了。

阅读全文

Java中Lambda表达式解析

在大部分开发者看来,Lambda 表达式只是一种语法糖,简化了书写匿名内部类的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic指令来实现Lambda表达式的,与内部类的实现有很大的差异。本文主要记录lambda的实现原理。

一、函数式接口

众所周知Javascript具有一个强大的特性:闭包。Java中最接近闭包概念的东西就是lambda表达式了,而Lambda为Java添加了缺失函数式编程的特点。所以什么是函数是接口呢?

阅读全文

观《百鸟朝凤》有感

此刻子时,在朋友的推荐下看完了整部《百鸟朝凤》,看完之后我立马起身来打开电脑,心中思绪万千,准备写下来记录下来。自我观看了这么多电影以来,头一次是如此的触动,头一次留下来这样的眼泪,记得上一次很有感触还是因为《忠犬八公的故事》,那次泪水到了眼角,我忍住了,没有掉下来。这部电影实在是让我太感动了,我的泪水憋不下去了,源源不断地从眼眶里面流出来。我捂着自己的嘴巴,我怕自己嚎啕大哭起来,不停地抽泣。对一代匠人的崇敬之情,当然也让我想起来那个人……

阅读全文