程序媛的mac修炼手册-- 小白入门Java篇

最近因为要用CiteSpace做文献综述,间接接触Java了。所以,继Python、C之后,又要涉猎Java了。刺激!!

由于CiteSpace与Java要求版本高度匹配,有个匹配详情明天为大家讲解。总之,我的Java之旅开始于下载与卸载之间的极限拉扯。总之一句话,咱就下载了八九遍,卸载了七八遍,而已~

所以,咱高低算有Java经验了😂,接下来详细讲讲我这摸索期间的血泪教训经验历程。

一、Java简介

Java被设计为一种可以用于构建复杂的应用程序,如桌面应用程序、服务器端应用程序和Android移动应用程序的通用编程语言,常用于开发应用程序和完善web,服务于游戏开发、网上银行、互动地图等领域。

Java是一种强类型、面向对象的编程语言,要求在编写代码时声明变量的类型。Java提供了多线程和同步机制来处理并发任务。Java有许多框架和库,如Spring、Hibernate等,适用于构建大型企业级应用。

Java的兼容性较好,能实现跨平台Mac/Linux/Windows的软件的开发。这是因为Java代码通常在Java虚拟机(JVM)上运行,因此它可以在任何安装了JVM的平台上运行,不论啥操作系统,Java代码说跑就跑。一个字,绝!

正因为Java如此强大,1995年网景公司(Netscape)开发了一种轻量级的脚本语言,愣是蹭Java热度,给取名为JavaScript。两者其实没啥关系,只是名字相似而已。

JavaScript最初被设计为一种轻量级的脚本语言,主要用于网页的客户端,为网页添加交互性。通过Node.js等技术,JavaScript也被用于服务器端编程。JavaScript主要在浏览器的JavaScript引擎中运行,如Google的V8引擎、Mozilla的SpiderMonkey等。JavaScript是一种弱类型或动态类型的语言,它的变量类型在运行时可以改变,并且它支持多种编程范式,包括面向对象、命令式和函数式编程。JavaScript是单线程的,但它通过事件循环和回调函数来处理异步操作,避免阻塞主线程。JavaScript在Web开发领域,流行的框架如React、Angular和Vue.js等。

不过,强大如Java,跑JavaScript代码,小意思啦~~例如,Java的ScriptEngine API允许开发者在Java应用程序中执行JavaScript代码。这在某些特定场景下是有用的,如在Java服务器页面(JSP)中嵌入JavaScript代码,或者当需要利用JavaScript的某些特性时。

二、Java安装

打开Java官网进行下载,Java Downloads | Oracle。JDK(Java Development Kit)是Java 语言的软件开发工具包(SDK)的简称。

现在有Java 17Java 21版本了,按需选择。如果不知道自己是啥需求,那就选最新版。

Java 21 是继 JDK 17 后的长期支持版本 (LTS),具备虚拟线程功能(Virtual Threads),支持并发编程,用更少的开销,处理更多的任务。Oracle 将为其提供至少八年的技术支持和更新。

根据 Oracle 免费条款和条件 (NFTC),JDK 21 二进制文件可在生产中免费使用,也可免费再分发。JDK 21 将根据 NFTC 接受更新,直至 2026 年 9 月,即下一个 LTS 发布一年后。

注意,要根据自己的Mac选择Intel系列 or M系列的Java。

点击下载链接,按常规应用程序安装方式安装就行。

三、Java卸载

然而,上山容易下山难呐,安装容易卸载难!!!

接下来就给大家讲讲,卸载Java过程中的坑点。需要卸载旧版Java,或者完全移除Java环境的,请继续看:

1. 确定已安装的Java版本

在「终端(terminal)」中运行以下命令,查看已安装的Java版本:

java -version

2. 卸载Java Development Kit (JDK)

要卸载Java Development Kit (JDK),需要执行以下步骤:

(1)在「终端(terminal)」中打开JDK的安装位置:

cd  /Library/Java/JavaVirtualMachines/

(2)运行以下命令,列出已安装的JDK版本:

ls

(3)运行以下命令,删除指定的JDK版本:请将 jdk-1.8.jdk替换为你想删除的版本:

sudo rm -rf  jdk-1.8.jdk

3. 卸载Java Runtime Environment (JRE)

(1)在「终端(terminal)」中打开JRE的安装位置:

cd /Library/Internet\ Plug-Ins/

注意,上述代码中的反斜杠 \ ,是因为文件夹名“Internet Plug-Ins”中有空格。

(2)运行以下命令,列出已安装的JRE列表:

ls

(3)运行以下命令,删除指定JRE版本:请将 JavaAppletPlugin.plugin替换为你想删除的版本:

sudo rm -rf  JavaAppletPlugin.plugi

4. 删除Java相关文件和目录

在终端中运行以下命令,删除Java相关的文件和目录:

5. 清理系统环境变量

更多Java相关详情,请参考Java官网教程​​​​​​​。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

冲击大厂算法面试=>链表专题【链表删除】

冲击大厂算法面试>链表专题【链表删除】 本文学习目标或者巩固的知识点 学习如何删除链表中的某个节点 如何删除valk的节点如何删除倒数第n个节点 学习如何删除链表中的某些节点 涉及头节点问题如何解决 提前说明:算法题目来自力扣、牛客等等途径 &#x1f7e…

java课设之简易版客房管理系统(mvc三层架构)

(一)、系统概述: 客房管理系统是一个用于管理酒店客房信息的程序,主要功能包括客房信息录入、客房状态查询、客房订单管理,客房的预定功能。 (二)、功能说明: 1.登录:管理…

【Pytorch】从MoCo看无监督对比学习;从SupCon看有监督对比学习

目录 无监督对比学习:Moco文章内容理解代码解释 有监督对比学习:Supervised Contrastive Learning文章内容理解 无监督对比学习:Moco 文章内容理解 以下内容全部来自于:自监督学习-MoCo-论文笔记. 侵删 论文:Momentu…

一种基于javax.max注解的能力增强技术

目录 现有框架的不足之处 我的改进内容 改进的成果 现有框架的不足之处 Max是javax.validation包中的一个常用注解,用于对传入参数进行最大值校验。但是其校验区间为闭区间,且不支持修改,如:Max(2),表示表示传入参…

【解决(几乎)任何机器学习问题】:特征选择

当你创建了成千上万个特征后,就该从中挑选出⼏个了。但是,我们绝不应该创建成百上千个⽆⽤的特征。特征过多会带来⼀个众所周知的问题,即 "维度诅咒"。如果你有很多特征,你也必须有很多训练样本来捕捉所有特征。什么是 …

DC与DCT DCG的区别

先进工艺不再wire load model进行静态时序分析,否则综合结果与后端物理电路差距很大,因此DC综合工具也进行了多次迭代,DC工具有两种模式,包括wire load mode和Topographical Mode,也就是对应的DC Expert和DC Ultra。 …

JavaScript从零写网站《一瞬》开发日志20240223

产品介绍 一个无需注册能随时发布图片并配一段文字介绍的app,有时间线,用户在主页面向下滑动,可以看到被发布的若干图片,并且能够在每一个发布处做基本互动——评论,点赞 编程语言 本产品使用htmlcssJavaScript开发…

【数据结构】每天五分钟,快速入门数据结构(二)——链表

目录 一 构建一个单向链表 二 特点 三 时间复杂度 四 相关算法 1.判断链表是否成环及成环位置 2.链表反转 五 Java中的LinkedList 类 1.使用 2.LinkedList 方法 一 构建一个单向链表 // 设计链表结构class ListNode {int val;ListNode next;ListNode(){}ListNode(int…

