草庐IT

kotlin-stdlib-jdk

全部标签

Kotlin-为什么此功能不符合尾部递归资格?

功能send()在下面的示例中,递归调用:internalinnerclassRouteSender(valfeatures:List,valexchange:GrpcUniExchange){varresult:AsyncResult?=null//SetinstubforrecordRoute.funsend(numPoints:Int){result?.let{//RPCcompletedorerr'dbeforesendingcompleted.//Sendingfurtherrequestswon'terror,buttheywillbethrownaway.return}valin

了解安卓,了解JDK、SDK、NDK,了解gradle

Android是一个开源的,基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑。安卓开发环境:安卓开发所使用的语言是JAVA或Kotlin,底层操作使用C\C++。  安卓开发的工具主要有Eclipse或IDEA、AndroidStudio。其中AndroidStudio是官方指定的开发工具,推荐使用。而Eclipse目前(2020年2月14日)谷歌不再支持。推荐使用IDEA或AndroidStudio。注意!无论是设置SDK的路径或者是设置你的项目或者是其它的,都不能使用中文!也尽可能的去不用中文!JDKJDK  JDK是JAVA语言的编译器,全称为Java

JetBrains联合谷歌搞事情!首发稳定版Kotlin跨平台开发框架!

整理丨诺亚出品|51CTO技术栈(微信号:blog51cto)近来,传闻中一直在和谷歌“搞事”的JetBrains为跨平台领域带来了一个突破性的消息:发布了KotlinMultiplatform的第一个稳定版本,支持跨iOS、Android、桌面、Web和服务器共享代码。提到跨平台开发,大家比较熟悉的可能是Flutter、ReactNative等知名框架。这个新生代又是何方神圣?其实有熟悉Android开发的朋友可能了解过KotlinMultiplatformMobile(KMM)。它是KotlinMultiplatform(KMP)的组成部分,在2020年就基于Kotlin1.4发布了第一个

关于安卓编译报错(一)kotlin依赖报错

背景杂乱的项目依赖,成为了安卓项目的噩梦。版本号的不统一,经常导致一些依赖冲突。所以有了此文。现象安卓项目rebuild或者打release包的时候,存在报错情况:(一)kotlinversion编译不一致导致报错compiledwithanincompatibleversionofKotlin.Thebinaryversionofitsmetadatais1.8.0,expectedversionis1.6.0.细看英文提示,就是说,项目编译的过程中,编译版本,使用的kotlinversion和期望的版本不一致,导致无法编译通过。那不就好办了吗?解决方法大致有以下:(1)修改gradle版本

JDK 常用工具 —— jmap 详解

jmap是JDK自带的一个命令行工具,可以用于生成JavaHeapDump文件,以及查看Java进程中的内存使用情况。本文内容来自一篇整理得非常详细的文档:https://juejin.cn/post/6844904062526160904语法jmap[option]jmap[option]option:命令选项,常用选项如下:-heap:打印Java堆概要信息,包括使用的GC算法、堆配置参数和各代中堆内存使用情况;-histo[:live]:打印Java堆中对象直方图,通过该图可以获取每个class的对象数目,占用内存大小和类全名信息,带上:live,则只统计活着的对象;-permstat打

(2023)mac 安装Android studio(安装jdk,Android SDK)

一、安装jdk并配置环境变量1.下载安装jdk网址:JavaDownloads|Oracle注意这里需要注册登录后才可下载。选择下载java8,jdk1.8。打开安装即可。​2.配置环境变量打开终端,输入java-version,能够看到jdk版本;​查看jdk的位置,/usr/libexec/java_home-V;记下这个路径,后面配置环境变量会用到;​然后open.bash_prfile文件,如果没有则touch.bash_profile新建;加入以下内容:JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Conte

[Java]JDK17新特性

目录 一、JDK新特性1.1JavaRecord1.1.1Record的使用1.1.2InstanceMethods1.1.3静态方法StaticMethod1.1.4Record构造方法1.1.5Record与Lombok1.1.6Record实现接口1.1.7LocalRecord1.1.8嵌套Record1.1.9instanceof判断Record类型1.1.10总结1.2Switch1.2.1箭头表达式1.2.2yield返回值1.2.3JavaRecord1.3TextBlock1.3.1认识文本块1.3.2字符串比较与方法1.3.3空白1.3.4文本块的方法1.3.5转义字符1.

JDK19虚线程探究

Part01. 平台线程 聊虚线程之前我们先说一下JDK19之前的标准线程,在JDK19中为了区分虚线程,给它起名叫平台线程。它是对具体操作系统(OS)线程的包装,每当在JVM中创建一个平台线程,在OS中就一定有一个操作系统线程与之对应,任务代码通过平台线程在底层操作系统线程上运行。由于在平台线程的整个生命周期过程中,要不停地捕获操作系统线程,也就是说平台线程要真实的绑定一个系统线程,因此应用中平台线程的数量取决于操作系统的线程数量。图1平台线程调用示意平台线程适用所有类型任务,无论是IO密集型还是计算密集型,但由于平台线程和操作系统线程绑定,当平台线程执行IO密集型任务时(需要大量等待),操

Android开发知识学习——Kotlin进阶

文章目录次级构造主构造器init代码块构造属性dataclass相等性解构Elvis操作符when操作符operatorLambdainfix函数嵌套函数注解使用处目标函数简化函数参数默认值扩展函数类型内联函数部分禁用用内联具体化的类型参数抽象属性委托属性委托类委托Kotlin标准函数课后题次级构造申明前缀有construct修饰classPerson{constructor(parent:Person){}}如果有一个主构造函数,每个次构造函数需要委托给主构造函数,可以直接委托或者通过别的构造函数classconstructorPerson(valname:String){construct

LogStash~LogStash8的安装(包含jdk17的安装)

一、Java的安装卸载虚拟机自带的Javarpm-qa|grep-ijava|xargs-n1rpm-e--nodeps上传java安装包到/export/server/目录下解压java压缩包tar-zxvf/export/server/jdk-17_linux-x64_bin.tar.gz删除安装包rm-rf/export/server/jdk-17_linux-x64_bin.tar.gz重命名文件夹mvjdk-17.0.2/jdk配置环境变量vim/etc/profile#Java_PathexportJAVA_HOME=/export/server/jdkexportPATH=$PA