标签 Java 下的文章

一个无聊的开发者创造了“DOS 的 Linux 子系统”

墨尔本的一位软件工程师正在通过创建一个 DOS 用户迄今为止所缺乏的工具来消磨城市的封锁时间:一个类似于 Windows 10 用户所享受的集成 Linux 环境。Linux 不但能够从 DOS 命令行启动,而且还可以在 Linux 运行后继续执行 DOS。Linux 会在自己的启动过程中完整地留下第一兆字节的内存(DOS 所在的地方),所以只需跳回正确的地方继续执行 DOS 即可。

来源:itnews

拍一拍:确实“无聊”,不过这种无聊的探索精神值得鼓励。

福布斯:微软更新 Edge 新功能挑战 Chrome

现在将可以直接在 Edge 浏览器内部直接从地址栏搜索工作文件了。另一个与工作相关的微软 Edge 更新也即将推出,让 IT 管理员管理用户设备上特定的与工作相关的应用,以及管理用户在 Edge 中的工作配置环境中进行的浏览。以及,对微软端点 DLP 原生策略的支持、即将推出的 Sleeping Tabs 可将内存使用率提高 26%,CPU 使用率减少 29% 等。

来源:forbes

拍一拍:微软希望吸引更多的企业用户使用更新后的 Edge 浏览器。

JetBrains:世界上最大的 Java 程序员集中地在亚洲和德国

Java 开发者最集中的地方是亚洲,有 250 万开发者使用它作为主要语言。JetBrains 认为,这可能是由于在中国和印度等国家雇佣离岸开发人员来构建 Android 应用是很常见的。使用 Java 作为主要语言的开发者比例最高的六个国家是:中国、韩国、印度、德国、西班牙和巴西。

来源:jetbrains

拍一拍:不管你喜欢不喜欢,Java 依然那么流行。

Oracle 调研如何避免让 Java 开发者投奔 Rust 和 Kotlin

Oracle 委托分析公司 Omdia 评估其 Java 的 6 个月发布策略,以及它是否足以让数百万 Java 开发者远离内存安全的替代方案,如谷歌的 Kotlin 和 Mozilla 的 Rust。报告中说,“6 个月的更新周期,并引入新的模块化水平,使其在约 1200 万开发人员中处于有利地位。Oracle 和 Java编程语言需要一系列持续不断的创新,使现有的 Java 开发者感到满意,同时引导潜在的 Java 开发者远离 Rust 和 Kotlin 等新语言。”

来源:zdnet

拍一拍:25 年的 Java 虽然依旧占据统治地位,但是这些新来的小家伙也不可小觑。

英特尔对迟迟不被 Linux 主线接受的 SGX Enclave 进行了第 38 次修订

多年来,英特尔 Linux 开发人员一直在努力让他们的软件卫士扩展(SGX)支持和新的 SGX Enclave 驱动整合到 Linux 内核中。自酷睿 Skylake 核心出现以来,SGX 的支持工作就一直在进行,但安全问题和其他技术原因阻碍了 SGX 支持主线接受。此外,非英特尔上游内核开发者对 SGX 的热情也明显不足。

来源:cnbeta

拍一拍:心疼英特尔 38 次。不过,确实有很多新特性想挤入 Linux 主线内核,但是能得到上游社区的认可需要更广泛的共识。

ARM 支持开源的 Panfrost Gallium3D 驱动

Mesa 的 Panfrost Gallium3D 开源驱动提供了对 ARM 的 Mali Midgard 和 Bifrost GPU 的支持。它最初始于对私有 Mali 图形驱动的逆向工程,进展缓慢,但随着主要开发者 Alyssa Rosenzweig 受雇于咨询公司 Collabora,项目取得了稳定进展。在 XDC2020 大会上,Alyssa 透露,ARM 正与 Collabora 合作开发 Panfrost,支持 Panfrost Gallium3D 作为开源的 Mali 驱动。

来源:solidot

拍一拍:从之前的逆向工程到厂家的主动支持,企业越来越正视和重视开源支持。

Java IDE 工具提供了大量的方法来根据你的独特需求和偏好创建一个编程环境。

