Java高级基础
文章平均质量分 94
java进阶
MrYuShiwen
能够成就别人的人才能称得上是真英雄,愿我们彼此相互成就,成为那个真英雄!
Java开发工程师,后端工程师,努力想成为架构师的小萌新;
写代码和学习新知识是一件非常有趣的事情,它即是个人爱好也是个人职业;
愿我的文章对读者有用,欢迎评论,一起进步!
如果期待更多我的知识分享,请关注我,一起成为那个了不起的人吧!
展开
-
HashMap中扩容问题夺命6连问,问到了硬件层,你能顶住吗?
HashMap中扩容为什么是2的n次幂?在进行Hash值计算的时候方便与长度length-1进行按位与操作,相较于取模,速度更快。负数取模存在负数的情况,效率也比较慢。普通计算器是通过硬件的逻辑运算实现加减乘除的。1、加法是基本运算,逻辑关系是异或,即0与0和1与1为0,0与1和1与0为1,得到本位和的值,根据运算要求,确定是否要进位;2、 减法是进行补码加运算,即将减数取反加1,后进行加法运算。实际上加法也是进行补码加运算,只是在数据前用符号为表示,0为正,1为负;3、乘法是采用移位相加,或采原创 2022-03-16 09:34:19 · 8231 阅读 · 116 评论 -
Java多线程那些事,对Java并发编程2w余字的总结,超详细(从入门到完全掌握)
1.前言现代操作系统(Windows,macOS,Linux)都可以执行多任务。多任务就是同时运行多个任务,例如:在听歌的时候同时打游戏,并且时不时还回复一下微信或者qq。操作系统是如何做到这些的呢?原来CPU执行代码都是一条一条顺序执行的,但是,即使是单核cpu,也可以同时运行多个任务。因为操作系统执行多任务实际上就是让CPU对多个任务轮流交替执行;例如,让游戏执行0.001秒,让微信或者qq执行0.001秒,再让音乐播放器执行0.001秒,在人看来,CPU就是在同时执行多个任务。并且即使是多核CP原创 2021-11-22 15:18:50 · 5204 阅读 · 41 评论 -
Java函数式接口
一.初识函数式接口只包含一个抽象方法的接口,称为函数式接口。你可以通过 Lambda 表达式来创建该接口的对象。若 Lambda 表达式抛出一个受检异常(即:非运行时异常),那么该异常需要在目标接口的抽象方法上进行声明。我们可以在一个接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口。同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。在java.util.function包下定义了Java 8 的丰富的函数式接口二.Java内置原创 2020-12-14 14:17:29 · 1015 阅读 · 2 评论 -
Java中的Lambda表达式
前言:Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。代码举例:在这里插入代码片...原创 2020-12-13 20:54:51 · 1807 阅读 · 23 评论 -
Java多线程详解,一篇文章全部搞定(全文干货,万字“血书“,值得收藏)
一.线程的创建和使用1.Thread类Java虚拟机允许程序运行多个线程,它通过java.lang.Thread 类来体现。每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体。通过该Thread对象的start()方法来启动这个线程,而非直接调用run()。Thread类的构造器:Thread():创建新的Thread对象Thread(String threadName):创建线程并指定线程实例名Thread(Runnable ta原创 2020-11-24 19:23:19 · 1446 阅读 · 4 评论 -
Java动态代理
一.前沿为了让我们更好的理解动态代理,让我们先来了解一下静态代理。静态代理的特点是:代理类和被代理类在编译期间,就确定下来了。先直接上代码://代理类与被代理类需要实现的接口interface ClothFactory{ void produceCloth();}//代理类class ProxyClothFactory implements ClothFactory{ public ClothFactory getFactory() { return fa原创 2020-11-07 16:06:09 · 1187 阅读 · 6 评论 -
Java字符串相关的类详解
目录一.String类1.初识String2.String的特性3.String对象的创建(以Java 8为例)4.String对象的存储解析5.一.String类1.初识StringString:字符串,使用一对""引起来表示。 1.String声明为final的,不可被继承 2.String实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String可以比较大小 3.String内部定义了final原创 2020-10-02 16:35:40 · 869 阅读 · 9 评论 -
Java反射机制(初步认识)
反射的实质:就是在得到Class对象之后,反向获取Class对象的对象。解读:Class的对象好比一个类,反向获取Class对象(也就是类)的对象。不清楚Class类的可以点击查看本人另一篇博文:Class与class的区别对Class类解读:我们通常认为类是对象的抽象和集合,Class就相当于是对类的抽象和集合。也可以认为对象是类的实例,类是Class的实例。运用反射机制:在获得Class对象后我们可以调用:Class对象.getDeclaredConstructor().newInst原创 2020-07-16 13:02:57 · 1115 阅读 · 0 评论 -
Java中class与Class的区别
一.class与Class区别class是Java中的关键字,如public class Xxx 或者 class Xxx ,在声明Java类时使用。而Class是一个类。我们通常认为类是对象的抽象和集合,Class就相当于是对类的抽象和集合。也可以认为对象是类的实例,类是Class的实例。二.Class介绍Class是一个类。如下图,它在java.lang包中。它的构造函数是private属性,所以我们不能直接new一个Class对象出来,如下图注释段所说:“私有构造函数。只有Java虚原创 2020-07-16 10:49:44 · 8227 阅读 · 39 评论