参考资料和站点

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. Vue-router导航问题

    现在的项目,用的是Vue,但当时用的时候,是边学边做的,上手确实比较简单,但是已经用Vue写了一个项目了,但是感觉对Vue的还是不是很深刻,用的都是比较简单的API, 现在回头看看,有些东西,非常的精 ...

  2. logstash收集syslog日志

    logstash收集syslog日志注意:生产用syslog收集日志!!! 编写logstash配置文件 #首先我用rubydebug测试数据 [root@elk-node1 conf.d]# cat ...

  3. mysql 开发基础系列20 事务控制和锁定语句(上)

    一.概述 在mysql 里不同存储引擎有不同的锁,默认情况下,表锁和行锁都是自动获得的,不需要额外的命令, 有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务的完整性.这样就需要使 ...

  4. selenium之 玩转鼠标键盘操作(ActionChains)

    用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件——ActionChains sele ...

  5. 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件项目的托管平台:https://github.com/zlslch/)(图文详解)(博主推荐)

    不多说,直接上干货! https://github.com/ 欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑       同时,大家可以关注我的个人博客:    http ...

  6. 利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

    前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实战>.其实园内这方面文章已有不少,那么为什么我还要重复造轮子呢?我只是想记录自己的实践 ...

  7. 跨域 webpack + vue-cil 中 proxyTable 处理跨域

    博客地址:https://ainyi.com/27 跨域 了解同源政策:所谓"同源"指的是"三个相同". 协议相同 域名相同 端口相同 解决跨域 jsonp 缺 ...

  8. tomcat和jdk版本兼容(Tomcat版本要比jdk高)

    用的tomcat是低版本的,但是用的jdk却是高版本的,用Servlet做的项目运行都没有问题,但是直接运行jsp却死活都运行失败. 最后发现是tomcat和jdk的版本问题造成的. 总结如下: to ...

  9. 编译部署mysql5.7.13

    署环境centos7.2+mysql5.7.131.依赖包注: 相关依赖包的作用cmake:由于从 MySQL5.5 版本开始弃用了常规的 configure 编译方法,所以需要 CMake 编译器, ...

  10. C#中struct和class的区别详解

    本文详细分析了C#中struct和class的区别,对于C#初学者来说是有必要加以了解并掌握的. 简单来说,struct是值类型,创建一个struct类型的实例被分配在栈上.class是引用类型,创建 ...