【探索Java编程:从入门到入狱】Day2

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

0x1 前言

0x2 JDK 安装

1、Windows 上安装 Java

1.1、配置环境变量

1.2、检测 Jdk 是否安装成功

2、Linux 上安装 Java

2.1、源码包解压

2.2、配置环境变量

2.3、检测是否安装成功

0x3 开发工具

1、IDEA安装

2、第一个Hello World

0x4 题目-2854 · 自定义注解

描述

代码解释:

解答:


0x1 前言

练习Java代码平台这里还是给师傅们推荐炼码https://www.lintcode.com/这个平台不错,有知识点学习以及代码学习。题目位置如下:https://www.lintcode.com/problem/2854

0x2 JDK 安装

1、Windows 上安装 Java

1.1、配置环境变量

点击 计算机——系统属性——高级系统设置——高级——环境变量

在环境对话框内有两个变量:上面的是用户变量(用于配置当前的用户);下面的是系统变量(配置所有的用户)。

TIPS:如果选择在用户变量中新建 JAVA_HOME,可能后面会出现 javac 不是内部或外部命令,也不是可运行的程序。
  1. 设置 JAVA_HOME:所以我们选择在系统变量新建。
JAVA_HOME
D:\java\jdk   (这是JDK的路径)

2. 设置 Path:在系统变量中编辑 Path(多个变量之间要用分号隔开)。

Path
%JAVA_HOME%\bin (JDK中的bin文件路径)

3. 设置 CLASSPATH:防止出现找不到或无法加载主类问题。

TIPS:变量值可以只填一个点,后面的变量写不写都是可以的,如果不放心的话可以加上。
CLASSPATH
.;D:\java\jdk\lib;D:\java\jdk\lib\dt.jar;D:\java\jdk\lib\tools.jar

1.2、检测 Jdk 是否安装成功

在命令窗口中输入 javac ,看看有没有出现下载类似的信息,代表安装成功。

2、Linux 上安装 Java

2.1、源码包解压

上传至 Linux 系统上,使用 xftp 将 JDK 源码包,上传到 /usr/local (软件一般安装到这个目录)。

使用解压命令解压。

[root@localhost local]# tar -zxvf jdk-8u181-linux-x64.tar.gz

2.2、配置环境变量

/etc/profile 文件的改变会涉及到系统的环境,也就是有关 Linux 环境变量的东西。所以需要将 JDK 配置到 /etc/profile,才可以在任何一个目录访问 JDK。

[root@localhost local]# vim /etc/profile

i 进入编辑,在 profile 文件尾部添加如下内容。

export JAVA_HOME=/usr/local/jdk1.8.0_181  #jdk安装目录
 
export JRE_HOME=${JAVA_HOME}/jre
 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
 
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
 
export PATH=$PATH:${JAVA_PATH}

使用 Esc --> :wq 保存并退出编辑,通过命令 source /etc/profileprofile 文件立即生效。

[root@localhost local]# source /etc/profile

2.3、检测是否安装成功

显示版本号就是安装成功了。

[root@localhost local]# java -version

0x3 开发工具

正所谓工欲善其事必先利其器,我们在开发 Java 语言过程中同样需要一款不错的开发工具,目前市场上的 IDE 很多,本文为大家推荐以下下几款 Java 开发工具:

  • Eclipse:另一个免费开源的 Java IDE,下载地址:Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 open source projects...
  • Netbeans:开源免费的 Java IDE,下载地址:Welcome to Apache NetBeans
  • JetBrains(推荐) 的 IDEA,现在很多人开始使用了,功能很强大,下载地址:Download IntelliJ IDEA – The Leading Java and Kotlin IDE

1、IDEA安装

  1. 进入 IDEA 官方下载页面,点击 Download 下载。

 2. IntelliJ IDEA 是一款跨平台的开发工具,支持 Windows、Mac、Linux 等操作系统,选择我们需要的版本进行下载(以 Windows 为例)。

 3. 点击下载后可能需要注册,一般情况下,不用理会,浏览器会自动进行下载,等待下载完成即可。

 4.下载完成后,我们会得到一个 IntelliJ IDEA 安装包,双击打开下载的安装包,选择 Next,正式开始安装。

 5.设置 IDEA 的安装目录,建议不要安装在系统盘(通常 C 盘是系统盘),这里选择安装到 D 盘。

 6 .自行选择需要的功能,若无特殊需求,按图中勾选即可。

TIPS:

Create Desktop Shortcut:创建桌面快捷方式图标,建议勾选 64-bit launcher;
Update context menu:是否将从文件夹打开项目添加至鼠标右键,根据需要勾选;
Create Associations:关联文件格式,可以不推荐勾选,使用如 Sublime Text、EditPlus 等轻量级文本编辑器打开;
Download and install 32-bit JetBrains Runtime:下载并安装 JetBrains 的 JRE。如果已经安装了JRE,则无需勾选此项;
Update PATH variable (restart needed):是否将 IDEA 启动目录添加到环境变量中,即可以从命令行中启动 IDEA,根据需要勾选。

 7.选择开始菜单文件夹后,点击 Install 等待安装。

 8.等待安装进度条达到 100% 后,点击 Finish,IntelliJ IDEA 就安装完成了。可以勾选 Run IntelliJ IDEA 选项,表示关闭此窗口后运行 IDEA。

2、第一个Hello World

IDEA 安装成功后,我们就可以开始编写第一个 Java 程序了。

0x4 题目-2854 · 自定义注解

描述

在日常的工作开发中,我们经常需要给一个对象中的属性赋值,现在需要您创建一个自定义注解,来帮助我们完成属性赋值。请您将 MyAnnotation 类修改成一个自定义注解,并添加属性 name(String)age(int) 。您可以查看 Main 类中的执行流程,来观察程序的运行机制。

import java.lang.annotation.*;


public class MyAnnotation {

}


代码解释:
  1. @Documented:表示该注解会被 javadoc 工具识别,并加入到生成的文档中。
  2. @Retention(RetentionPolicy.RUNTIME):指定了注解的保留策略为 RUNTIME,表示这个注解会在运行时可通过反射获取,可以在运行时处理。
  3. @Target({ElementType.FIELD}):指定了注解的作用目标为字段(Field),表示这个注解只能用在类的字段上。
  4. 注解声明中包含两个属性:name() age(),分别用来存储注解的名称和年龄。

解答:
import java.lang.annotation.*;

//注释加入到文档
@Documented
//注解保留到什么阶段
@Retention(RetentionPolicy.RUNTIME)
//指定注解用在哪些目标上
@Target({ ElementType.FIELD})
public @interface MyAnnotation {
    int age() ;
    String name();
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32 USB HID报告描述符没有报告长度

STM32 USB HID设置(STM32CubeMX)_我也想成大侠的博客-CSDN博客 不影响鼠标功能

神经网络中多层卷积的作用

在神经网络中采用多层卷积的目的是为了逐步提取和组合图像的抽象特征,从而更有效地学习数据的表示并执行复杂的任务。不同层的卷积具有不同的作用,从较低层次的特征(例如边缘、纹理)到较高层次的抽象特征(例如物体部件…

中国AI崛起!领先全球实现胰腺癌早筛,打破美国垄断!

人工智能在医疗领域的应用近年来备受关注,尤其是在癌症早筛领域。近期,斯坦福大学发布了《2024年AI指数报告》,透露2023年美国人工智能投资额为672亿美元,是中国的约8.7倍。其中,阿里巴巴达摩院(湖畔实验室…

【Godot4.2】有序和无序列表函数库 - myList

概述 在打印输出或其他地方可能需要构建有序或无序列表。本质就是构造和维护一个纯文本数组。并用格式化文本形式,输出带序号或前缀字符的多行文本。 为此我专门设计了一个类myList,来完成这项任务。 代码 以下是myList类的完整代码: # …

AI对决:谷歌 VS 微软,谁更赚钱|TodayAI

尽管Alphabet和微软都发布了强劲的季度财报,显示两家科技巨头均超越了销售和利润的预期,但在生成式人工智能(AI)领域的投资回报方面,它们展现了不同的情况。Alphabet的CEO桑达尔皮查伊表示,他对Google通过出…

【Win】PsPing:深入网络性能测试与故障排查

在维护 Azure 虚拟机的过程中,可能会遇到一些网络连通性的问题。例如,当您尝试从个人 PC 上 ping 虚拟机的公网 IP 地址时,可能会发现出现 “Request time out” 的信息,导致无法 ping 通。这种情况的发生,通常是因为在…

【C++打怪之路Lv3】-- 类和对象(上)

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…

IDEA上配置Maven环境

1.选择IDEA中的Setting 2.搜索maven 3.设置IDEA使用本地安装的Maven,并修改配置文件路径 配置文件,本地仓库,阿里云仓库配置及路径教程 在IDEA上配置完成。

Java学习路线及自我规划

荒废了一段时间,这段时间的总结开始了JavaWeb的学习但是困难重重,例如Maven,Vue的路由等,所以我反省了一段时间,因为基础薄弱,加之学习的资源是速成视频,导致大厦将倾的局面(也算不上…

Golang | Leetcode Golang题解之第52题N皇后II

题目: 题解: func totalNQueens(n int) (ans int) {columns : make([]bool, n) // 列上是否有皇后diagonals1 : make([]bool, 2*n-1) // 左上到右下是否有皇后diagonals2 : make([]bool, 2*n-1) // 右上到左下是否有皇后var backtrack func(int)…

使用预训练模型构建自己的深度学习模型(迁移学习)

在深度学习的实际应用中,很少会去从头训练一个网络,尤其是当没有大量数据的时候。即便拥有大量数据,从头训练一个网络也很耗时,因为在大数据集上所构建的网络通常模型参数量很大,训练成本大。所以在构建深度学习应用时…

【redis】Redis数据类型(二)Hash类型

目录 Hash类型介绍特性hash 的内部编码方式/底层结构hashtableziplistlistpack 适用场景举例 常用命令hset示例 hsetnx示例: hmset示例 hget示例 hmget示例 hgetall示例 hdel示例 hlen示例 hexists示例 hincrby示例 hincrbyfloat示例 hkeys示例 hvals示例 Hash类型介…

VS2019编译OSG3.7.0+OSGEarth3.3+OSGQt5.15.2时遇到的问题及解决方法

注:本次编译以文章《VS2019编译OSG3.7.0+OSGEarth3.3+OSGQt》为基础搜集资料并进行编译 一 OSG编译 1.Osg3.7.0编译中,cmake阶段按照文章步骤即可。 2.另外,还需要对以下三项进行设置,参照《OSG-OpenSceneGraph在WIN10与VS2022下的部署(OSG3.6.5+VS2022+Win10_x64)个…

RustGUI学习(iced)之小部件(二):如何使用滑动条部件

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述…

mybatis基本使用

文章目录 1. mybatis2. 基本使用(1) maven坐标(2) 配置文件编写(3) 数据库操作(4) 注解查询 2. 基本配置(1) 读取外部配置文件(2) mapper映射 3. 映射文件查询删除/修改/新增 动态sql 1. mybatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高…

CSS盒子模型(如果想知道CSS有关盒子模型的知识点,那么只看这一篇就足够了!)

前言:在网页制作的时候,我们需要将网页中的元素放在指定的位置,那么我们如何将元素放到指定的位置上呢?这时候我们就需要了解盒子模型。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSD…

sCrypt全新上线RUNES功能

sCrypt智能合约平台全新上线一键etch/mint RUNES功能! 请访问 https://runes.scrypt.io/ 或点击阅读原文体验! 关于sCrypt sCrypt是BSV区块链上的一种智能合约高级语言。比特币使用基于堆栈的Script语言来支持智能合约,但是用原生Script编…

网络靶场实战-物联网安全Unicorn框架初探

背景 Unicorn 是一款基于 QEMU 的快速 CPU 模拟器框架,可以模拟多种体系结构的指令集,包括 ARM、MIPS、PowerPC、SPARC 和 x86 等。Unicorn使我们可以更好地关注 CPU 操作, 忽略机器设备的差异。它能够在虚拟内存中加载和运行二进制代码,并提…

密码加密案例

文章目录 描述思路错误关于增强for循环改变不了数组的值这一现象的疑问代码反思 描述 思路错误 应该是将其放入数组,而不是单纯的读到,因为你要对每一位数字进行操作 关于增强for循环改变不了数组的值这一现象的疑问 我们尝试使用增强for循环 键盘输…

uniapp使用地图开发app

使用uniapp开发app中使用到地图的坑: 1、简单使用地图的功能比较简单,仅使用到地图选点和定位功能:(其中问题集中在uni.chooseLocation中)下面是api官网地址 uni.getLocation(OBJECT) | uni-app官网 官方建议app端使…