参考资料和站点

http://kotlinlang.org/ 官方网站

https://github.com/JetBrains/kotlin/releases/tag/v1.0.6 下载compiler,如果IDEA已经安装了,不需要安装即可直接使用

http://kotlinlang.org/docs/reference/

http://kotlinlang.org/docs/kotlin-docs.pdf 这个参考很全面

http://kotlinlang.org/api/latest/jvm/stdlib/index.html 标准库

http://kotlinlang.org/docs/reference/idioms.html 惯用法

https://github.com/Kotlin/kotlin-koans 例子练习

https://blog.jetbrains.com/kotlin 官方blog

https://blog.jetbrains.com/kotlin/category/releases/ 发布历史

https://github.com/JetBrains/kotlin-examples 例子

https://github.com/JetBrains/kotlin-benchmarks 和JAVA的性能比较

http://www.println.net/ 国内的短视频

Kotlin Benchmarks

https://github.com/JetBrains/kotlin-benchmarks

报告结果拷贝到本机的IIS上,并能够获取Google等Javascript CDN,才可看到报告【这里有个很好的性能测试工具使用参考JMH org.openjdk.jmh】

Comparison with Baseline

For multicolumn search separate subqueries with semicolon: "IntListBenchmark;manual;1000"

Difference is current score minus baseline score. Positive values are regressions, negative are gains.

Switch to comparison with Java

Search:

Benchmark ▲

Size ▲

Average Time

Unit

Error

Difference

% Difference

ClassArrayBenchmark.copy

10

0.05

us/op

± 2.60% (0.00)

   

ClassArrayBenchmark.copy

1000

5.92

us/op

± 0.53% (0.03)

-0.26

-4.23%

ClassArrayBenchmark.copy

100000

634.74

us/op

± 7.90% (50.16)

   

ClassArrayBenchmark.copyManual

10

0.06

us/op

± 2.92% (0.00)

   

ClassArrayBenchmark.copyManual

1000

8.03

us/op

± 1.82% (0.15)

+0.16

+2.06%

ClassArrayBenchmark.copyManual

100000

802.06

us/op

± 0.71% (5.70)

   

ClassArrayBenchmark.countFiltered

10

0.40

us/op

± 1.12% (0.00)

   

ClassArrayBenchmark.countFiltered

1000

46.94

us/op

± 3.07% (1.44)

   

ClassArrayBenchmark.countFiltered

100000

5670.62

us/op

± 3.57% (202.40)

   

ClassArrayBenchmark.countFilteredLocal

10

0.39

us/op

± 0.84% (0.00)

-0.01

-2.21%

ClassArrayBenchmark.countFilteredLocal

1000

46.44

us/op

± 1.99% (0.92)

   

ClassArrayBenchmark.countFilteredLocal

100000

5599.66

us/op

± 1.20% (67.01)

-125.05

-2.18%

ClassArrayBenchmark.countFilteredManual

10

0.39

us/op

± 1.93% (0.01)

   

ClassArrayBenchmark.countFilteredManual

1000

46.28

us/op

± 1.07% (0.50)

   

ClassArrayBenchmark.countFilteredManual

100000

5638.10

us/op

± 1.20% (67.56)

   

Kotlin Compiler

Jetbrains Idea下的默认kotlin安装

独立的compiler包下载解压的结果

E:\tool\kotlin\kotlinc 的目录

[.]         [..]        [bin]       build.txt   [lib]       [license]

1 个文件              5 字节

E:\tool\kotlin\kotlinc\bin 的目录

[.]               [..]              kotlin            kotlin.bat        kotlinc           kotlinc-js        kotlinc-js.bat    kotlinc-jvm

kotlinc-jvm.bat   kotlinc.bat

8 个文件          7,900 字节

E:\tool\kotlin\kotlinc\lib 的目录

[.]                                [..]                               allopen-compiler-plugin.jar        android-extensions-compiler.jar

