- 博客(20)
- 收藏
- 关注
原创 7.面向对象4大特性:抽象,封装,继承,多态
封装:封装是指尽可能地隐藏对象的内部实现细节,控制对象的修改及访问权限,将某些实现细节部分包装、隐藏起来,并对外提供公开的方法访问私有成员。一般我们是利用private访问修饰符来实现。封装提高了代码的安全性。继承:子类继承父类,在继承了父类的属性的同时,又扩展了子类特有的属性和方法。继承提高了代码的复用性和可扩展性。多态:子类继承父类,重写父类方法,父类引用指向子类对象。同类型的对象可以表现出不同的形态。多态提高了代码的灵活性。
2024-10-13 11:32:50
196
原创 6.redis为什么这么快
3.采用了非阻塞的I/O多路复用机制实现高效的并发处理。IO多路复用原理的核心是通过单线程同时监控并处理多个客户端的请求。原理是使用操作系统提供的多路复用接口来监视多个I/O事件。1.redis是一种基于内存的数据库,数据存储在内存中,读写速度快。2.redis采用单线程模型,不需要进行上下文切换。
2024-10-12 21:20:09
126
原创 5.http和https的区别
https是加密的安全传输,比http页面加载时间慢,对服务器资源消耗大,ssl证书费用高。3.http是明文传输,数据在传输过程中不加密,由于不需要加解密,资源消耗较小;1.http默认端口80,https默认端口443。2.https = http + SSL协议。
2024-10-12 17:09:23
103
原创 4.深拷贝和浅拷贝的区别
浅拷贝:在拷贝一个对象时,对基本数据类型的成员变量进行拷贝,但对引用类型的成员变量只进行引用的传递,并没有创建一个新的对象,当对引用类型的内容修改会影响被拷贝的对象。深拷贝:在拷贝一个对象时,除了对基本数据类型的成员变量进行拷贝,对引用类型的成员变量进行拷贝时,创建一个新的对象来保存引用类型的成员变量。
2024-10-12 13:53:42
105
原创 3.集合和数组的区别
4.组在内存中是连续分配的,所以它的索引速度非常快。集合在内存中不是连续分配的,所以索引速度较慢。2.数组只能存储一种数据类型,而集合可以存储不同数据类型(但最好还是确保集合中的元素类型一致)。3.数组可以储存基本数据类型和对象,而集合中只能储存对象(可以以包装类形式存储基本数据类型)。在 Java 中,数组和集合都是用来存储和管理数据的容器。1.数组的大小是固定的,而集合的大小是可变的。
2024-10-11 17:13:01
151
原创 2.Java数据类型有哪些
接口(Interface): 定义了一组方法的规范,类可以实现一个或多个接口。在Java中,基本数据类型是按值传递的,而引用数据类型是按引用传递的。枚举(Enumeration): 一种特殊的类,表示一组具名的常量。类(Class): 表示对象的模板,可以创建类的实例。数组(Array): 存储同一类型的元素的集合。其他引用类型: 包括自定义类、接口、数组等。引用数据类型:是数据的引用在栈中,但是他的对象在堆中。实际的值,而引用数据类型存储的是对象的引用(地址)。基本数据类型的数据在栈中可以直接分配内存。
2024-10-11 16:17:44
196
原创 1.进程和线程的区别
一个Java程序运行起来就是一个进程,一个进程对应一个JVM实例,一个JVM实例就有一个运行时数据区,一个进程只有一个方法区和堆,进程里的多个线程共享这两个区,每个线程有自己的程序计数器、本地方法栈,虚拟机栈。进程是操作系统进行资源分配的最小单位,而线程是进程中的执行单元。一个进程可以包含多个线程,每个进程都有独立的内存空间,而线程共享进程的内存空间。
2024-10-11 16:00:17
112
原创 MySQL-存储引擎MyIsam和InnoDB区别
对于InnoDB存储引擎来说,一定有且只有一个聚簇索引,表中的主键索引就是聚簇索引,其他字段创建的索引被称为二级索引。其次,二级索引通过字段来查询,叶子节点保存字段对应的主键,并不保存行数据,也被称为非聚簇索引;接着,二级索引涉及到回表的概念,回表就是说光查询二级索引还拿不到我们想要的全部数据,还需要通过二级索引找到对应主键,然后拿着主键回到聚簇索引中再继续查询。MyIsam使用非聚集索引,叶子节点保存数据的地址。在MyIsam存储引擎中,主键索引和二级索引没有什么区别,只是主键索引的键值都是唯一的。
2024-08-23 19:41:41
340
原创 RabbitMQ
1.channel.basicNack或channel.basicReject的requeue被设置为false。1.使用Work Queues搭建消费者集群,配合能者多劳充分发挥每台服务器的性能。2.消息持久化:不会因为MQ服务器宕机导致消息丢失。3.消息队列满了依然有消息入队,淘汰最老的消息。3.消费者确认机制:保证消费者正确无误地消费。1.生产者确认机制:确保消息到达MQ。延时队列一般和死信队列一起使用。2.生存时间已到的消息。2.使用多线程消费。
2024-07-18 15:37:53
496
原创 Java-异常处理语句
当遇到的异常类型和Java内置的异常类都不匹配时,我们可以自定义一个异常类型。自定义的异常类型要继承Throwable类,通常继承Exception或RuntimeException。
2024-07-15 21:21:47
750
原创 Java关键字-interface
接口里的成员变量默认被public static final修饰,是静态成员常量。接口里的方法默认被public abstract修饰,是抽象方法,不能有方法体。jdk8以后,可以使用default关键字,在接口里定义有方法体的方法。jdk8以后,可以使用static关键字,在接口里定义静态方法。jdk9以后,可以使用private关键字,在接口里定义私有方法。接口里不能定义构造方法、构造代码块和静态代码块。
2024-07-08 19:25:36
550
原创 Java-对于JVM中双亲委派机制的理解
类加载器遵循双亲委派机制。当一个类需要被加载时,类加载器依次向上将请求委托给父类加载器,直至顶层的启动类加载器(最终请求都被传送到顶层);如果顶层无法加载,则依次向下由子加载器来尝试加载。
2024-07-06 11:51:23
739
原创 Java-JVM、JRE和JDK的区别和联系
JVM(Java Virtual Machine):Java虚拟机,负责解释执行Java的字节码文件,实现了Java语言的跨平台性。对于不同的操作系统,我们只要安装不同的Java虚拟机,就可以运行Java程序。JRE(Java Runtime Environment):Java运行时环境,运行Java程序,可以只安装JRE。JDK(Java Development Kit):Java开发工具包,开发Java程序,必须安装JDK。
2024-07-05 19:21:53
176
原创 Java关键字-final修饰符
③被final修饰的成员变量没有默认值,一定要赋值。①基本数据类型:只能被赋值一次,不能修改。②引用数据类型:不能指向新的内存空间。
2024-07-04 17:25:49
268
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人