通过简化程序员的工作,Java 框架可以使他们的生活更加轻松。这些框架是为了在各种服务器环境上运行各种应用程序而设计开发的;这包括解析注解、扫描描述符、加载配置以及在 Java 虚拟机(JVM)上启动实际的服务等方面的动态行为。控制这么多的任务需要更多的代码,这就很难降低内存占用、加快新应用的启动时间。无论如何,据 TIOBE 指数,在当今使用的编程语言中 Java 一直排名前三,拥有着 700 万到 1000 万开发者的社区。

有这么多用 Java 编写的代码,这意味着有一些很好的集成开发环境(IDE)可供选择,可以为开发人员提供有效地编写、整理、测试和运行 Java 应用程序所需的所有工具。

下面,我将按字母顺序介绍五个我最喜欢的用于编写 Java 的开源 IDE 工具,以及如何配置它们的基本功能。

BlueJ

BlueJ 为 Java 初学者提供了一个集成的教育性 Java 开发环境。它也可以使用 Java 开发工具包(JDK)开发小型软件。各种版本和操作系统的安装方式都可以在这里找到。

在笔记本电脑上安装 BlueJ IDE 后,启动一个新项目,点击 项目 Project 菜单中的 新项目 New Project ,然后从创建一个 新类 New Class 开始编写 Java 代码。生成的示例方法和骨架代码如下所示:

 title=

BlueJ 不仅为学校的 Java 编程课的教学提供了一个交互式的图形用户界面(GUI),而且可以让开发人员在不编译源代码的情况下调用函数(即对象、方法、参数)。

Eclipse

Eclipse 是桌面计算机上最著名的 Java IDE 之一,它支持 C/C++、JavaScript 和 PHP 等多种编程语言。它还允许开发者从 Eclipse 市场中的添加无穷无尽的扩展,以获得更多的开发便利。Eclipse 基金会提供了一个名为 Eclipse Che 的 Web IDE,供 DevOps 团队在多个云平台上用托管的工作空间创建出一个敏捷软件开发环境。

可以在这里下载;然后你可以创建一个新的项目或从本地目录导入一个现有的项目。在本文中找到更多 Java 开发技巧。

 title=

IntelliJ IDEA

IntelliJ IDEA CE(社区版)是 IntelliJ IDEA 的开源版本,为 Java、Groovy、Kotlin、Rust、Scala 等多种编程语言提供了 IDE。IntelliJ IDEA CE 在有经验的开发人员中也非常受欢迎,可以用它来对现有源码进行重构、代码检查、使用 JUnit 或 TestNG 构建测试用例,以及使用 Maven 或 Ant 构建代码。可在这里下载它。

IntelliJ IDEA CE 带有一些独特的功能;我特别喜欢它的 API 测试器。例如,如果你用 Java 框架实现了一个 REST API,IntelliJ IDEA CE 允许你通过 Swing GUI 设计器来测试 API 的功能。

 title=

IntelliJ IDEA CE 是开源的,但其背后的公司也提供了一个商业的终极版。可以在这里找到社区版和终极版之间的更多差异。

Netbeans IDE

NetBeans IDE 是一个 Java 的集成开发环境,它允许开发人员利用 HTML5、JavaScript 和 CSS 等支持的 Web 技术为独立、移动和网络架构制作模块化应用程序。NetBeans IDE 允许开发人员就如何高效管理项目、工具和数据设置多个视图,并帮助他们在新开发人员加入项目时使用 Git 集成进行软件协作开发。