kotlin-annotation-processing.jar   kotlin-ant.jar                     kotlin-build-common-test.jar       kotlin-build-common.jar

kotlin-compiler.jar                kotlin-daemon-client.jar           kotlin-jslib-sources.jar           kotlin-jslib.jar

kotlin-preloader.jar               kotlin-reflect.jar                 kotlin-runner.jar                  kotlin-runtime-sources.jar

kotlin-runtime.jar                 kotlin-test.jar                    noarg-compiler-plugin.jar

17 个文件     25,843,381 字节

E:\tool\kotlin\kotlinc\license 的目录

[.]           [..]          LICENSE.txt   NOTICE.txt    [third_party]

2 个文件          1,083 字节

E:\tool\kotlin\kotlinc\license\third_party 的目录

[.]                            [..]                           args4j_LICENSE.txt             asm_license.txt                closure-compiler_LICENSE.txt

dart_LICENSE.txt               jshashtable_license.txt        json_LICENSE.txt               maven_LICENSE.txt              pcollections_LICENSE.txt

prototype_license.txt          rhino_LICENSE.txt

10 个文件         78,237 字节

2者是一样的,因此如果安装了idea的话,kotlin的环境默认就是可用的

if "%_KOTLIN_COMPILER%"=="" set _KOTLIN_COMPILER=org.jetbrains.kotlin.cli.jvm.K2JVMCompiler

if not "%JAVA_HOME%"=="" (

if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"

)

if "%_JAVACMD%"=="" set _JAVACMD=java

rem We use the value of the JAVA_OPTS environment variable if defined

set _JAVA_OPTS=-Xmx256M -Xms32M

if not "%_KOTLIN_RUNNER%"=="" (

"%_JAVACMD%" %_JAVA_OPTS% "-Dkotlin.home=%_KOTLIN_HOME%" -cp "%_KOTLIN_HOME%\lib\kotlin-runner.jar" ^

org.jetbrains.kotlin.runner.Main %*

) else (

"%_JAVACMD%" %_JAVA_OPTS% -noverify -cp "%_KOTLIN_HOME%\lib\kotlin-preloader.jar" ^

org.jetbrains.kotlin.preloading.Preloader -cp "%_KOTLIN_HOME%\lib\kotlin-compiler.jar" ^

%_KOTLIN_COMPILER% %*

)

直接从命令行运行kotlin,最终的结果是转换成JAVA字节码的

kotlinc HelloWorld.kt -include-runtime -d HelloWorld.jar

$ java -jar HelloWorld.jar

kotlinc HelloWorld.kt -d HelloWorld.jar

java -cp $KOTLIN_HOME/lib/kotlin-runtime.jar:HelloWorld.jar HelloWorldKt

脚本方式执行

$ kotlinc-jvm -cp joda-time-2.9.4/joda-time-2.9.4.jar
Welcome to Kotlin version 1.1-M04 (JRE 1.8.0_66-internal-b17)
Type :help for help, :quit for quit
>>> import org.joda.time.DateTime
>>> DateTime.now()

kotlin-docs

http://kotlinlang.org/docs/kotlin-docs.pdf 152页,这个参考比较全

Kotlin For Android

《Kotlin for android Developers》 中文翻译 关于在android下的开发,使用kotlin可以大幅度的简化代码的编写

