Android---Kotlin 学习001

Kotlin 的诞生

2011年,JetBrains 宣布开发 Kotlin 编程语言,这门新语言可以用来编写在 Java 虚拟机上运行的代码,是 Java 和 Scale 语言之外的又一选择。2017年,Google 在赢得与  Oracle 的诉讼一年后,Google 宣布 Kotlin 正式获得官方支持,可用于 Android 应用开发。Kotlin 的应用范围迅速扩展,它从一门前途光明的编程语言摇身一变,成了这个世界上最重要的移动操作系统的钦定开发语言。Kotlin 语法简洁,具备现代高级语言特性,并且能和 Java 遗留代码无缝互操作。因为具备这些优势,今天又来越多的公司使用它开发。

Kotlin 与 JVM

Kotlin 是运行在 Java 虚拟机之上。此外,运行在 Java 虚拟机之上我们熟知的一些语言有 Java Kotlin、Scala、Groovy。只要这些语言经过编译器编译后的字节码遵循 JVM 规范,都可以运行在  JMV 之上。

 Kotlin 比 Java 更强大,主要就在于编译器不一样了。Kotlin 可以支持更多的更高级的语法,所以 Kotlin 又叫编译型的语言。它更多的特性依赖于它的编译器。

为什么要学 Kotlin

\bullet Kotlin 是由 Java 进化而来,Java 语言比较稳健,久经考验。多年来,它一直是最常用的一种编程语言,造就了庞大的生产代码库。自从 1995 年 Java 问世以来,对于优秀的编程语言应满足什么条件,人们已通过实践积攒了很多经验教训。然而,Java 却裹足不前,开发者喜欢的很多现代语言高级特性,他都没有,或者迟迟加入。

\bullet Kotlin 从这些经验教训中收益良多,而 Java 中的某些早期设计却愈显陈旧。脱胎旧语言,Kotlin 解决了他们的很多痛点,进化成了一门优秀的语言。相比 Java,Kotlin 进步巨大,带来了更可靠的开发体验。

Kotlin 的跨平台特性

\bullet Kotlin 不仅支持编写代码在虚拟机上运行,而且还是一门跨平台的通用型语言,我们可以用 Kotlin 开发各种类型的原生应用,如 Android、macOS、Windows、Javascript 应用。

\bullet Kotlin 能脱离虚拟机层,直接编译成可以在 Windows、Linux 和 macOS  平台上运行的原生二进制代码

学习 Kotlin,要与 Java 语言对比,达到提高学习效率。知识点尽量全面覆盖,不留认知缺陷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244264.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大数据云计算之OpenStack

大数据云计算之OpenStack 1.什么是OpenStack,其作用是什么?OpenStack主要的组成模块有哪些?各自的主要作用是什么? OpenStack是一个开源的云计算平台,旨在为企业和服务提供商提供私有云和公有云的建设和管理解决方案…

显示曾连接过的wifi密码

windows 11 可以直接显示当前连接的密码,或者历史连接保存密码的wifi 也可以使用命令 “nova 9” 是连接过的wifi

基于YOLOv8的农作物水稻病害检测系统,优化SPPF提升检测精度

💡💡💡本文摘要:农作物水稻病害首先进行数据处理到训练模型,最好优化SPPF提升检测精度,map0.5从原始的0.807提升至0.821 1.YOLOv8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模…

玩转大数据16:大数据存储与文件格式优化

随着大数据时代的到来,存储和处理海量数据成为了一个重要的挑战。在大数据存储中,选择合适的文件格式对数据的压缩率、读写性能和扩展性起着关键作用。本文将介绍大数据存储的挑战,探讨常见的文件格式,并深入讨论文件格式优化的策…

Zxing库的使用⭐️实现给自己的博客主页生成一张二维码链接,有源码可以直接复制到本地执行

