JAVA
java的学习与开发
剑小麟
软件工程专业,热衷于后端语言与算法,目前主要更新数据结构与算法、java、C++、数据库以及计算机组成原理等内容
展开
-
在MAVEN中版本依赖有冲突改怎么处理
如果存在版本冲突,通常可能会引发的报错是ClassNotFoundException、NoSuchMethodError等错误。Maven依赖版本冲突通常是由于间接依赖导致同一个jar包存在多个不同版本。例如,如果B依赖了A的1.0版本,而C依赖了A的2.0版本,当项目同时依赖B和C时,A的两个不同版本被引入项目中,就会间接依赖A的1.0和2.0版本。产生对应的冲突依赖。原创 2024-08-18 20:26:14 · 550 阅读 · 0 评论 -
maven导入依赖后依然爆红?
今天遇到了maven导入依赖后依然爆红的问题,检查了本地仓库发现依赖包已经全有了但是IDEA这边的XML文件里面依然大量爆红;并且我重新将之前的本地仓库相关的依赖包甚至其上级目录进行了删除后重新导入,但问题依然没有解决;我的这个项目是一个微服务项目,这算是创建的一个父类模块,负责进行版本依赖管理的一个模块,前期先根据一些网上的资料在xml文件进行了一些比较基础的依赖导入,但这个xml文件里在进行maven更新后依然爆红,但是在控制台显示的是成功,没有任何报错。原创 2024-08-11 22:58:32 · 754 阅读 · 0 评论 -
Java线程中sleep()、wait()、yield()、join()方法的使用
wait(): 该方法属于 Object 类,在这个过程里线程会释放对象锁,只有当其他线程调用 notify()或notifyAIl()才能唤醒此线程。yield(): yield是 Thread 类中的方法,能够暂停当前正在执行的线程对象,不会释放资源锁,也被称为礼让线程,和 sleep 不同的是 yield方法并不会让线程进入阻塞状态,而是让线程重回就绪状态,使用该方法后,需要与其它线程再次重新争夺CPU,谁抢到谁执行。通常谁调用,谁先完成执行。notifyAll(): 唤醒所有当前对象锁等待的线程。原创 2023-10-24 23:09:17 · 683 阅读 · 0 评论 -
垃圾回收算法有哪些
复制算将内存分为两块,一块用于使用,一块用于复制存活对象。优点是能够解决标记清理效率低的问题,减少内存碎片。缺点是该算法的内存利用率只有一半。minorGC一般都采用复制算法。原创 2023-09-30 16:50:00 · 186 阅读 · 0 评论 -
Nacos的作用及用法
第一部分,它是在application.yaml中配置的应用名,即spring.application.name的值。也叫服务发现中心,微服务将自己注册到服务注册中心,服务间远程调用通过服务注册中心获取目标服务的地址,从而进行远程调用。Yaml: 第三部分,它是配置文件 的后缀,目前nacos支持properties、yaml等格式类型。dev:第二部分,它是环境名,通过spring.profiles.active指定,Dataid: 包括三部分:服务名、环境名、扩展名,然后要在nacos添加配置文件。原创 2023-09-26 17:01:03 · 554 阅读 · 0 评论 -
Spring中的IOC和AOP
IOC即控制反转,把对象的创建,属性设置,初始化,销毁等控制权交给Spirng的IOC容器去管理,由Spring框架去创建实例和管理实例之间的依赖关系,解放程序员的劳动力。对象被注册到Spring的IOC容器中,使用的时候从容器中获取即可,它通过依赖注入,将需要的外部资源注入到组件中,使用IOC使得对象之间的耦合度降低,资源变得容易管理。Spring容器在初始化时先读取配置文件,根据配置文件或元数据,创建并组织对象存入容器中,程序使用时再从Ioc容器中取出需要的对象。原创 2023-09-26 11:28:35 · 112 阅读 · 0 评论 -
类的实例化顺序是什么样的?
第五、子类实例成员与实例初始化块按顺序执行,随后子类进行构造。修饰符的静态初始化快按照代码顺序率先执行。第三,父类实例成员与实例初始化块按顺序执行。修饰符的静态初始化快按照代码顺序执行。第二、 子类静态成员与使用了。首先、父类静态成员与使用了。第四、父类方法构造。原创 2023-02-01 16:07:58 · 250 阅读 · 0 评论 -
java中==与equals有哪些区别
2.在类类型中,==中比较的是地址值,如果equals没有在类类型中被重写,则同样比较的是地址值。当equals被重写方法以后,则会比较两者之间的值是否完全相等。1.首先,在基本数据类型的使用中来说,全都使用的是==,不使用equals,equals是在类类型中使用。例如,在String 类型中,equals的对比方法是要求两个字符串之间要完全一样,包括大小写也必须一样。原创 2023-02-01 12:49:30 · 155 阅读 · 0 评论 -
java中的switch支持的数据类型有哪些?
1、switch中支持的数据类型有整型类型:bate、short、int、char。2、switch中支持的数据类型有枚举类型:enum等。3、switch中支持的数据类型有String类型。原创 2023-02-01 12:36:01 · 3010 阅读 · 0 评论 -
java中TreeSet的详解与使用
TreeSet中的可排序指的是 1.对于数值类型的数据默认进行升序排序。LinkedSet集合:数据不重复、有序、无索引、增删改查较快(基于哈希表和双链表);LinkedList集合: 数据可重复、有索引、首位数据增删快(基于链表);HashSet集合:数据不重复、无序、无索引、增删改查较快(基于哈希表);TreeSet集合:根据自身需求对数据进行排序等操作(基于红黑树)。TreeSet集合的特点是 可排序,不重复,无索引。ArrayList集合:数据可重复、有索引、查询快(基于数组);...原创 2022-08-26 14:49:35 · 1853 阅读 · 0 评论 -
java中List集合的几种遍历方式
【代码】java中List集合的几种遍历方式。原创 2022-08-24 11:16:56 · 7457 阅读 · 0 评论 -
java中Collection集合的体系与特点
Collection集合表示单列集合,指每个集合元素中只含有一个数据。该集合包含了两大集合体系:分别是List系列和Set系列。List系列集合中添加的数据是 可重复、有序且有索引的。Set系列集合中添加的数据是 不可重复、无序且无索引的。集合支持泛型且不支持基本类型,支持引用类型数据。原创 2022-08-21 11:55:33 · 314 阅读 · 0 评论 -
Java中的升序和降序
comparator接口只能使用引用元素进行排序,在该接口比较器中,当进行升序排序时,如果认为左边数据大于右边数据则返回正整数,右边大于左边返回负整数,相等返回0,这样就能进行一个完整的升序排序操作。降序排序则反之,左>右为返回负整数,以此类推。而我们的comparator还有一种简便方法来进行排序操作,即无需在该接口中进行if语句的判断,而是将两个值直接相减,以此来判断正负值。原创 2022-08-19 21:21:19 · 8032 阅读 · 0 评论 -
Java中接口的详解与使用
Java中的接口可以理解为一种规范(接口可被继承),其内部可定义常量和抽样方法等内容,其中抽样方法必须被实现类(可理解为子类)重写,因此我们可以将接口看作一种子类的规范。子类通过implements来实现接口,我们把这样的实现接口的类叫做实现类。...原创 2022-08-18 12:45:32 · 302 阅读 · 0 评论 -
Java中final关键字的使用
1.final关键字修饰类的时候类不能被继承2.final修饰的方法不能被重写3.final修饰变量时变量能且只能被赋值一次原创 2022-08-18 10:43:58 · 102 阅读 · 0 评论 -
java之面向对象编程特性:继承
Java中的继承指的是某个类通过使用extends来得到另一个类中的属性和行为。一般我们将被继承的称为父类,进行继承的称为子类。父类中的属性和行为是公用的,而子类中的属性和行为是自有的。所以父类最主要的作用便是为了提高代码的复用性。......原创 2022-08-17 09:25:29 · 168 阅读 · 0 评论 -
Java中的static关键字的应用
static关键字又叫静态关键字,是一种既可以修饰成员变量,又可以修饰成员方法的关键字。其主要作用与特点是 作为被共享访问的信息存在。static修饰静态成员变量时,其在内存中只有一份且与类一同加载。其修饰的内容作为被共享的信息。在访问时建议使用类名访问:类名.static所修饰的成员变量。.........原创 2022-08-15 22:57:50 · 165 阅读 · 0 评论 -
Java中的正则表达式
正则表达式的作用是为了寻找匹配的相应的字符串,以此为依据来做出后面相应的操作。其主要的操作主要面向以下三种:1. 查看手机与邮箱等账号格式是否正确。2. 将文段中的部分字符串进行替换。3. 查找或提取文段中的部分字符串。...原创 2022-08-15 21:45:22 · 245 阅读 · 0 评论 -
Java中ArrayList的常用api
代码】Java中ArrayList的常用api。原创 2022-07-27 10:06:48 · 356 阅读 · 0 评论 -
String中常用的API
1.length() 表示长度 charAt(i)表示指出某个位置的字符2. substring(x,y) 表示截取字段 xy分别表示需要进行的起始和末尾位置 substring(z) 表示从当前位置截取到最后3.replace("a","b") 将该字符串中的a替换为b contains("c") 是否有c字符串 startsWith("d") d字符串是否为开头......原创 2022-07-26 21:49:50 · 199 阅读 · 0 评论 -
Java中String类中字符串之间的比较方法
在Java中String类中两个字符串之间想要比较是否相同,不能直接用双等于号直接进行字符串之间的比较,因为在String中双等于号之间是对两个字符串之间的地址进行比较(这与其它如int等数据类型的比较是不同的),所以,我们要使用java中的进行字符串对比的两个专用的API来实现。equals是做String类型字符串比较的一种api,equals的对比方法是要求两个字符串之间要完全一样,包括大小写也必须一样。示例代码如下:2.equalsIgnoreCase的使用equalsIgnoreCase原创 2022-07-01 10:14:22 · 6529 阅读 · 0 评论 -
Java中String类型(字符串对象)的存储特点
详解如下:用以下String类型创建的对象为例:如上代码所示:s1和s2实际代表的是字符串在栈内存中的地址,字符串常量存放在堆内存中,s1和s2同时指向堆内存中的同一个字符串。判断s1==s2是否为真时,运行结果为true。而因为Java中的特殊机制,单独输出s1时则会直接输出字符串,不会输出地址。 用以下String类型创建的对象为例:在此处的s和s2则是指向不同的存储地址。.........原创 2022-06-11 11:33:40 · 347 阅读 · 0 评论 -
JDK、JVM、JRE之间的关联
JVM:java虚拟机核心类库:java中的一些程序,给程序员做程序调用JRE:JVM+核心类库,是java的运行环境开发工具:Java、javac...JDK:JRE+开发工具,被称为Java的开发工具包总体来说:JDK包括JRE和开发工具,JRE包括JVM和Java的核心类库,JVM是java虚拟机。一个.java文件可先使用开发工具中的javac工具编译后产生.class文件。而后使用开发工具中的java工具将该.class文件送至JRE中的JVM虚拟机中,同时调用JRE.原创 2022-05-26 14:42:03 · 1019 阅读 · 0 评论 -
java中的浮点型变量、字符型变量及转义字符的用法
浮点型:基本的浮点型变量主要是使用float和double。float是单精度浮点型,double是双精度浮点型。float占用4个字节,表示的数的范围是:-3.403E38~3.403E38double占8个字节,表示的数的范围是:-1.798E308~1.798E308(其中E代表数字10,E后面加的数字指代10 的几次方)使用float时要数字尾部要加F或f,如:float a=321.1f代码示例:class vtest1 { public static voi原创 2022-03-25 17:28:02 · 625 阅读 · 0 评论 -
java中的几个整型变量
java中主要有以下几个整型变量(与C语言的整型变量大同小异)byte:占用1个字节(8bit)的存储空间,表示的范围是 -128~127;short:占用2字节的存储空间,表示的范围是 -2的15次方~2的15次方减1;int :占用4字节的存储空间,表示的范围是 -2的31次方到2的31次方减1(大小在21亿左右);long:占用8字节的存储空间,表示的范围是 -2的63次方到2的63次方减1;注意在使用long定义数字时要要在数字最后加一个L或l,如:long p=5556661L原创 2022-03-25 14:03:00 · 1315 阅读 · 0 评论