这里下载的二进制文件支持 Windows、macOS、Linux 等多个平台。在本地环境中安装了 IDE 工具后,新建项目向导可以帮助你创建一个新项目。例如,向导会生成骨架代码(有部分需要填写,如 // TODO 代码应用逻辑在此),然后你可以添加自己的应用代码。

VSCodium

VSCodium 是一个轻量级、自由的源代码编辑器,允许开发者在 Windows、macOS、Linux 等各种操作系统平台上安装,是基于 Visual Studio Code 的开源替代品。其也是为支持包括 Java、C++、C#、PHP、Go、Python、.NET 在内的多种编程语言的丰富生态系统而设计开发的。Visual Studio Code 默认提供了调试、智能代码完成、语法高亮和代码重构功能,以提高开发的代码质量。

在其资源库中有很多下载项。当你运行 Visual Studio Code 时,你可以通过点击左侧活动栏中的“扩展”图标或按下 Ctrl+Shift+X 键来添加新的功能和主题。例如,当你在搜索框中输入 “quarkus” 时,就会出现 Visual Studio Code 的 Quarkus 工具,该扩展允许你在 VS Code 中使用 Quarkus 编写 Java

 title=

总结

Java 作为最广泛使用的编程语言和环境之一,这五种只是 Java 开发者可以使用的各种开源 IDE 工具的一小部分。可能很难知道哪一个是正确的选择。和以往一样,这取决于你的具体需求和目标 —— 你想实现什么样的工作负载(Web、移动应用、消息传递、数据交易),以及你将使用 IDE 扩展功能部署什么样的运行时(本地、云、Kubernetes、无服务器)。虽然丰富的选择可能会让人不知所措,但这也意味着你可能可以找到一个适合你的特殊情况和偏好的选择。

你有喜欢的开源 Java IDE 吗?请在评论中分享吧。


via: https://opensource.com/article/20/7/ide-java

作者:Daniel Oh 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

macOS 用户可以运行 Java 的开源版本,以及用于 云原生 cloud native 开发的新框架。

五月底,Java 庆祝了它的 25 周年纪念日,为了纪念这一时刻,世界各地的开发人员使用 #MovedByJava 这一标签分享他们使用这一编程语言的成就、记忆以及愿景。

我的时间线:

感谢你 @java#MovedByJava

— Graeme Rocher (@graemerocher) 2020年5月21日

多年来,许多技术和趋势都促进了 Java 堆栈的开发、部署和在标准应用程序服务器上运行多个应用的能力。为 Kubernetes 构建容器镜像使得 Java 开发者可以在多个云环境中打包和部署 微服务 microservices ,而不是在虚拟机上运行几个应用程序服务器。

 title=

有了这些技术,Java 应用程序栈被优化为运行更大的堆和可以在运行时做出决策的高动态框架。然而不幸的是,这些努力还不足以使 Java 成为开发人员为 无服务器 serverless 和事件驱动平台开发 云原生 cloud native Java 应用程序的首选编程语言。其他语言填补了这部分空缺,特别是 JavaScript、Python 和 Go,而 Rust 和 WebAssembly 也成了新的选择。

尽管存在这种竞争, 云原生 Java cloud native Java 正在对以云为中心的软件开发产生影响。好在,新的 Java 框架(比如,QuarkusMicronautHelidon)最近已经战胜了这些挑战,它们提供了编译速度更快而且更小的应用,同时它们在设计之初就将分布式系统考虑了进去。

如何在 macOS 上安装 Java

Java 开发的未来将从更多人安装和使用 Java 开始。因此,我将介绍如何在 macOS 上安装并开始使用 Java 开发环境。(如果你运行的是 Linux,请查看 Seth Kenlon 的文章《如何在 Linux 上安装 Java》)

通过 Brew 仓库安装 OpenJDK

Homebrew 是 macOS 事实上的标准软件包管理器。如果你还没有安装的话,Matthew Broberg 的文章《Homebrew 简介》将带你完成这些步骤。

当你在 Mac 上安装好 Homebrew 后,使用 brew 命令安装 OpenJDK,这是编写 Java 应用程序的开源方式:

$ brew cask install java

不到一分钟就能看到:

? java was successfully installed!

通过 java -version 命令确认 OpenJDK 已经正确安装:

$ java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7)
OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing

从输出中可以确认 OpenJDK 14 (本文撰写时的最新版本)已经安装。

从二进制文件安装 OpenJDK

如果你并不热衷于包管理器,并且更愿意自己来管理 Java 的话,那么你总是可以选择下载并且手动安装。

我在 OpenJDK 主页上找到了最新版本的下载链接。下载 OpenJDK 14 的二进制文件:

$ wget https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_osx-x64_bin.tar.gz

移动到你保存二进制文件的目录,然后解压:

$ tar -xf openjdk-14.0.1_osx-x64_bin.tar.gz

接下来,将 Java 加入到你的 PATH:

$ export PATH=$PWD/jdk-14.0.1.jdk/Contents/Home/bin:$PATH

同时,将这条命令加到你的点文件中,.bash_profile 还是 .zshrc 取决于你运行的 shell。你可以在《如何在 Linux 中设置你的 PATH 变量》一文中了解更多关于配置 PATH变量][23]》一文中了解更多关于配置‘](https://opensource.com/article/17/6/set-path-linux)》一文中了解更多关于配置 $PATH` 变量的内容。

最后,验证你安装的 OpenJDK 14:

$ java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7)
OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