《UE5_C++多人TPS完整教程》学习笔记24 ——《P25 完善菜单子系统(Polishing The Menu Subsystem)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P25 完善菜单子系统(Polishing The Menu Subsystem)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主&…

TongWEB(东方通),部署WEB前后端项目步骤

我的系统: 银河麒麟桌面系统V10(SP1)(兆芯) 环境需要搭建好,什么redis,数据库等 1.准备项目前端war包 (我后端项目本就是war部署,jar转war自行百度一下吧) 进入前端打包好的dist文件夹,创建一个文件夹 WEB-INF ,再在 WEB-INF 里创建一个 web.xml 文件,文件内容: <web-…

Linux——简单的Shell程序

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、Shell程序思路二、Shell代码展示 一、Shell程序思路 用下图的时间轴来表示事件的发生次序…

经典Go知识点总结

开篇推荐 来来来,老铁们,男人女人都需要的技术活 拿去不谢:远程调试,发布网站到公网演示,远程访问内网服务,游戏联机 推荐链接 1.无论sync.Mutex还是其衍生品都会提示不能复制,但是能够编译运行 加锁后复制变量&#xff0c;会将锁的状态也复制&#xff0c;所以 mu1 其实是已…

【JVM】Java中SPI机制

打破双亲委派模型中提到SPI和JDBC相关内容&#xff0c;那么是如何打破双亲委派模型呢?本文进行一个讲解&#xff0c;在开始讲解之前&#xff0c;我们需要先了解Java中的SPI机制 是什么 SPI 全称Service Provider Interface&#xff0c;是 Java 提供的一套用来被第三方实现或…

python jupyter notebook打开页面方便使用

如果没安装jupyter, 请安装&#xff1a; pip install jupyter notebook 运行jupyter notebook jupyter notebook

“政务服务+AI交互数字人”,重新定义政务服务体验

随着AIGC发展&#xff0c;各地方政务部门纷纷通过AI交互数字人技术&#xff0c;提升企业和群众的办事效率、满意度&#xff0c;以数字人有效推动政务服务数字化、智能化发展。 *图片源于网络 如高新区将数字人海蓝作为政务服务大使&#xff0c;让数字人化身AI交互数字人可以面…

k8s-heml联动harbor 18

将打包的heml包上传到harbor仓库进行管理 创建一个公开的项目来接收传送的heml包 安装helm-push插件&#xff1a; helm plugin install https://github.com/chartmuseum/helm-push &#xff08;在线安装&#xff0c;要求网速要快或者提供科学上网&#xff09; 离线安装&…

Ansible 简介及部署 基础模块学习 ansible部署rsync 及时监控远程同步

Ansible介绍&#xff1a; Ansible 是一个配置管理系统&#xff0c;当下最流行的批量自动化运维工具之一&#xff0c;它是一款开源的自动化工具&#xff0c;基于Python开发的配置管理和应用部署的工具。 Ansible 是基于模块工作的&#xff0c;它只是提供了一种运行框架&#xff…

5G网络建设 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 现需要在某城市进行5G网络建设&#xff0c;已经选取N个地点设置5G基站&#xff0c;编号固定为1到N&#xff0c; 接下来需要各个基站之间使用光纤进行连接以确保基…

Stable Diffusion 绘画入门教程(webui)-ControlNet(IP2P)

上篇文章介绍了深度Depth&#xff0c;这篇文章介绍下IP2P&#xff08;InstructP2P&#xff09;, 通俗理解就是图生图&#xff0c;给原有图加一些效果,比如下图&#xff0c;左边为原图&#xff0c;右边为增加了效果的图&#xff1a; 文章目录 一、选大模型二、写提示词三、基础参…

计算机网络:思科实验【1-访问WEB服务器】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;Cisco Packet Tracer实验 本文对应的实验报告源文件请关注微信公众号程序员刘同学&#xff0c;回复思科获取下载链接。 实验目的实验环境实验内容熟悉仿真软件访问WEB服务器 实验体会总结…