目录 前言 一、简介 二、本地实现 2.1 引入依赖(根据自己springboot项目来) 2.2 实现类 三、运行一次 前言 小伙伴们大家好,自从地铁上刷到Zxing库的使用后,一直想本地部署玩一玩 一、简介 ZXing(全称为 Zebra Cr…

leetcode-138-随机链表的复制(Java实现)

题目: 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点…

教你用JMeter做接口测试的几个简单实例

前言 这次小项目是基于HTTP协议的接口,通过JMeter来完成一次基本的接口测试,完整复习一下JMeter的基本操作。 在实际项目中,测试也要先从开发那拿到接口说明书,分析熟悉业务后,写接口的测试用例,最后再在…

换能器信号工作原理

一、ANB板子发送一个周期,频率为40M和60M的 78V的激励脉冲信号。如下图 频率越高,周期越短。图像分辨率更高。原因如下: ①由于采用的是纵向分辨率。相邻两个点之间必须要间隔 下图的2分之兰大才能被识别。 二、当信号给到换能器后&#xf…

JS基础之变量对象

JS基础之变量对象 变量对象基础变量对象全局上下文函数上下文执行过程进入执行上下文代码执行思考题 变量对象 基础 当JavaScript代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution context&#xff…

redis-学习笔记(Jedis list简单命令)

lpush & lrange lpush 头插, 第二个参数为变长参数, 即可以一次往里面添加 N 个值 lrange 获取列表某一下标区间的内容, 注意返回值类型 代码演示 rpush & rpop & lpop rpush 在列表中尾插数据, 第二个参数仍是边长列表 lpop 头删 rpop 尾删 代码演示 blpop & …

SpringBoot核心功能-temp

yml&类配置 Configuration-processor

实验03:OSPF配置网络实验

1.实验目的: 本实验的主要目的是了解OSPF协议的基本概念、OSPF网络的配置及验证,通过实验来掌握OSPF协议的工作原理、配置方法、路由表的生成过程等。 2.实验内容: 设计一个拓扑结构,并在网络设备上进行配置;配置OS…

数字世界的基石:英特尔以太网800系列适配器技术指南

以太网的发展历史 1906年,一家以复印/打印为主要业务的公司施乐(Xerox),在美国康涅狄格州的费尔菲尔德县成立。如今,该公司股价在13.7美元左右,和当今的全球PC行业标准制定者英特尔的股价相差数倍,但是就是这个绝大多数人都未曾听说过的施乐公司,诞生了奠定未来的以太网技术。…

@SpringBootApplication自动配置原理剖析

SpringBootApplication自动配置原理剖析 自动配置: 根据我们添加的依赖,会自动将一些配置类的bean注册进ioc容器中,可以使用Autowired或者Resource等注解来使用它。 1.1 SpringBootApplication Spring Boot项目创建完成会默认生成一个Application的入口类(启动类),命名规则a…

亿欧网首届“元创·灵镜”科技艺术节精彩纷呈,实在智能AI Agent智能体展现硬核科技图景

12月4日-10日,持续一周的首届“元创灵镜”科技艺术节在海南陵水香水湾拉开帷幕,虚实交互创造出的“海岛之镜”开幕式呈现出既真实又虚幻的未来感,融入前沿科技元素的艺术装置作品在“虚实之镜&自然生长”科技艺术展诠释着浪漫想象&#x…

【Axure高保真原型】能增删改的树形表格

今天和大家分享能增删改的树形表格的原型模板,包括展开、折叠、增加、修改、删除表格内容,那这个原型模板是通过中继器制作的,所以使用简单,只需要填写中继器表格,即可自动生成对应的树形表格。这个模板最高支持6级树形…

【python】质数(素数)

质数(又称素数),是指在大于1的自然数中,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为质数(素数)。比1大但不是质数的数称为合数,1和0既非素数也非合数。 import math #调用math模块 1.判断某一个数是否为质数 import mathdef isPrime(n): #定义一个判断一个数是…

Improving IP Geolocation with Target-Centric IP Graph (Student Abstract)

ABSTRACT 准确的IP地理定位对于位置感知的应用程序是必不可少的。虽然基于以路由器为中心(router-centric )的IP图的最新进展被认为是前沿的,但一个挑战仍然存在:稀疏IP图的流行(14.24%,少于10个节点&…

DockerCompose部署RabbitMQ集群

DockerCompose部署RabbitMQ集群 最近小黄在工作中正好需要部署RabbitMQ集群,借此来记录一下,也希望可以帮助到大家 前置条件 简单介绍一下咱们公司现有的条件以及想要达成的效果 服务器3台,3台都是属于一个专有网络中,也就是说3…

100V耐压 内置MOS ESOP8 40V输入 转5V 2.1A恒压输出

100V耐压内置MOS ESOP8 40V输入转5V 2.1A恒压输出 芯片测试数据如下图: