Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
L在前方
Hello World
展开
-
java实现人民币转换大写
使用java实现人民币转换大写。原创 2024-10-25 17:22:45 · 270 阅读 · 0 评论 -
安装rocketmq
变量值:E:\rocketMQ\rocketmq-all-5.2.0-bin-release(Rocketmq安装目录,注:存放目录不要有空格,可能会报错)1.进入官网https://archive.apache.org/dist/rocketmq/变量名:ROCKETMQ_HOME。原创 2024-06-18 09:30:12 · 282 阅读 · 0 评论 -
启动rocketmq
方式一:找到rocketmq安装目录,在bin目录下找到 mqnamesrv.cmd 双击启动。方式二:bin 目录 cmd 输入命令回车,输入。bin 目录 cmd 输入命令回车,输入。原创 2024-06-18 09:21:49 · 594 阅读 · 0 评论 -
Windows本地启动rocketMQ
Windows中运行rocketmq并且启动可视化界面原创 2024-06-05 17:32:11 · 381 阅读 · 0 评论 -
idea中快速启动consul
1.打开settings2.选择Tools->External Tools->+3.配置名称、文件路劲、启动命令4.鼠标右键,选择External Tools,就可以看到配置好的,点击所需要的即可原创 2024-05-11 16:57:39 · 350 阅读 · 0 评论 -
Java实现导出Excel(Apache POI)
Java可以通过Apache POI库来实现导出Excel文件超详细的步骤及示例代码:原创 2024-01-09 17:30:11 · 1007 阅读 · 0 评论 -
单位转换工具类
Java单位转换的工具类:包含 1.元转分(不保留小数)2.元转分(保留小数点后两位)3.分转元(不保留小数)4.分转元(保留小数点后两位)5.保留小数点后一位6.保留小数点后两位7.保留小数点后三位原创 2024-01-09 17:09:44 · 614 阅读 · 0 评论 -
验证是否成功安装了 Java 环境
执行 Java 示例程序:还可以编写一个简单的 Java 程序并在容器中编译并运行它以验证 Java 是否正常工作。运行容器:首先,请确保已使用 Docker 运行了 Java 容器。如果成功运行,将在命令行中看到输出的 “Hello, World!通过以上步骤,可以验证 Java 是否已经成功安装并且能够正常工作。如果成功安装了 Java,将会显示 Java 的版本信息。原创 2023-08-27 10:47:18 · 1075 阅读 · 0 评论 -
在 CentOS 7 中使用 Docker 来下载和运行 Java 环境
现在,已经成功地使用 Docker 在 CentOS 7 中下载和运行了 Java 环境。搜索并下载 Java 镜像:使用 Docker 的 pull 命令搜索并下载适用于您所需版本的 Java 镜像。在 CentOS 7 中,可以使用 Docker 来下载和运行 Java 环境。安装 Docker:首先,确保 CentOS 7 系统中已经安装了 Docker。运行 Java 容器:使用以下命令来基于已下载的 Java 镜像创建并运行一个容器。运行此命令后,将进入 Java 容器的命令行界面。原创 2023-08-27 10:43:13 · 499 阅读 · 0 评论 -
启动并运行 Elasticsearch 容器
这样,就可以通过访问 http://localhost:9200 来访问 Elasticsearch 的 HTTP API,并开始使用 Elasticsearch。-p 9200:9200:将容器的 9200 端口映射到宿主机的 9200 端口,用于访问 Elasticsearch 的 HTTP API。-p 9300:9300:将容器的 9300 端口映射到宿主机的 9300 端口,用于 Elasticsearch 节点之间的通信。这将启动名为 elasticsearch 的容器。原创 2023-08-27 10:40:59 · 539 阅读 · 0 评论 -
在 CentOS 中使用 Docker 安装 Elasticsearch
访问 Elasticsearch 的 REST API 来测试是否正常运行。请确保的防火墙或网络设置允许访问该端口。现在,已经成功在 CentOS 中使用 Docker 安装了 Elasticsearch。的容器,并将 Elasticsearch 的端口映射到主机的 9200 和 9300 端口上。的容器正在运行,并且端口 9200 和 9300 已经映射到主机。运行以上命令将安装 Docker 并启动 Docker 服务。此命令将创建一个名为。原创 2023-08-27 09:40:33 · 246 阅读 · 0 评论 -
启动rabbitmq
这将启动名为 “myrabbitmq” 的容器。请注意,使用该命令启动容器时,不需要再指定端口映射等参数,因为这些参数在容器被创建时已经设置好了。请确保在执行上述命令之前,已经正确安装了 Docker,并且已经创建了名为 “myrabbitmq” 的容器。执行以上命令后,等待一段时间,让 RabbitMQ 容器启动并初始化。如果容器状态显示为 “Up”,则表示 RabbitMQ 容器已成功启动。原创 2023-08-26 09:20:49 · 332 阅读 · 0 评论 -
在 CentOS 7 中使用 Docker 安装 Redis
在 CentOS 7 中使用 Docker 安装 Redis,可以按照以下步骤进行操作在 CentOS 7 中使用 Docker 安装 Redis,可以按照以下步骤进行操作原创 2023-08-25 09:11:53 · 503 阅读 · 0 评论 -
在Contos7中启动已安装的 Redis 容器
如果希望在系统启动时自动启动 Redis 容器,可以使用 Docker 的 --restart 参数来为容器配置自动重启。请注意,这只是基本的启动 Redis 容器的步骤。根据的具体需求,可能需要进一步配置和管理 Redis 容器。可以通过连接到 Redis 容器来执行各种 Redis 命令和操作。其中 “my-redis” 是之前为 Redis 容器指定的容器名称。这样配置后,Redis 容器将在系统启动时自动启动,并且在发生故障或重启时也会自动重新启动。这将列出所有的容器,包括停止的容器。原创 2023-08-25 09:17:39 · 87 阅读 · 0 评论 -
在centOS中使用docker来安装rabbitmq
这将创建一个名为 “myrabbitmq” 的容器,并将主机的端口 5672 映射到容器内的 RabbitMQ 默认端口 5672(用于 AMQP 协议),以及将主机的端口 15672 映射到容器内的 RabbitMQ 管理界面端口 15672。现在,可以通过 AMQP 协议连接到 RabbitMQ 容器的主机地址和端口(例如:localhost:5672),或者通过浏览器访问 RabbitMQ 管理界面(例如:localhost:15672)进行配置和管理。原创 2023-08-26 09:11:58 · 228 阅读 · 0 评论 -
MacOS启动RocketMQ步骤
MacOS启动RocketMQ步骤原创 2023-07-20 21:35:29 · 745 阅读 · 0 评论 -
将nacos脚本放到idea中做为启动项
将nacos脚本放到idea中做为启动项原创 2023-07-20 21:19:47 · 445 阅读 · 0 评论 -
接口是否可继承(extends)接口? 抽象类是否可实现 (implements)接口? 抽象类是否可继承具体类(concrete class)?
答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类可以继 承具体类。抽象类中可以有静态的 main 方法。 备注:只要明白了接口和抽象类的本质和作用,这些问题都很好回答,你想 想,如果你是 java 语言的设计者,你是否会提供这样的支持,如果不提供 的话,有什么理由吗?如果你没有道理不提供,那答案就是肯定的了。 只有记住抽象类与普通类的唯一区别就是不能创建实例对象和允许有 abstract 方法。...原创 2020-11-06 21:18:12 · 1012 阅读 · 0 评论 -
抽象的(abstract)方法是否可同时是静态的(static),是否 可同时是本地方法(native),是否可同时被 synchronized 修饰?
抽象的(abstract)方法是否可同时是静态的(static),是否 可同时是本地方法(native),是否可同时被 synchronized 修饰?答:都不能。抽象方法需要子类重写,而静态的方法是无法被重写的,因此 二者是矛盾的。本地方法是由本地代码(如 C 代码)实现的方法,而抽象方法是没有实现的,也是矛盾的。synchronized 和方法的实现细节有关,抽象方法不涉及实现细节,因此也是相互矛盾的。...原创 2020-11-06 21:12:59 · 741 阅读 · 0 评论 -
静态变量和实例变量的区别?
静态变量和实例变量的区别?答:静态变量是被 static 修饰符修饰的变量,也称为类变量,它属于类,不 属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有 且仅有一个拷贝;实例变量必须依存于某一实例,需要先创建对象然后通过 对象才能访问到它,静态变量可以实现让多个对象共享内存。两者的相同点: 都有默认值而且在类的任何地方都可以调用。在 Java 开发中,上下文类和 工具类中通常会有大量的静态成员。...原创 2020-11-06 21:12:03 · 224 阅读 · 0 评论 -
为什么不能根据返回 类型来区分重载,为什么?
为什么不能根据返回 类型来区分重载,为什么?答:方法的重载,即使返回值类型不同,也不能改变实现功能相同或类似这 一既定事实;同时方法的重载只是要求两同三不同,即在同一个类中,相同的方法名称,参数列表当中的参数类型、个数、顺序不同;跟权限修饰符和返回值类无关...原创 2020-11-06 21:11:02 · 391 阅读 · 0 评论 -
重载(Overload)和重写(Override)的区别。重载的方法 能否根据返回类型进行区分?
重载(Overload)和重写(Override)的区别。重载的方法 能否根据返回类型进行区分?答:Java 的三大特征之一,多态机制,包括方法的多态和对象的多态;方法 的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性, 而后者实现的是运行时的多态性。重载(overload)发生在同一个类中,相 同的方法,如果有不同的参数列表(参数类型不同、参数个数不同或者二者 都不同)则视为重载;重写(override)发生在子类与父类之间也就是继承 机制当中,当父类的方法不能满足子类的要求,此时子类原创 2020-11-06 21:05:50 · 353 阅读 · 0 评论 -
在 Java 中,如何跳出当前的多重嵌套循环?
在 Java 中,如何跳出当前的多重嵌套循环?答:在最外层循环前加一个标记如 A,然后用 break A;可以跳出多重循环。 (Java 中支持带标签的 break 和 continue 语句,作用有点类似于 C 和 C++ 中的 goto 语句,但是就像要避免使用 goto 一样,应该避免使用带标签的 break 和 continue,因为它不会让你的程序变得更优雅,很多时候甚至有 相反的作用,所以这种语法其实不知道更好)...原创 2020-11-03 22:40:06 · 255 阅读 · 1 评论 -
Java 有没有 goto?
Java 有没有 goto?答: goto 是 Java 中的保留字,在目前版本的 Java 中没有使用。(根据 James Gosling(Java 之父)编写的《The Java Programming Language》 一书的附录中给出了一个 Java 关键字列表,其中有 goto 和 const,但是这 两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留 字这个词应该有更广泛的意义,因为熟悉 C 语言的程序员都知道,在系统类 库中使用过的有特殊意义的单词或单词的组合都被视为保留字原创 2020-11-03 22:39:09 · 242 阅读 · 0 评论 -
成员变量用 static 修饰和不用 static 修饰有什么区别?
成员变量用 static 修饰和不用 static 修饰有什么区别? 1、两个变量的生命周期不同。 成员变量随着对象的创建而存在,随着对象的被回收而释放。 静态变量随着类的加载而存在,随着类的消失而消失。 2、调用方式不同。成员变量只能被对象调用。 静态变量可以被对象调用,还可以被类名调用。对象调用:p.country类名调用 :Person.country 3、别名不同。 成员变量也称为实例变量。 静态变量称为类变量。 4、数据存储位置不同。 成员变量数据存储在堆内存的对象中,所以也原创 2020-11-03 22:38:16 · 2055 阅读 · 0 评论 -
Java 中 int.long 占用的字节数分别是
Java 中 int.long 占用的字节数分别是分析:1:“字节”是 byte,“位”是 bit ;2: 1byte=8bit ;char 在 Java 中是 2 个字节。java 采用 unicode,2 个字节(16 位)来表 示一个字符。short 2 个字节int 4 个字节long 8 个字节...原创 2020-11-03 22:36:50 · 393 阅读 · 0 评论 -
可序列化对象为什么要定义 serialversionUID 值?
可序列化对象为什么要定义 serialversionUID 值?答: SerialVersionUid,简言之,其目的是序列化对象版本控制,有关各版本反序列化时是否兼容。如果在新版本中这个值修改了,新版本就不兼容旧 版本,反序列化时会抛出 InvalidClassException 异常。如果修改较小,比 如仅仅是增加了一个属性,我们希望向下兼容,老版本的数据都能保留,那 就不用修改;如果我们删除了一个属性,或者更改了类的继承关系,必然不 兼容旧数据,这时就应该手动更新版本号,即SerialVersi原创 2020-11-03 22:34:44 · 367 阅读 · 0 评论 -
静态内部类和内部类有什么区别
静态内部类和内部类有什么区别 答: 静态内部类不需要有指向外部类的引用。但非静态内部类需要持有对外部类 的引用。 静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成 员(方法,属性)。 非静态内部类能够访问外部类的静态和非静态成员。静态内部类不能访问外 部类的非静态成员,只能访问外部类的静态成员。实例化方式不同:静态内部类:不依赖于外部类的实例,直接实例化内部类对象非静态内部类:通过外部类的对象实例生成内部类对象...原创 2020-11-03 22:32:35 · 434 阅读 · 0 评论 -
同步代码块和同步方法有什么区别
同步代码块和同步方法有什么区别相同点: 同步方法就是在方法前加关键字 synchronized,然后被同步的方法一次只 能有一个线程进入,其他线程等待。而同步代码块则是在方法内部使用大括 号使得一个代码块得到同步。同步代码块会有一个同步的“目标”,使得同 步块更加灵活一些(同步代码块可以通过“目标”决定需要锁定的对象)。 一般情况下,如果此“目标”为 this,同步方法和代码块没有太大的区别。区别: 同步方法直接在方法上加 synchronized 实现加锁,同步代码块则在方法内 部加锁。很明显原创 2020-11-03 22:28:39 · 6371 阅读 · 1 评论 -
接口和抽象类的区别
接口和抽象类的区别答: 相同点 抽象类和接口均包含抽象方法,类必须实现所有的抽象方法,否则是抽象类 抽象类和接口都不能实例化,他们位于继承树的顶端,用来被其他类继承和实现 两者的区别主要体现在两方面:语法方面和设计理念方面 语法方面的区别是比较低层次的,非本质的,主要表现在: 接口中只能定义全局静态常量,不能定义变量。抽象类中可以定义常量和变量。 接口中所有的方法都是全局抽象方法。抽象类中可以有 0 个、1 个或多个,甚至全部都是抽象方法。 抽象类中可以有构造方法,但不能用来实例化原创 2020-11-03 22:27:25 · 545 阅读 · 0 评论 -
简述 Java 中如何实现多态
简述 Java 中如何实现多态实现多态有三个前提条件:1、 继承的存在;(继承是多态的基础,没有继承就没有多态)。2、子类重写父类的方法。(多态下会调用子类重写后的方法)。3、父类引用变量指向子类对象。(涉及子类到父类的类型转换)。...原创 2020-11-03 22:23:08 · 2039 阅读 · 0 评论 -
在 Java 中,为什么基本类型不能做为 HashMap 的键值,而 只能是引用类型,把引用类型做为 HashMap 的健值,需要注意 哪些地方
在 Java 中,为什么基本类型不能做为 HashMap 的键值,而 只能是引用类型,把引用类型做为 HashMap 的健值,需要注意 哪些地方。答:(1) 在 Java 中是使用泛型来约束 HashMap 中的 key 和 value 的类型的, 即 HashMap<K, V>;而泛型在 Java 的规定中必须是对象 Object 类型的, 也就是说 HashMap<K, V>可以理解为 HashMap<Object, Object>,很显 然基本数据类型不是 Ob原创 2020-11-03 22:21:45 · 1035 阅读 · 0 评论 -
匿名内部类可不可以继承或实现接口。为什么?
匿名内部类可不可以继承或实现接口。为什么?答:匿名内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作 为一个接口,由另一个内部类实现. 1、由于匿名内部类没有名字,所以它没有构造函数。因为没有构造函数, 所以它必须完全借用父类的构造函数来实例化,换言之:匿名内部类完全把 创建对象的任务交给了父类去完成。 2、在匿名内部类里创建新的方法没有太大意义,但它可以通过覆盖父类的 方法达到神奇效果,如上例所示。这是多态性的体现。 3、因为匿名内部类没有名字,所以无法进行向下的强制类型转换,持有对一个匿名内原创 2020-11-02 17:34:32 · 2852 阅读 · 0 评论 -
不通过构造函数也能创建对象吗?
不通过构造函数也能创建对象吗?Java 创建对象的几种方式(重要):1、 用 new 语句创建对象,这是最常见的创建对象的方法。2、 运用反射手段,调用 java.lang.Class 或者 java.lang.reflect.Constructor 类的 newInstance()实例方法。3、 调用对象的 clone()方法。4、运用反序列化手段,调用 java.io.ObjectInputStream 对象的 readObject()方法。(1)和(2)都会明确的显式的调用构造函数 ;(3原创 2020-11-02 17:30:04 · 1604 阅读 · 0 评论 -
说明内存泄漏和内存溢出的区别和联系,结合项目经验描述 Java 程序中如何检测?如何解决?
说明内存泄漏和内存溢出的区别和联系,结合项目经验描述 Java 程序中如何检测?如何解决? 内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现 out of memory;比如申请了一个 integer,但给它存了 long 才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的 内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论 多少内存,迟早会被占光。 memory leak 会最终会原创 2020-11-02 17:07:41 · 217 阅读 · 0 评论 -
面向对象的特征有哪些方面?请用生活中的例子来描述。
面向对象的特征有哪些方面?请用生活中的例子来描述。答: 面向对象的三大特征:封装、继承、多态。举例:(比如设计一个游戏)我现在创建了一个对象,名叫战士。 战士的属性是—性别,年龄,职业,等级,战斗力,血量。 它的方法—战斗,逃跑,吃饭,睡觉,死。 后来,我又建了一个对象,叫人。 属性:性别,年龄,职业,等级,血量 方法:逃跑,吃饭,睡觉,死。 我让人,成为战士的父类,战士可以直接继承人的属性和方法。 战士修改成—属性:战斗力。方法:战斗。 看上去战士的资料变少了,实际上没有,我们仍然可以调用方法—战原创 2020-11-02 17:06:26 · 1680 阅读 · 0 评论 -
java.sql.Date 和 java.util.Date 的联系和区别
java.sql.Date 和 java.util.Date 的联系和区别 1) java.sql.Date 是 java.util.Date 的子类,是一个包装了毫秒值的瘦包装 器,允许 JDBC 将毫秒值标识为 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。 为了与 SQL DATE 的定义 一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间、分钟、秒和毫 秒设置为与该实例相关的特定时区中的零来“规范化”。 说白了,原创 2020-11-02 17:04:19 · 379 阅读 · 0 评论 -
Integer 与 int 的区别
Integer 与 int 的区别 int 是 java 提供的 8 种原始数据类型之一,Java 为每个原始类型提供了封装类,Integer 是 java 为 int 提供的封装类。 int 的默认值为 0,而 Integer 的默认值为 null,即 Integer 可以区分出未赋 值和值为 0 的区别,int 则无法表达出未赋值的情况,例如,要想表达出没 有参加考试和考试成绩为 0 的区别,则只能使用 Integer。在 JSP 开发中, Integer 的默认为 null,所以用 el 表达原创 2020-11-02 17:02:39 · 117 阅读 · 1 评论 -
简述 Java 的垃圾回收机制
简述 Java 的垃圾回收机制传统的 C/C++语言,需要程序员负责回收已经分配内存。 显式回收垃圾回收的缺点:1)程序忘记及时回收,从而导致内存泄露,降低系统性能。2)程序错误回收程序核心类库的内存,导致系统崩溃。Java 语言不需要程序员直接控制内存回收,是由 JRE 在后台自动回收不再使 用的内存,称为垃圾回收机制,简称 GC;1)可以提高编程效率。2)保护程序的完整性。3)其开销影响性能。Java 虚拟机必须跟踪程序中有用的对象,确定哪些是无用的。 垃圾回收机制的特点1)垃圾回收机原创 2020-11-02 17:00:53 · 1180 阅读 · 0 评论 -
写出 java.lang.Object 类的六个常用方法
写出 java.lang.Object 类的六个常用方法(1) public boolean equals(java.lang.Object) 比较对象的地址值是否相等,如果子类重写,则比较对象的内容是否相等; (2)public native int hashCode() 获取哈希码(3)public java.lang.String toString() 把数据转变成字符串(4)public final native java.lang.Class getClass() 获取类结构信息 (5)pr原创 2020-11-02 16:56:18 · 1320 阅读 · 0 评论