在实际的项目开发中,集合的运用可以说是多不胜数.不过Kotlin中的集合运用和Java中还是有很大的差别,他们两者之间,除了集合的类型相同以外,还包含集合的初始化的不同,以及Kotlin对于集合封装特别多的高阶函数以供我们能更简单.更快捷的编写代码.不过在讲解集合之前,我先会对Kotlin中的数组类型做出一个讲解,大家可以当做是对数组Array<T>的一个温故. 目录 一.数组类型 在Kotlin数组类型不是集合中的一种,但是它又和集合有着太多相似的地方.并且数组和集合可以互换.并且在初始化集…
在上一篇文章Kotlin--高级篇(四):集合(Array.List.Set.Map)基础中讲解到了数组Array<T>.集合(List.Set.Map)的定义与初始化.但是由于篇幅的原因,未讲解到操作他们的常用高阶函数.故而今天这篇文章详细的讲解这些函数.对他们的作用进行剖.并实例讲解他们的应用场景.当看完这篇文章,我相信你能对集合使用的得心应手. 目录 一.转换类 在上一篇文章中讲解数组(Array<T>)的与集合的时候也提到了关于集合转换的高阶函数.下面用源码的角度去分析并用…
在上面一个章节中,详细的讲解了Kotlin中关于Lambda表达式的语法以及运用,如果还您对其还不甚理解,请参见Kotlin--高级篇(一):Lambda表达式详解.在这篇文章中,多次提到了Kotlin中关于高阶函数的内容,故而在这一篇文章中会详解的对Kotlin高阶函数的方方面面. 目录 一.高阶函数介绍 在介绍高阶函数之前,或许您先应该了解Kotlin中,基础函数的使用与定义.您可以参见Kotlin--初级篇(七):函数(方法)基础使用这边文章的用法. 在Kotlin中,高阶函数即指:将函数…
本文转自https://zhuanlan.zhihu.com/p/25539690 JVM GC(垃圾回收机制) 在学习Java GC 之前,我们需要记住一个单词:stop-the-world .它会在任何一种GC算法中发生.stop-the-world 意味着JVM因为需要执行GC而停止了应用程序的执行.当stop-the-world 发生时,除GC所需的线程外,所有的线程都进入等待状态,直到GC任务完成.GC优化很多时候就是减少stop-the-world 的发生. JVM GC回收哪个区域…
本章主要讲并发线程的常见的两种锁.重入锁和读写锁 一:重入锁(ReentrantLock) 概念:重入锁,在需要进行同步的代码加锁,但最后一定不要忘记释放锁,否则会造成锁永远不能释放,其他线程进不了 代码解析: 1 实例化:Lock lock = new ReentrantLock(); 2 3 锁定:lock .lock(); 4 5 释放锁:lock.unlock(); 代码: 1 private Lock lock = new ReentrantLock(); 2 3 public voi…
如果您对Kotlin很有兴趣,或者很想学好这门语言,可以关注我的掘金,或者进入我的QQ群大家一起学习.进步. 欢迎各位大佬进群共同研究.探索 QQ群号:497071402 进入正题 经过前面一系列对Kotlin讲解,相信大家已经能对Kotlin有了一个基本的认识.如果你又Java语言方面的编程经验,你可能已经不满足前面的基础语法了.从这篇文章起,就为大家讲解Kotlin语言中的高级操作. Lambda语法在Java中已经被广泛的运用,我们在开发Android中几乎上每一个项目也会在项目中接入La…
在前面的章节中,详细的为大家讲解到了Kotlin中对类的类的定义.使用.初始化.初始化.类继承等内容,但是在一个类中,几乎上是不可能不出现属性与字段(field)的,这一篇文章就为大家奉上Kotlin中属性与字段的定义.使用及高级操作等.如果您目前对Kotlin中的类没有一个认知的话,请参见Kotlin--中级篇(一):类(class)详解. 目录 一.属性的基础使用 一个类中是可以存在属性的,一个属性可以用val或者var修饰. 用val修饰符修饰的属性是只读的,即不能被修改,只可使用 用va…
标题说是高级篇,其实也就是相对于基础篇来说的,也不是很深奥,自己平时工作中也都会用到,这里回忆的并不是特别冷门的知识,不要掉以轻心,以为“高级”就觉得工作中不会用到了. 一.select into 和 insert into select 两种表复制语句 create table <new table> as select * from <exists table>,要求目标表不存在. insert into table2(f1,f2,...) select v1,v2,....…
前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日期竟是现在,2个半月了,哎,也是酝酿够久的了! 期间,很多园友一直在催我更新,都是在期待我的这个ABP高级系列,在这里,抱歉地说一声,让你们久等了,本人因为种种事情耽误了很长时间,所以从今天起,正式开始更新ABP理论高级系列教程. 在学习这个高级系列之前,希望你已经学习了ABP理论基础篇,以及最好已…
在前面 的章节中讲解了Kotlin语言中的数据类型.变量与常量的定义.不了解请参见前面的内容: Kotlin--初级篇(三):数据类型详解. Kotlin--初级篇(二)常量.变量.注释. 下面详细为大家讲解Kotlin中的控制语句使用.不得不说其和Java中还是有很多不一样的地方. 目录 一.if语句 在Kotlin中的if语句和Java还是还是有一定的区别的,它能在Java中更灵活,除了能实现Java写法外,还可以实现表达式(实现三元运算符),及作为一个块的运用. 1.传统写法(同Java写…