在 Mac 上编写你的第一个 微服务 microservices

现在,你已经准备好在 maxOS 上使用 OpenJDK 堆栈开发 云原生 cloud native Java 应用程序了。在本教程中,你将在 Quarkus 上创建一个新的 Java 项目,这个项目使用 依赖注入 dependency injection 来公布 REST API。

你需要 Maven 启动,它是一个非常流行的 Java 依赖管理器。从 Maven 的网站安装它,或者通过 Homebrew 使用 brew install maven 命令。

执行以下 Maven 命令来配置 Quarkus 项目,并且创建一个简单的 web 应用:

$ mvn io.quarkus:quarkus-maven-plugin:1.5.1.Final:create \
    -DprojectGroupId=com.example \
    -DprojectArtifactId=getting-started \
    -DclassName="com.example.GreetingResource" \
    -Dpath="/hello"
cd getting-started

运行这个应用:

$ ./mvnw quarkus:dev

当应用程序运行的时候,你可以看到这个输出:

__  ____  __  _____   ___  __ ____  ______
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \  
\--\\___\\_\\____/_/ |_/_/|_/_/|_|\\____/___/  
2020-06-13 00:03:06,413 INFO  [io.quarkus] (Quarkus Main Thread) getting-started 1.0-SNAPSHOT on JVM (powered by Quarkus 1.5.1.Final) started in 1.125s. Listening on: <http://0.0.0.0:8080>
2020-06-13 00:03:06,416 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2020-06-13 00:03:06,416 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy]

使用 curl 命令访问 REST 端点:

$ curl -w "\n" http://localhost:8080/hello
hello

恭喜!通过使用 Mavan 和 Quarkus,你很快从没有安装 Java 的环境里创建了第一个 web 应用。

接下来用 Java 做什么

Java 是一个成熟的编程语言,通过专门为 云原生 cloud native 应用程序开发设计的新框架,Java 的热度会一直持续下去。

如果你正走在这样构建未来应用的路上,你可能会对更多实用的 Quarkus 开发课程或其他现代化框架感兴趣。无论你在构建什么,下一步是配置你的文本编辑器。阅读我关于《在 VS Code 用 Quarkus 编写 Java》的教程,然后再看看你能做什么。


via: https://opensource.com/article/20/7/install-java-mac

作者:Daniel Oh 选题:lujun9972 译者:Yufei-Yan 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Fedora 开发者再次讨论使用 Nano 替代 Vi/Vim 作为默认文本编辑器

类似的建议去年就已经讨论过一次,现在再次讨论 Fedora 是否应该默认使用 Nano 而不是 Vi,因为 Vi 目前在 git 提交和其他基于 CLI 的文本编辑中被用作默认编辑器。而这对于那些改用 Fedora 而又不知道如何使用 Vi 的用户来说,无疑是增加了使用障碍。支持此提案的开发者认为,将 Nano 作为默认编辑器不要求使用者具备专业知识,这对用户更友好,也让 Fedora 更加易于使用。支持者认为 Nano 是适用于每个人的选项。

来源:开源中国

拍一拍:Vi/Vim 已经成为 Linux 世界的象征性标志,也是很多 Linux 用户的入门门槛之一。究竟 Linux 是该向更易用发展;还是保持传统,过滤一些迈不过门槛的用户呢?

Canonical 因在 Ubuntu 每日消息(MOTD)中植入广告而遭到抨击

在一则讨伐 Canonical 的 Reddit 帖子中,已经收到了上千网友的评论。屏幕截图显示,Ubuntu 中混入了一条附带链接的文字广告:“如果你一直在等待面向 macOS 的完美 Kubernetes 开发解决方案,现在是时候体验 Microk8s 了!”截至发稿时,Canonical 仍未对 MOTD 中包含的广告链接发表评论。

拍一拍:有自家的发行版真好,可以随便做广告。

来源:cnBeta.COM

Jakarta EE 9 Milestone 1 发布 从 javax.* 过渡到 jakarta.*

此版本将所有 API 更新为在包名称中使用 jakarta.*。至于为什么变化,这是因为 Oracle 拒绝交出相关权利,过渡实际上就是此版本的全部内容。