Kotlin的参考资料的更多相关文章

  1. 用Kotlin语言重新编写Plaid APP:经验教训(II)

    原文标题:Converting Plaid to Kotlin: Lessons learned (Part 2) 原文链接:http://antonioleiva.com/plaid-kotlin- ...

  2. Kotlin(一)

    Kotlin(一) 写在前面: 参考资料: <Kotlin官方文档><Kotlin for Android 开源中文版> 准备工作: Android-Studio2.x:添加K ...

  3. Kotlin 语言下设计模式的不同实现

    偶然在 Github 上看到 dbacinski 写的 Kotlin 语言下设计模式的不同实现(这里的不同是相对于 Java 语言的),有些实现非常好,但是有些实现的例子不是很赞同.所以自己写了 Ko ...

  4. Kotlin学习入门笔记

    参考资料 官网:https://kotlinlang.org/ 官方文档:https://kotlinlang.org/docs/reference/ Kotlin 源码:https://github ...

  5. 【从零开始撸一个App】Kotlin

    工欲善其事必先利其器.像我们从零开始撸一个App的话,选择最合适的语言是首要任务.如果你跟我一样对Java蹒跚的步态和僵硬的语法颇感无奈,那么Kotlin在很大程度上不会令你失望.虽然为了符合JVM规 ...

  6. 深入分析 Java、Kotlin、Go 的线程和协程

    前言 协程是什么 协程的好处 进程 进程是什么 进程组成 进程特征 线程 线程是什么 线程组成 任务调度 进程与线程的区别 线程的实现模型 一对一模型 多对一模型 多对多模型 线程的"并发& ...

  7. Android Kotlin Jetpack Compose UI框架 完全解析

    前言 Q1的时候公司列了个培训计划,部分人作为讲师要上报培训课题.那时候刚从好几个Android项目里抽离出来,正好看到Jetpack发布了新玩意儿--Compose,我被它的快速实时打包给吸引住了, ...

  8. Kotlin协程解析系列(上):协程调度与挂起

    vivo 互联网客户端团队- Ruan Wen 本文是Kotlin协程解析系列文章的开篇,主要介绍Kotlin协程的创建.协程调度与协程挂起相关的内容 一.协程引入 Kotlin 中引入 Corout ...

  9. ViewBinding 与 Kotlin 委托双剑合璧

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭 ...

随机推荐

  1. Unity 5 使用Roslyn编译器支持C# 7

    Unity 2017可选使用新的Mono编译器,支持.NET 4.6和C# 6,解决bug的同时,代码优化更佳. Unity 5可以使用社区开源方案:https://bitbucket.org/ale ...

  2. Kaazing Gateway简单使用

    Kaazing GateWay是一种提供跨平台跨浏览器WebSocket支持的网关,由Java编写,介绍一下Kaazing GateWay的安装配置和简单使用,哪里说得不对,还请指出. 1. 安装 a ...

  3. Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)

    一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账 ...

  4. 另类SQL拼接方法

    在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的地方就是不能对SQL进行参数化处理.下面介绍一种就算基于String +的方式也可以进行SQL参数 ...

  5. .Net程序员学用Oracle系列(14):子查询、集合查询

    1.子查询 1.1.子查询简介 1.2.WITH 子查询 2.集合查询 2.1.UNION 和 UNION ALL 2.2.MINUS 2.3.INTERSECT 2.4.集合运算与 ORDER BY ...

  6. python 时间模块time,datetime

    模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默认情况下提供的还远远不能满足编程实践 ...

  7. 微信分享JS-SDK

    微信JS-SDK,提供给开发者的基于微信内的网页开发工具包 使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微 ...

  8. Spring Cloud Stream如何处理消息重复消费?

    最近收到好几个类似的问题:使用Spring Cloud Stream操作RabbitMQ或Kafka的时候,出现消息重复消费的问题.通过沟通与排查下来主要还是用户对消费组的认识不够.其实,在之前的博文 ...

  9. YARN集群的mapreduce测试(二)

    只有mapTask任务没有reduceTask的情况: 测试准备: 首先同步时间,然后 开启hdfs集群,开启yarn集群:在本地"/home/hadoop/test/"目录创建u ...

  10. SQLite与FMDB使用中区别

    前几篇已经写完了SQLite与FMDB的基本内容以及衍生出来的知识点,我们这一篇主要讲述FMDB与SQLite在基本使用中的区别,大约需要5-10分钟时间讲述内容,欢迎大家指正. 基本使用区别 1.数 ...