![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
业余码手
这个作者很懒,什么都没留下…
展开
-
【Java反射机制IOC详解】
Java反射机制有什么用?Java的反射( reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制,反射被视为动态语言的关键。Java反射机制的优点和缺点优点:可以动态执行,在运行期间根据业务功能动态执行方法、访问属性,最大限度发挥了Java的灵活性。缺点:对性能有影响,这类操作总是慢于直接执行Java 代码。原创 2022-03-24 09:58:11 · 359 阅读 · 0 评论 -
【Java字符串工具类isEmpty和isBlank的区别】
isEmpty和isBlank的区别原创 2022-03-24 09:26:00 · 1307 阅读 · 0 评论 -
【JAVA中如何避免空指针】
首先要知道什么情况下会发生空指针当一个变量的值为null时,在java里面表示一个不存在的空对象,没有实际的内容,没有给它分配内存,null也是对象成员变量的默认值。所以,一个对象如果没有进行初始化操作,这时候,如果你调用这个对象的方法或者变量,就会出现空指针异常。例如:Object object = null;String str = object.toString();NullPointerException属于运行时异常RuntimeException的子类,他不是捕获型的,只有在程序运原创 2022-03-21 16:04:02 · 2039 阅读 · 0 评论 -
【JAVA中接口的默认方法和静态方法】
接口默认方法和静态方法是什么?Java 8开始接口里面是可以有方法实现的,可以在接口中添加默认方法和静态方法。默认方法用 default修饰,只能用在接口中,静态方法用static修饰。并且接口中的默认方法,静态方法可以同时有多个。比如我们来看下在JDKAPI中java.util.Map关于接口默认方法和静态方法的应用。package java.util;import java.util.function.BiConsumer;import java.util.function.BiFunc原创 2022-03-21 09:39:18 · 960 阅读 · 0 评论 -
【统计String字符串中各个字符出现的次数】
public class Test { public static void main(String[] args) { String a = "adasqere.././?@1231411413"; Map<Character, Integer> map = new HashMap<>(); char[] chars = a.toCharArray(); for (int i = 0; i < char原创 2022-03-14 09:50:01 · 754 阅读 · 0 评论 -
【什么是数据结构?数据结构有什么用?分类如何?有哪些常用的?】
什么是数据结构?数据结构是计算机系统存储,组织数据的方式。数据结构是指一种或多种特定关系的数据元素的集合,即带"结构"的数据元素的集合,结构就是指数据元素之间的关系。数据结构有什么用?使用恰当的数据结构可以提升程序运行效率,存储效率。比如:JDK不同的集合就使用了数组 队列 链表 树等不同的数据结构。MySQL数据库中的索引使用了"树"这种数据结构,用于提升IO存储效率和查询效率。等等。。数据结构按逻辑结构分为几大类?逻辑结构是指:数据元素之间的逻辑关系,主要分为线性结构和非线性结构原创 2022-03-14 09:47:31 · 1075 阅读 · 1 评论 -
【static变量和普通变量的区别】
static变量和普通变量的区别?1.所属目标不同静态变量属于类的变量,普通变量属于对象的变量。2.存储区域不同静态变量存储在方法区的静态区,普通变量存储在堆区。3.加载时间不同静态变量是随时类的加载而加载的,随着类的消失而消失。普通变量是随着对象的加载而加载,随着对象的消失而消失。4.调用方式不同静态变量只能通过类名,对象调用。普通变量只能通过对象调用。static可以修饰局部变量么?不能是局部变量,可以是内部类,全局变量,方法,代码块。...原创 2022-03-14 09:42:13 · 2390 阅读 · 0 评论 -
【重载和重写的区别】
重载和重写有什么区别?重载(Overload)在一个类中,具有相同的方法名,但是方法参数不同,返回值类型可以相同也可以不同。被重载的方法必须改变参数列表(参数个数或者类型不一样)被重载的方法可以改变返回类型被重载的方法可以改变访问修饰符被重载的方法可以声明新的或更广的检查异常方法能够在同一个类中或者在一个子类中被重载无法以返回值类型作为重载函数的区分标准重写(override)一般都是表示子类和父类之间的关系,其主要的特征是:方法名相同,参数相同,但是具体的实现不同。参数列表与被原创 2022-03-14 09:40:22 · 455 阅读 · 0 评论 -
【java异常有哪些分类?】
java异常有哪些分类?下面是java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的。Throwable是java异常的顶级类,所有异常都继承于这个类。Error,Exception是异常类的两个大分类。ErrorError是非程序异常,即程序不能捕获的异常,一般是编译或者系统性的错误,如OutOfMemorry内存溢出异常等。ExceptionException是程序异常类,由程序内部产生。Exception又分为运行时异常,非运行时异常类。运行时异常运行时异常原创 2022-03-14 09:38:28 · 17798 阅读 · 1 评论 -
【java中的包装类型】
什么是包装类型?java设计当初就提供了八种基本数据类型以及对应的包装类。java是一种面向对象编程的高级语言,所以包装类正是为了解决基本数据类型无法面向对象编程所提供的。下面是基本类型与对应的包装类型基本数据类型包装类型byteBytebooleanBooleanshortShortcharCharintIntlongLongfloatFloatdoubleDouble包装类的应用场景集合泛型只能是包装类成员变原创 2022-03-14 09:27:59 · 413 阅读 · 0 评论 -
【Stream(流)】
Stream(流)是什么?java.util.stream.StreamStream 流和传统的IO流,它们都叫流,却是两个完全不一样的概念和东西。流可以简单的说是处理数据集合的东西,可以申明式流式API来处理集合,而不是写一个逻辑实现。怎么创建一个stream(流)调用集合的stream()方法或者parallelStream()方法。Stream.of()方法,有针对int,long的专用流lntStream,LongStream。使用流常用用法 public sta原创 2022-03-14 09:23:53 · 189 阅读 · 0 评论 -
【Java中的::语法】
Java中的::是什么语法?这是Java 8中的方法引用静态方法引用,通过类名:静态方法名,如lnteger::parseInt实例方法引用,通过实例对象::实例方法,如str::substring构造方法引用,通过类名::new, 如User::new方法引用是一种函数式接口的另-种书写方式。方法引用是什么?方法引用是只需要使用方法的名字,而具体调用交给函数式接口,需要和Lambda表达式配合使用。如: List<String> list = Arrays.原创 2022-03-14 09:04:10 · 6767 阅读 · 0 评论 -
【函数式接口】
函数式接口是什么?先来看看传统的创建线程是怎么写的 public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override public void run() { System.out.println("你好"); } }); t1.sta原创 2022-03-11 17:31:37 · 380 阅读 · 0 评论 -
【Java实现定时任务有哪些方式?】
Java实现定时任务有哪些方式?sleep这也是我们最常用的sleep 休眠大法,不只是当作休眠用,我们还可以利用它很轻松的能实现一个简单的定时任务。实现逻辑:新开一个线程,添加一个 for/ while 死循环,然后在死循环里面添加一个sleep 休眠逻辑,让程序每隔N秒休眠再执行一次,这样就达到了一个简单定时任务的效果。实现代码如下: private static void sleepTask() { new Thread(() -> {原创 2022-03-11 12:17:09 · 250 阅读 · 0 评论 -
【JDK与JRE的区别是什么?】
JDK与JRE的区别是什么?JDKJDK全称 Java Development kit ,是整个java的核心,包含了java运行环境(JRE)和一系列java开发工具完整的包。JREJRE全称:java Runtime Enviroment ,是java程序的运行环境,包含JVM,java核心库等。JRE只能用来运行java应用程序,不能用于编译开发,它是JDK的子集。...原创 2022-03-08 13:16:49 · 47 阅读 · 0 评论 -
【Java中的关键字有哪些?】
关键字含义package指定包名import引用名class定义类interface定义接口abstract抽象类或者抽象方法new创建对象this实例本身super引用父类void无返回byte字节型char字符型int整型short短整型long长整型float单精度浮点数double双精度浮点数enum枚举型strictfp精确浮点exte...原创 2022-03-08 13:15:31 · 107 阅读 · 0 评论 -
【java命名规则是怎样的?】
java标识符命名规则:标识符只能由字母(a-z,A-Z),数字(0-9),下划线(_)和美元符号($)组成;标识符不能以数字开头java类命名规范是怎样的?类名首字母大写,后面每个单词首字母大写,符和UpperCamelCase大驼峰式风格,如:OrderOrderDetallOrderMonthSummary但一般像这种众所周知的缩写例外:DO,BO,DTO,VO,AOjava方法命名规范是怎样的?方法名首字符小写,后面每个单词首字符大写,符合小驼峰,如print原创 2022-03-08 13:14:52 · 178 阅读 · 0 评论 -
【Java反射机制详解】
Java反射机制有什么用?Java的反射( reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制,反射被视为动态语言的关键。Java反射机制的优缺点?优点可以动态执行,在运行期间根据业务功能动态执行方法、访问属性,最大限度发挥了Java的灵活性。缺点对性能有影响,这类操作总是慢于直接执行Java代码。J原创 2022-03-08 11:00:56 · 236 阅读 · 0 评论 -
【接口和抽象类的区别?普通类和抽象类的区别?】
接口和抽象类的区别?区别1抽象类是一个类,接口是一个接口,两者的概念和应用场景不同,这也是抽象类和接口的主要区别。区别2接口可以写实现方法,但不能写构造方法,而抽象类是可以写构造方法的,意味着抽象类是参与类实例化过程的,而接口不是。区别3抽象类可以有自己的各种成员变量,并且通过自己的非抽象方法进行改变,而接口中的变量默认全是public static final修饰的,意味着都是常量,并且不能被自己和外部改变。区别4接口可以实现多继承,而抽象类只能单继承类与类只能单继承,而类与接口,接口与原创 2022-03-08 10:59:51 · 176 阅读 · 0 评论 -
【Java语法糖是什么?】
Java语法糖是什么?语法糖(Syntactic Sugar),也称糖衣语法,指言本身功能来说没有什么影响,只是为了方便程言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一一个封装。Java作为一种与平台无关的高级语言,当然也含编译成字节码阶段就自动转换成简单常用语法。编译成字节码阶段就自动转换成简单常用语法。一般来说Java中的语法糖主要有以下几种:字符串+拼接泛型与类型擦除自动装箱与拆箱变长参数序: Javal增强for循环内部类枚原创 2022-03-08 10:59:04 · 688 阅读 · 0 评论 -
【Java事件机制包含哪三部分?】
Java事件机制包含哪三部分?Java事件机制包括三个部分:事件、事件监听器、事件源。1. 事件一般继承自java.util.EventObject类,封装了事件源对象及跟事件相关的信息。com.javaedu.event.CusEvent类。2. 事件监听器实现java.util.EventListener接口,注册在事件源上,当事件源的属性或状态改变时,取得相应的监听器调用其内部的回调方法。3. 事件源事件发生的地方,由于事件源的某项属性或状态发生了改变(比如BUTTON被单击、TEXTB原创 2022-03-08 10:56:32 · 569 阅读 · 0 评论 -
【Java中的UUID是什么?】
Java中的UUID是什么?什么是UUID?UUID全称:Universally Unique ldentifier,即通用唯一识别码。UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32= 2128,约等于3.4×1038。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符,如:d52fe3fb-3b50-4ef9-8bbe-ad7208343de原创 2022-03-08 10:55:21 · 1474 阅读 · 0 评论 -
【JDK 8 HashMap引入红黑树,为什么不直接用红黑树?】
JDK 8 HashMap为啥要引入红黑树?当HashMap 的 key 冲突过多时,比如我们使用了不好的 hash 算法,导致 key冲突率极高,我们都知道链表的查找性能很差,所以引入红黑树是为了优化查询性能。JDK 8 HashMap为啥不直接用红黑树?因为树节点所占用的空间是普通节点的两倍,所以只有当节点足够多的时候,才会使用树节点。也就是说,最开始使用链表的时候,链表是比较短的,空间占用也是比较少的,查询性能都差不多,但是当链表越来越长,链表查询越来越慢,为了保证查询效率,这时候才会舍弃链表而原创 2022-03-07 15:56:39 · 1339 阅读 · 1 评论 -
【Java金额计算怎么避免精通丢失】
Java金额计算怎么避免精通丢失?经典的精度丢失问题Java中的类型float、double用来做计算 会有精度丢失问题,下面来看下面的示例。public static main(String [] ars){ test1(); test2();}private static void test1(){ double totalAmount = 0.09; double feeAmount = 0.02; double tradeAmount = totalAmount - fe原创 2022-03-04 11:41:06 · 810 阅读 · 0 评论 -
【什么是泛型?集合使用泛型有什么优点?】
什么是泛型?JDK 1.5开始引入泛型,泛型可以为集合指定元素类型,添加不符合的元素类型则会编译报错。Java中泛型中的T ,R ,K ,V ,E 是什么?public <R> 0bservable<R> compose(Transformer<? super T, ? extends R> transformer){ return ( ( Transformer<T,R>) transformer ).call(this);}看下上面原创 2022-03-04 09:13:29 · 979 阅读 · 0 评论