热衷技术,热爱生活的熊本同学!
能力说明:
精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明一、Kot对泛型能有很好的支持,下面的例子,是基于泛型搭建的一个Mvp,感兴趣的话,可以自己debug调试一下。 import com.
一、首先来看一个例子 import java.util.* /** * @author:wangdong * @description:型变 */ fun main(args: Array) { } /*...
一、首先来看看Maven项目怎么添加依赖 二、上图中红圈部分的pom.xml文件就是可以添加依赖的地方 例如这个……,一定要放到……里面 org.
一、什么是泛型 1.泛化的类型或者说是类型的抽象 2.鸭子类型在静态语言中的一种近似实现 二、泛型的实现机制 1.何为真泛型?(C#) 2.何为伪泛型?(Java,Kotlin) 三、首先来看一下JAVA和Kotlin中的伪泛性 但是如果在C#语言中,他就是真泛型了,它不仅仅存在于编译期,也存在于运行期,它是没有任何问题的。
一、框架介绍 1.Kotlin官方协程应用框架 2.提供大量对协程API的封装 二、主要模块 1.核心支持 2.Reactive支持 3.
一、基于Gradle可以构建很多项目,下面以Kotlin项目为例 package com.reflections import sun.
一、以SpringBoot来分析下,首先获取到源码 二、点击GitHub获取源码 三、下载源码 ~/SpringSpace ⌚ 11:24:24 $ ls emptydemo ...
一、使用Kotlin协程,写一个斐波拉契序列 package cn.kotliner.coroutine.sequence import kotlin.
一、什么是协程 1.协作程序,解决异步问题 2.应用层完成调度 二、协程要解决的问题 1.看下伪代码 现在开始我们要运行协程啦{ //现在我们在协程里面 //花括号内的代码可以是一段运行在UI线程的代码,比如Android初始化UI val 视图 = .
一、DSL的概念 只在特定领域内使用的语言 例如: —HTML、Gradle、SQL等等 特点: 计算机编程语言 具有语言的表达能力 有限的表达能力 关注某个特定的领域 二、下面用DSL来写一个例子吧 需要下面五个类: 三、创建一个Node节点的接口 package cn.
一、高阶函数是Kotlin的核心部分,下面来使用下高阶函数写一个程序 注意:我这里的File使用的是:与src同级的文件,你可以根据自己的需要,修改文件地址 代码实例 package net.
一、通过偏函数与柯里化函数的结合,来聊一聊偏函数到底是什么,怎么实现 看一个例子,main方法中就是偏函数的调用 package net.
一、首先看一个小例子,做个铺垫 package net.println.kotlin.chapter5.currying /** * @author:wangdong * @description:柯里化——函数...
一、函数复合的概念 f(g(x)) 二、看一些小例子 package net.println.kotlin.chapter5.
一、闭包 闭包目前非常火,因为闭包的出现,现在支持函数式编程就不再是梦想了。 二、什么是闭包 1.函数的运行环境 2.
一、尾递归优化 1.递归的一种特殊形式 2.调用自身后无其他的操作 3.tailrec关键字提示编译器尾递归优化 二、具体的来看看一下代码说明 package net.
一、Filter package net.println.kotlin.chapter5.builtins /** * @author:wangdong * @description:Kotlin常见的高阶函数 */ fun main(args: Array) { //求(0.
一、ForEach 类型于Java的传统的写法 package net.println.kotlin.chapter5.
一、高阶函数的基本概念 1.传入或者返回函数的函数(传入是函数,返回也是函数) 2.函数引用最常见的方式,”:: println” 3.
一、密封类非常简单 package net.println.kotlin.chapter4 import net.println.
一、写一个Kotlin的枚举 package net.println.kotlin.chapter4 /** * @author:wangdong * @description: */ enum class L...
一、内部类: 定义在类内部的类 与类成员有相似的访问控制 kotlin 默认是静态内部类,非静态用inner关键字 this@outter,this@inner的用法 二、匿名内部类 没有定义名字的内部类 类名编译时生产,类似Outter$1.
一、数据类 再见,Javabean 默认实现了copy、toString等方法 componentN方法 二、allOpen和noArg插件 build.
一、定义一个方法 val/var : by (代理者)表达式 代理者需要实现相应的setValue/getValue 方法 如果是val,只需要设置getValue方法 如果是var,则需要设置setValue/getValue 方法 二、看一个属性代理的例子吧 package net.
一、扩展成员 为现有的类添加方法、属性 扩展方法:fun X.y(): Z{} 扩展属性:val X.m 注意拓展属性不能初始化,类似于接口属性 二、下面来看一下例子 1.
一、在Java中List.remove方法有个bug 1.看第一个针对Object的 boolean remove(Object var1); 看一下API接口,在看一下实现类 实现类: /** ...
一、很多人分不清方法的重载和方法的覆写 覆写:override是重写父类已经存在的方法 重载:Overloads是写一个与已经存在的方法的方法名相同的方法,已经存在的这个方法可以是从父类继承的,也可以是当前类已经存在的。
一、解释 每个类可以对应一个伴生对象 伴生对象的成员全局独一份 伴生对象的成员类似于Java的静态成员 二、Java中 调用kotlin类的方法需要加上 @JvmStatic 调用kotlin类的成员变量需要加上 @JvmField 三、形如java.
一、object 只有一个实例的类 不能自定义构造方法 可以实现接口、继承父类 本质上就是单例模式最基本的实现 二、看一下例子 先看看kotlin中的单例 package net.
一、首先来看一个Kotlin和Java的比较 Kotlin Java 比较 private private ...
一、首先来看一个例子 package net.println.kotlin.chapter4 /** * @author:wangdong * @description:类实现接口的冲突问题 */ inter...
一、 1.继承 父类需要open才可以被继承 父类方法、属性需要open才可以被覆写 接口、接口方法、抽象类默认都是open 覆写父类(接口)成员需要override关键字 举例: 子类D需要继承A父类,实现B...
一、首先了解一下面向对象的基本概念 1.本质上就是解决如何用程序描述世界的问题 2.讨论如何把实际存在的东西映射成程序的类和对象 3.
一、在用Kotlin写完程序后,怎么导出使他成为可执行的程序。 首先需要添加两行代码 /**添加两行代码,指出导出的是程序*/ apply plugin: 'application' //尽管包名为Counter.
一、下面我们就来开发一个基于命令行的计算器 新建一个counter.kt文件 package net.println.kotlin.
一、这个问题其实很简单,就用以下几个例子讲解以下 package net.println.kotlin.chapters /** * @author:wangdong * @description:参数的讲解 ...
一、Try…Catch 捕获分支异常的匹配类型 表达式,可以用来赋值 package net.println.kotlin.
一、首先来看一下for的例子 package net.println.kotlin.chapters /** * @author:wangdong * @description:for循环 */ fun ma...
1、中缀表达式 只有一个参数,且用infix修饰的函数 例如: //书 class Book{ //infix 自定义运算符的中缀表达式。
一、在程序结构运算符主要有+-*/%^? 任何类都可以定义或者重载父类的基本运算符 通过运算符对应的具名函数来定义 对参数个数作要求,对参数和返回值类型不作要求 不能像Scala一样定义任意的运算符 二、来写一些实例 package net.
一、首先看一个简单类和方法的实现 package net.println.kotlin.chapters /** * @author:wangdong * @description: */ /**定义一个女生类...
一、什么是Lambda表达式 就是匿名函数 写法:{[参数列表] -> [函数体,最后一行是返回值]} **举例:**val sum = {a: Int, b: Int -> a+b} 二、Lambda 的类型 ()-...
一、main函数 fun main(args: Array) { //想再给它赋值,编译器说它是不能再改变的 //FINAL_HELLO_WORLD = "你好世界" println(FINAL...
一、首先看一个例子 二、val和var的分析 package net.println.kotlin.chapters /** * @author:wangdong * @description: */ /...
一、首先来看一下有哪些数组 用Idea连按shift键两次,搜索array,找到kotlin的Array.kt文件,查看jar包的地址 使用idea左边的Z:structure窗即可看到源码位置 可以看到有ByteArray、CharArray、FloatArray…… 二、例举 package net.
一、概念 一个数学上的概念、表示范围 ClosedRange 的子类,IntRange最常用 二、基本的写法 package net.
一、首先看一下Java中关于空指针的问题处理 /** * @author:wangdong * @description: 先看一下java的空类型问题 */ public class NullUnSafe { ...
首先肯定得先了解一下类和对象 类:是一个抽象的概念,是具有某些特征的事物的概括,不特定指代任何一个具体的事物 具体:抽象的人、车 对象:是一个具体的概念、与类相对,描述某一种类的具体个体 举例:某些人、领导的车、你手中...
一、不可隐式转换 在Java中从小到大,可以隐式转换,数据类型将自动提升。下面以int为例 这么写是ok的 int a = 2312; long b = a; 那么在Kotlin中 //隐式转换,编译器会报...
蛮多人很疑惑,在Kotlin中,数据类型的装箱和拆箱怎么整 一、先看下Java中的装箱和拆箱 例如: /** * @author:wangdong * @description: */ public class ...