来源:开源中国

拍一拍:不肯融入开放世界的,必将被开放世界所抛弃。

iOS 14 与 macOS Big Sur 将支持 DNS 加密通信

目前苹果已加入 Mozilla、谷歌和微软等公司的加密 DNS 通信倡议,积极在自家产品中中改进隐私安全体验。今秋正式发布的时候,该公司设备用户将同时体验到 DNS-over-HTTPS(简称 DoH)和 DNS-over-LTS(简称 DoT)带来的好处。启用了 DoH 和 DoT 之后,域名查询和接收响应的过程都会被加密处理,可有效防止被第三方和恶意行为者追踪用户的浏览历史。

来源:cnBeta.COM

拍一拍:一方面技术进步让个人隐私无从隐身,另一方面新的保护隐私的技术也在不断进步,技术世界就是在不断博弈之中前进。

Word 编辑器迎来“在线查重”功能

据悉,该功能由必应提供支撑,可在显示文档内容的相似性比例,并使之更轻松地插入相应的引文。结合相似性检测和引文工具,学生们不仅可以规避抄袭查重。目前这项功能仅提供了对英语文本的支持。作为三月份预告的 Microsoft 365 更新的一部分,该功能将先向教育版订阅者推送,然后再分发给家庭和企业版订阅用户。

来源:cnBeta.COM

拍一拍:编辑器就支持“查重”会省心一些,不过,问题在于,如何写出符合查重标准的文章吧?

Android 12 曝光:谷歌欲全面抛弃对 32 位的支持

因为 32 位的固有限制,不少主流操作系统已经切换到 64 位环境,比如 iOS 11、macOS Catalina 等,Windows 10 也自 v2004 版本开始停止向 OEM 分发 32 位系统。下面,该 Android了。据开发者爆料,Android S(按照字母排序,对应安卓 12 系统)的 x86\_64 模拟器已经停止对 32 位的支持,此乃破天荒的头一次。

来源:快科技

拍一拍:世界总是不经意间慢慢抛弃很多旧的东西,现在轮到了 32 位架构了。

最近,Oracle 宣布 Java 14(或 Oracle JDK 14)公开可用。如果你想进行最新的实验或者开发的话,那么你可以试试在 Linux 系统上安装 Java 14。

Oracle JDK 14(或简称 Java 14)发布版包含几个新功能,如果你想预览它们的话。我已添加了链接:

除预览功能外,它还包含一些改进和补充。在新闻中,他们还提到了其他改进:

此外,最新的 Java 版本增加了 Java 语言对 switch 表达式的支持,新增了用于持续监控 JDK Flight Recorder 数据的新 API,将低延迟 zgc 扩展到了 macOS 和 Windows,并添加在 incubator 模块中,独立的 Java 应用打包,以及为了安全、有效地访问 Java 堆外部内存的新的外部内存访问 API。

当然,如果你想深入了解细节,那么你应查看官方公告

在本教程中,我将向你展示在 Ubuntu 系统上安装 Java 14 的简便方法。请继续阅读。

注意:如果你选择使用 Oracle Java 11 或更高版本,那么应该了解新的 Oracle 技术网络许可协议,以了解它如何影响个人用户、开发人员和商业组织。通常,它们可以免费用于开发和测试,但不能用于生产环境。

如何在 Ubuntu Linux 上安装 Java 14?

作为参考,我已成功在默认安装 OpenJDK 11Pop!\_OS 19.10 上成功安装了它。

这里,我们将使用 Linux Uprising 的 Java 14 安装程序(最初基于 WebUpd8 Java 软件包)。

只需在终端中输入以下命令即可进行安装:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java14-installer

这应该就完成了,如果你想将它设为默认,那么你可以输入以下命令:

sudo apt install oracle-java14-set-default

值得注意的是,这仅适用于基于 Ubuntu 的发行版。如果要在 Debian 和其他 Linux 发行版上安装它,那么也可以按照 Linux Uprising 中的详细指南安装 Java 14。

总结

当然,这些会带来最新的特性,如果你不想破环原有环境,你或许会希望继续使用 Java 11。如果你想在了解风险的情况下进行试验,请继续尝试!

欢迎在下面的评论中让我知道你对 Java 14 的想法。


via: https://itsfoss.com/java-14-ubuntu/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出