可以提高千倍效率的 Java 代码小技巧 前言代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了 2019-10-11 学习笔记 Java 学习笔记 常用的 JVM 配置参数 -Xms:初始堆内存。只要启动,就占用的堆大小。 -Xmx:最大堆内存。如果遇到 OutOfMemoryError 可以调大该数值,最大不要超过系统 1/4。 -Xss:栈大小分配。栈是每个线程私有的区域,通常只有几百K大小,决定了函数调 2019-09-23 工具 IntelliJ IDEA Java 集合之 Vector 源码分析 Vector 和 ArrayList 有一些相似,其内部都是通过一个容量能够动态增长的数组来实现的。不同点是 Vector 是线程安全的,因为其内部有很多同步代码快来保证线程安全。 简介java.util.Vector 实现了 java.u 2019-09-14 Java Java Java 集合之 LinkedList 源码分析 LinkedList 是用链表结构存储数据的,比较适合数据的动态插入和删除,随机访问和遍历速度比较慢,还提供了 List 接口中没有定义的方法,专门用于操作表头和表尾的元素,所以可以当作堆栈、队列和双向队列来使用。 简介java.util. 2019-08-25 Java Java Java 集合之 ArrayList 源码分析 ArrayList 不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用 Collections.synchronizedList(List<T> list) 函数返回一个线程安全的 List 类,也可以使用 java. 2019-08-15 Java Java Java ConcurrentHashMap 的实现原理 在多线程环境下,使用 HashMap 进行 put 操作时存在丢失数据的情况,为了避免这种 bug 的隐患,强烈建议使用 ConcurrentHashMap 代替 HashMap。 HashTable 是一个线程安全的类,它使用 synch 2019-07-30 Java Java Android 中的 ANR 原理分析及解决办法 有过 Android 开发经历的人都不会对 ANR 陌生,它和崩溃一样是程序设计的问题。本文将以较为深入的视角来介绍什么是 ANR,出现场景,如何避免以及如何定位分析 ANR,希望可以帮助大家在编写程序时有所帮助。 ANR 简介ANR 是 2019-07-20 Android Android Java 中12个常见的语法糖 本文转载自:https://mp.weixin.qq.com/s/EBnM7QAOPjDk5bG3M0Mu-w 本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如 2019-07-08 Java Java Android Context 解析 一个 Context 意味着一个场景,一个场景就是用户和软件进行交互的一个过程。那么从安卓程序的角度来看,Context 是什么?其实一个 Activity 就是一个 Context,一个 Service 也是一个 Context。 Con 2019-07-05 Android Android 深入理解 Gradle 框架之二:依赖实现分析 本文转载自:https://mp.weixin.qq.com/s/WQCqUaYDPHDIjUHlxjRIkw 引言大家在日常开发中,见过最多的可能就是下面3种依赖声明: implementation “org.jetbrains.kot 2019-06-26 Gradle Gradle Plugin 深入理解 Gradle 框架之一:Plugin、Extension、buildSrc 本文转载自:https://mp.weixin.qq.com/s/mDCTtQZb6mhWOFAvLYKBSg 缘起从2018年下半年开始,因为工作需要,开始深入了解 Android Gradle plugin 和 Gradle 框架,在看 2019-06-21 Gradle Gradle Plugin Kotlin 为 Map 提供的默认值相关的扩展 本文转载自:https://mp.weixin.qq.com/s/iovPlEV9ZwEEv2Xj2KLIPw Map 的 Value 类型是一个可空类型,Kotlin 早就想好了怎么帮你优雅地面对它。 Map 是我们经常用到的集合框架 2019-06-12 Kotlin Kotlin