• 甲骨文公司正在向OpenJDK提供GraalVM社区版的Java代码,以使GraalVM技术的开发与Java的开发更紧密地结合起来。 GraalVM 原生编译能降低启动延迟。使用 Loom 和 GraavVM,能以免费方式快速启动 JVM了。
  • Java是 "强类型 "的,但来自java这种督促并没有让我的代码结构变得更好。例如,Java能让你使用UnsignedInteger类型,但人们通常不会使用它。相反,建立“类”的感觉是很麻烦的,有很多模板。 Rust的独特之处在于它强迫你一次只能
  • 复制Copy和克隆Clone是“类型”属性的一种特性traits,与“值”属性无关。复制与克隆并不等同于栈与堆,它们与所有权的关系比与内存区域的关系更密切。 想想一下这个例子,整数存储在堆上(通过Vec),需要从一个元素复制到另一个。 icon
  • Rust 中的所有权是什么?Rust没有垃圾收集器,您需要显式分配和释放内存空间。当涉及大型代码库时,这很快就会变得乏味和具有挑战性。传统上,有两种管理内存的基本方法: 第一个是垃圾收集器;它主要用于从程序员那里抽象出内存管理概念的高级语言中。 第二种 icon
  • 这是为嵌入式硬件构建的可验证的安全系统,Google Research 团队针对运行 ML 应用程序的嵌入式设备进行了优化: 现在已经为这个安全操作系统 KataOS 开源了几个组件,并与 Antmicro 合作开发了他们的 icon
  • Linus Torvalds 刚刚发布了Linux 6.1的第一个候选版本,Linux 6.1 稳定版应该会在 12 月发布,并且 icon
  • 让我们探讨一下处理函数在编程语言中通常的样子。这里有一些例子: icon
  • 如果你来自像Go这样拥有庞大标准库的语言,你应该知道Rust是比较轻量级的。该语言已经决定提供一个纤细的标准库和一个顶级的包管理器和工具。由社区来提供像网络服务器或模板的包。 如果你来自Python,即使有一个大的标准库,在做网络时,也不会被开发者 icon
  • Vec与String一样,没有实现Copy特性((String默认是值传递,不是引用传递,也不是值复制):) Vector(以及其他的集合)是值得讨论的,因为涉及到很多语义--容器本身,元素,以及迭代器。 icon
  • 如果您在 YouTube 和 Twitch 等平台上观看流媒体,您可能遇到过歌曲请求系统。歌曲请求系统允许观众将歌曲添加到 歌曲队列中。当歌曲到达队列的最前面时,歌曲会在直播流中播放。在 Rocket crate 的帮助下, icon
  • 当涉及到集合中元素的所有权时,迭代器起着极其重要的作用。在下面这些例子中,我们将使用Vec,故意使用String作为元素(它没有实现Copy trait:String默认是值传递,不是引用传递,也不是值复制),这样我们就可以在向量中演示其移动语义。 icon
  • bstr是 Rust 的字节字符串库, icon
  • Rust默认情况下将所有分配的变量视为不可变的。这意味着一旦绑定完成,(另一个Rust概念,仅表示已将值分配给变量),您不能用不同的值重新分配该变量: icon
  • 带有字符串字段的结构struct:如果一个类型的所有组件都实现了Copy,那么它就可以实现Copy(copy类似语言自身的#原型模式概念); 在下面这些列表中,我们关注的是Movie结构,它由一个没有实现Copy的String字段组成(原因 icon
  • 共享引用(&T)是复制Copy特性(见这里,值复制)。下面 icon
  • 下面代码struct有两个字符串字段: icon
  • 对于实现了Copy特性的类型,如i32,使用起来就容易多了。(String默认是值传递,不是引用传递,也不是值复制,但是i32类型是值复制) 让我们从简单的东西开始:我们创建age并调用do_something。这里,age的值被复 icon