参考资料和站点

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. Kubernetes 基于 Metrics Server 与 HPA 的使用

    在 Kubernetes 中可以手动通过 kubectl scale 命令或通过修改 replicas 数量,可以实现 Pod 的扩容或缩容.Kubernetes 中还提供了 HPA(Horizont ...

  2. 使用.NET Hardware Intrinsics API加速机器学习场景

    ML.NET 0.6版本刚刚发布不久,我们知道ML.NET代码已经依赖于使用本机代码库的性能矢量化.这是一个重新实现托管代码中现有代码库的机会,使用.NET Hardware Intrinsics进行 ...

  3. python中执行该文件,就调用 mian 方法

    代码: test.py import student def main(): st = student.student(1001, 'tommy', 18) st.sing() st.dance() ...

  4. 【原创】NVIC中断

    (1)NVIC     全称为Next Vector Interrupt Controoler,嵌套中断向量控制器,是ARM Cortex M3的内部设备之一,任何一款基于ARM Cortex M3的 ...

  5. 一文带你看懂cookie,面试前端不用愁

    本文由云+社区发表 在前端面试中,有一个必问的问题:请你谈谈cookie和localStorage有什么区别啊? localStorage是H5中的一种浏览器本地存储方式,而实际上,cookie本身并 ...

  6. k8s网络之calico

    一.概述 前面我们部署calico由于集群规模不是很大,使用的是calico的bgp模式的node-to-node-mesh全节点互联,这种模式在小规模集群里面还可以用,3.4.0版本的calico支 ...

  7. es6入门4--promise详解

    可以说每个前端开发者都无法避免解决异步问题,尤其是当处理了某个异步调用A后,又要紧接着处理其它逻辑,而最直观的做法就是通过回调函数(当然事件派发也可以)处理,比如: 请求A(function (请求响 ...

  8. 利用redis实现分布式锁

    分布式锁一般有三种实现方式: 1. 数据库乐观锁: 2. 基于ZooKeeper的分布式锁: 3. 基于Redis的分布式锁: 这里大概说一下三种方式的优缺点,数据库乐观锁优点是实现简单,只需要for ...

  9. UnicodeDecodeError: 'ascii' codec can't decode byte

    这个问题遇到过很多次了,但是每次都没记住,用完就忘了,这次记录下. 通过关键词谷歌一下: 解决方案: # encoding=utf8 import sys reload(sys) sys.setdef ...

  10. Perl的命令行参数和ARGV

    程序名:$0 $0表示当前正在运行的Perl脚本名.有3种情况: 如果执行方式为perl x.pl,则$0的值为x.pl而非perl命令本身 如果执行方式为./x.pl,则$0的值为./x.pl 如果 ...