Kotlin 2.0强势发布:开发体验吊打Java,IDEA 新时代到来了

如果一段关系

能让自己获得某种心灵上的治愈

它对自己来说就是真实的

当感情的另一方

无法按照自己的想法

参与进来的时候

人就只能靠想象去

减弱现实带来的不快乐

甚至痛苦

前几天,Jetbrains宣布kotlin2.0正式发布,Kotlin 2.0 带来了许多牛批的新功能,包括更快的编译速度、更智能的代码分析,以及更加稳定成熟的多平台支持。

据统计,100个安卓项目,有96个项目都是kotlin写的,已经完全超越了传统的安卓语言Java。

看看这次有哪些亮点

第一个,k2编译器

为了实现更稳定的多平台能力,kotlin这次直接从0开始实现了K2 编译器,可以把一套代码编译为安卓,IOS,JS等平台的代码,实现代码逻辑共享。

如上图所示,k2目前支持4种后端,wasm,so,js,jvm。

多平台技术目前已经被麦当劳,菲利普等大厂使用,在国内快手,百度也已经在使用了。谷歌已经使用 KMP 开发其 Workspace 应用,并且在2024谷歌IO大会上不厌其烦的推荐使用 KMP 共享业务逻辑。

第二个,更快的编译速度

编译代码是后端的日常工作,同时也是见证奇迹的时刻所必须花的时间,Jetbrains表示,k2的编译速度提高了一倍左右。

第三个,新的k2模式

k2的另一个显著效果体现在IDEA上,据统计使用了k2的IDEA的代码高亮速度提高了约 2倍,代码补全速度提高了 1.5 倍。这个模式预计在2024年底会设置为默认模式,到时候就可以体验代码飞一样的感觉了。

随着k2模式的成熟,这种好处也会被泛化到Goland,pycharm,rustrover,fleet身上。

第四个,Lambda 函数

kotlin2.0引入了一种新的生成 lambda 函数的默认方法“invokedynamic”,其优点是生成的二进制文件更小。

第五个,枚举类 values 泛型函数的稳替

引入了enumEntries<T>() 新函数替代了旧的 enumValues<T>() 函数的替代品,values函数每次都会创建一个新的数组返回,而entries函数每次都会返回同一个列表,就比values函数性能好些。这也是日常开发常用到的代码优化点。

最后

kotlin和go都因其简洁和安全而迅速受到开发人员的欢迎。但是它们的路子不同,kotlin通过引入很多的语法来实现代码表达的精炼,go通过只引入最少概念实现其简洁。

程序员不是为了写代码而生的,而是为了写更少的代码而生的,代码越少,技术负债就越少。

程序员必知的8个Java开源IDE工具!你最钟意哪个?

出色的Java工具有助于提高工作效率。Java IDE 工具提供了多种用户独特需求和个人偏好来创建编程环境的方法。

今天,给大家分享8个程序员最爱的Java开源IDE工具,

没有用过的小伙伴,快快收藏哦!

01 BlueJ

BlueJJava环境下的一个内置编辑器、编译器、虚拟机、调试器的多应用软件,是专为教学设计的,很适合在小规模的软件开发中使用。它易于使用和测试的交互式界面,不仅适合用于在学校教授Java编程课程,而且允许程序员调用功能,即对象、方法、参数等,而无需编译源代码。

02 Eclipse

Eclipse是一款主要用Java编写的免费IDE,允许创建各种跨平台的可用于手机、网络、桌面和企业领域的Java应用程序。

它的主要功能包括Windows生成器、集成Maven、Mylyn、XML编辑器、Git客户端、CVS客户端、PyDev,并且还有一个基本工作区,有可扩展插件系统可满足自定义IDE的需求。通过插件,也可以用C、C ++、JavaScript、Perl、PHP、Prolog、Python、R、Ruby(包括Ruby on Rails框架)等语言开发程序。

03 IntelliJ IDEA

IntelliJ IDEA CE(社区版)是IntelliJ IDEA的开源版本,为Java、Groovy、Kotlin、Rust和Scala等提供IDE。可用于现有的源重构,代码检查,使用JUnit或TestNG构建测试用例,以及使用Maven或Ant构建代码。IntelliJ IDEA CE的优秀功能有API测试仪,允许通过Swing GUI设计器测试API的功能,很多经验丰富的程序员尤其喜欢IntelliJ IDEA CE。

04 Netbeans IDE

NetBeans IDE是一个集成的Java开发环境,它能为独立的、移动的和web架构设计模块化的应用程序,并支持web技术。NetBeans IDE能建立关于如何有效管理项目、工具和数据的多个视图,并可以在新开发人员加入项目时进行软件开发协作。

05 VSCodium

VSCodium是一个免费的源代码编辑器,它在Windows、macOS、Linux上皆可用。它是一个基于Visual Studio代码的开源替代品,支持多种编程语言,如Java、c++、c#、PHP、Go、Python、.net等。

06 jEdit

jEdit是一个具有广泛插件架构的文本编辑器,具备编辑搜索,查找,替换和源代码编辑等功能,支持超过两百种语言,包括Unicode。

07 jGRASP

jGRASP是运行在Java平台上的IDE,提供可视化自动生成,能在运行时产生静态可视化的源代码结构和直观化的数据结构,且jGRASP能产生支持Java、C、C ++、Objective-C、Python、Ada和VHDL的控制结构图;支持Java和Ada的复杂文件图表;支持Java的UML类图;还有动态对象查看器和结合了集成调试器和Java工作台的画布查看器。

08 JSource

JSource是免费的Java IDE,尤其在创建跨平台的Java应用程序中非常有用。JSource能运行、编译、编辑和创建Java文件,主要特点是支持多种语言的语法高亮显示和Java Swing组件。

程序员最爱的8个Java开源IDE工具你收藏了吗?如果还有什么想要了解的,或者你有其他更好用的IDE,欢迎大家在下方留言探讨!

白嫖!阿里P8给内部员工分享的IDEA插件,网友:工作效率直接翻倍

在开发中一款好用的插件,不仅可以让工作变得更加简单,还能让我们的工作效率快速翻倍,然后得到领导的认可和加薪。今天就来给大家介绍7个大厂大佬们都在用的强大实用的Idea插件,超级好用,看完赶快收藏。

1.Free Mybatis plugin & mybatisGenerator

很好用的Mybatis生成器,通过一个数据库表直接生成对应的实体类、Mapper接口,Mapper.xml文件,插件安装完成之后,只需要使用Idea自带的Database连接上数据库,然后右键就能看到生成器了。

2.Lombok

这个插件基本上每个Java开发程序员都用过,它能省去一系列的get、set等方法。

2.1引入相应的maven包:

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.16.18</version>

<scope>provided</scope>

</dependency>

Lombok的scope=provided,说明它只在编译阶段生效,不需要打入包中。事实正是如此,Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件。

2.2添加IDE工具对Lombok的支持

IDEA中引入Lombok支持如下:

点击File– Settings设置界面,安装Lombok插件:

点击File– Settings设置界面,开启 AnnocationProcessors:

开启该项是为了让Lombok注解在编译阶段起到作用。

Eclipse的Lombok插件安装可以自行百度,也比较简单,值得一提的是,由于Eclipse内置的编译器不是Oracle javac,而是eclipse自己实现的Eclipse Compiler for Java (ECJ).要让ECJ支持Lombok,需要在eclipse.ini配置文件中添加如下内容:

-Xbootclasspath/a:[lombok.jar所在路径

3.Alibaba Java Code Guidelines

阿里巴巴的一个代码规范工具,开启后如果代码不符合规范,就会一直有一条让人无法接受的黄线出现在代码中,虽然对程序运行没有什么影响,但是强迫症总会迫使我们去按规范修改掉。久而久之,代码习惯就会被慢慢修改得很规范。

4.JRebel and XRebel for Intellij

一定要使用这个插件,效率高太多了。具体的使用网上教程很多,这里就不做讲解。

5.Translation

一款我个人比较喜欢的翻译插件,再也不用因为不知道如何命名去百度搜英语翻译了,再也不用因为看不懂英文注释打开百度了。

6.RestfulToolKit

写一个接口时,我们一般会给接口的入口封装成一个对象,请求通过Json的格式传输过来。在测试请求的时候,我们需要手动写一个Json格式的字符串出来,会比较麻烦。如果字段很多的话还容易出错。这个插件可以直接帮我们生成Json串。

选择conver to JSON,直接把对象变成JSON串,然后自己再手动改改就可以发起调用了。

7.maven helper

maven helper是一款高效解决依赖冲突的插件,同时也可以看到整个项目的所有依赖情况,在pom文件中点击下边的Dependency Analyzer

点击后可以看到有三种展现方式:第一种是展示有冲突的依赖;第二种是把所有依赖通过列表展示;第三种是把所有依赖通过树状展示。对于想要排除的依赖,只需要右键选择remove即可。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。