Java Advance
文章平均质量分 76
always on the way
夜澜听雨声
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java_day30-35
这四种引用决定了对象的生命周期以及垃圾收集器如何收集垃圾。强引用:最常见的引用类型。如果一个对象具有强引用,那么垃圾收集器绝不会回收它。软引用:软引用用于描述一些还有用但非必需的对象。如果一个对象只有软引用指向它,那么在系统内存不足时,垃圾回收器会尝试回收这些对象。软引用通常用于实现内存敏感的缓存,可以在内存不足时释放缓存中的对象。弱引用:弱引用比软引用的生命周期更短暂。如果一个对象只有弱引用指向它,在进行下一次垃圾回收时,不论系统内存是否充足,这些对象都会被回收。原创 2025-04-23 21:32:48 · 857 阅读 · 0 评论 -
Java_day25-29
(1) 为什么是线程不安全的主要原因是它的操作不是原子的,即在多个线程同时进行读写操作时,可能会导致数据不一致性或抛出异常.**并发修改:**当一个线程进行写操作(插入、删除等)时,另一个线程进行读操作,可能会导致读取到不一致的数据,甚至抛出 ConcurrentModificationException 异常。非原子性操作:HashMap 的一些操作不是原子的,例如,检查是否存在某个键、获取某个键对应的值等,这样在多线程环境中可能发生竞态条件。(2)如何实现线程安全。原创 2025-04-23 18:18:22 · 758 阅读 · 0 评论 -
Java_day20-24
当把一个子类对象直接赋给父类引用变量,而运行时调用该引用变量的方法时,其方法行为总是表现出子类方法的行为特征,而不是父类方法的行为特征,这就可能出现:相同类型的变量、调用同一个方法时呈现出多种不同的行为特征,这就是多态。重写的方法的访问级别不能低于被重写的父类方法,虚拟机在运行时根据对象的实际类型来确定调用哪个方法。方法的重载是编译时多态,指的是在同一个类中,可以有多个方法具有相同的名称,但是它们的参数列表不同(参数的类型、个数、顺序),可以有不同的返回类型和访问修饰符,通过静态绑定(编译时决定)实现。原创 2025-04-22 18:32:54 · 636 阅读 · 0 评论 -
数据库_day14-19
数据库查询的执行时间超过指定的超时时间时,就被称为慢查询。原因:查询语句比较复杂:查询涉及多个表,包含复杂的连接和子查询,可能导致执行时间较长。查询数据量大:当查询的数据量庞大时,即使查询本身并不复杂,也可能导致较长的执行时间。缺少索引:如果查询的表没有合适的索引,需要遍历整张表才能找到结果,查询速度较慢。数据库设计不合理:数据库表设计庞大,查询时可能需要较多时间。并发冲突:当多个查询同时访问相同的资源时,可能发生并发冲突,导致查询变慢。原创 2025-03-27 09:35:25 · 854 阅读 · 0 评论 -
Linux_day13
总结:select是最早的 I/O 多路复用技术,但受到文件描述符数量和效率方面的限制。一般来说,epoll 的效率是要比 select 和 poll 高的,但是对于活动连接较多的时候,由于回调函数触发的很频繁,其效率不一定比 select 和 poll 高。poll: poll是select的一种改进,它使用轮询方式来检查多个文件描述符的状态,避免了select中文件描述符数量有限的问题。select: select是一个最古老的I/O多路复用机制,它可以监视多个文件描述符的可读、可写和错误状态。原创 2025-03-27 09:23:09 · 567 阅读 · 0 评论 -
操作系统_day9-12
死锁是系统中两个或多个进程在执行过程中,因争夺资源而造成的一种僵局。当每个进程都持有一定的资源并等待其他进程释放它们所需的资源时,如果这些资源都被其他进程占有且不释放,就导致了死锁。死锁只有同时满足以下四个条件才会发生:互斥条件:一个进程占用了某个资源时,其他进程无法同时占用该资源。请求保持条件:一个进程因为请求资源而阻塞的时候,不会释放自己的资源。不可剥夺条件:资源不能被强制性地从一个进程中剥夺,只能由持有者自愿释放。原创 2025-03-16 13:51:08 · 536 阅读 · 0 评论 -
计算机网络_day6-8
在这个阶段,发送方不会回到慢启动阶段,而是将慢启动阈值设置为当前窗口的一半,并将拥塞窗口大小设置为慢启动阈值加上已确认但未被快速重传的数据块的数量。随着每次成功收到确认的数据,发送方逐渐增加发送窗口的大小,实现指数级的增长,这称为慢启动。快速重传(Fast Retransmit): 如果发送方连续收到相同的确认,它会认为发生了数据包的丢失,并会快速重传未确认的数据包,而不必等待超时。如果窗口大小减小,发送方将减缓发送数据的速率。如果接收方的缓冲区快满了,它会减小窗口大小,通知发送方暂停发送,以防止溢出。原创 2025-03-10 21:56:28 · 583 阅读 · 0 评论 -
计算机网络_day1-5
OSI模型, 是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,将计算机网络通信划分为七个不同的层级,每个层级都负责特定的功能。每个层级都构建在其下方的层级之上,并为上方的层级提供服务。七层从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。虽然OSI模型在理论上更全面,但在实际网络通信中,TCP/IP模型更为实用。 TCP/IP模型分为四个层级,每个层级负责特定的网络功能。应用层:该层与OSI模型的应用层和表示层以及会话层类似,提供直接与用户应用程序交互的接口原创 2025-03-10 21:53:26 · 609 阅读 · 0 评论 -
计算机网络_简答
强缓存和协商缓存是HTTP缓存机制的两种类型,它们用于减少服务器的负担和提高网页加载速度。1强缓存:客户端在没有向服务器发送请求的情况下,直接从本地缓存中获取资源。强缓存通过HTTP响应头中的Cache-Control字段实现,如max-age,告诉浏览器在指定时间内可以直接使用缓存数据,无需再次请求。2协商缓存:当强缓存失效时,浏览器会发送请求到服务器,通过ETag或Last-Modified等HTTP响应头与服务器进行验证,以确定资源是否被修改。原创 2025-03-10 17:11:27 · 900 阅读 · 0 评论 -
JAVA进阶之路
包括:常用的vue指令:vue+axios发送请求调用一些在线api接口的方法本地项目-记事本网络应用-天气预报综合应用-音乐播放器。原创 2024-11-18 20:23:19 · 1214 阅读 · 0 评论 -
JAVA_20
JAVA_20一、JAVA8新特性1.JAVA8背景和意义一、JAVA8新特性1.JAVA8背景和意义原创 2024-11-02 14:49:21 · 247 阅读 · 1 评论 -
JAVA_18
JAVA_181.JAVA_IO流1.JAVA_IO流IO流(Input/Output stream)是用于在程序和外部设备(如文件、网络等)之间进行数据传输的机制。它是Java中处理输入和输出操作的一种抽象方式。概念:输入流(Input Stream):用于从外部设备(如文件、网络等)读取数据到程序中的流。输出流(Output Stream):用于将程序中的数据写入外部设备(如文件、网络等)的流。作用:通过使用IO流,程序可以与外部环境进行数据交换,从而实现数据的读取和写入。IO流提原创 2024-10-14 20:29:33 · 429 阅读 · 0 评论 -
JAVA_17
JAVA_17JAVA_设计模式1.单例模式JAVA_设计模式1.单例模式原创 2024-09-23 23:04:55 · 271 阅读 · 0 评论 -
JAVA_16
JAVA_16JAVA_容器1.容器JAVA_容器1.容器容器作用:程序中的容器用来容纳和管理数据原创 2024-09-19 10:25:00 · 239 阅读 · 0 评论 -
JAVA_15
JAVA_15JAVA_面向对象知识体系1.面向对象编程2.封装3.封装4.多态4.抽象类与抽象方法5.接口与内部类JAVA_面向对象知识体系1.面向对象编程面向对象编程就是一种编程方法,它的思路是把程序中的数据和对数据的操作打包成一个个“对象”,然后这些对象之间通过互相调用的方式来完成程序的功能。你可以把这些对象看成是实际生活中的物品或者人,它们都有自己的“状态”和“行为”,并且能够与其他对象进行“交亘”。面向对象编程(Object-Oriented Programming,OOP)的特点包括原创 2024-09-18 22:08:04 · 811 阅读 · 0 评论 -
JAVA_14
JAVA_14JAVA_多线程1.程序、进程、线程2.java线程两种实现方式3.线程优先级4.线程同步和安全性JAVA_多线程1.程序、进程、线程多线程是Java语言的重要特性,大量应用于网络编程、服务器端程序的开发,最常见的UI界面底层原理、操作系统底层原理都大量使用了多线程。2.java线程两种实现方式3.线程优先级4.线程同步和安全性原创 2024-09-02 19:21:55 · 453 阅读 · 0 评论 -
JAVA_13
目标设备:程序数据的目的地,一般对应输出流。源设备:为程序提供数据,一般对应输入流。原创 2024-08-31 09:25:36 · 256 阅读 · 0 评论 -
JAVA_12
equals为true,那么hashcode必须相等(主要就是为了HashMap。对于我们以后理解很多技术都非常有帮助(比如:redis 数据库的核心技术和 HashMap 一样),因此,非常有必要理解。那么,我们能不能结合数组和链表的优点(即查询快,增删效率也高)呢?答案就是“哈希表”。(2)链表:占用空间不连续。寻址困难,查询速度慢。但是,增加和删除效率非常高。(1)数组:占用空间连续。寻址容易,查询速度快。但是,增加和删除效率非常低。底层实现采用了哈希表,这是一种非常重要的数据结构。原创 2024-08-30 20:38:41 · 441 阅读 · 0 评论 -
JAVA_11
【代码】JAVA_11。原创 2024-08-26 17:58:15 · 289 阅读 · 0 评论 -
JAVA_10
JAVA_10JAVA异常机制及bug追踪1. 异常JAVA异常机制及bug追踪1. 异常英文:Exception所谓异常处理,就是指程序在出现问题时依然可以正确的执行完。原创 2024-08-25 19:49:38 · 269 阅读 · 0 评论 -
JAVA_9
JAVA_9JAVA常用类和jdk源码1. String类2. StringBuilderJAVA常用类和jdk源码1. String类String类又称作不可变字符序列。String位于java.lang包中,Java程序默认导入java.lang包下的所有类。Java字符串就是Unicode字符序列,例如字符串“Java就是4个Unicode字符’J’、’a’组成的。Java没有内置的字符串类型,而是在标准Java类库中提供了一预定义的类String,每个用双引号括起来的字符串都是Str原创 2024-08-25 16:52:41 · 247 阅读 · 0 评论 -
JAVA_8
数组的定义:intl] a= new int[5];数组是相同类型数据的有序集合。数组的四个特点:1.长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.其元素的类型必须是相同类型,不允许出现混合类型。3.数组类型可以是任何数据类型,包括基本类型和引用类型。4.数组也是对象。数组中的元素相当于该对象的成员变量。原创 2024-08-22 18:27:00 · 269 阅读 · 0 评论 -
JAVA_7
3.抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。2.抽象类不能实例化,即不能用new来实例化抽象类。1.有抽象方法的类只能定义成抽象类。5.抽象方法必须被子类实现。4.抽象类只能用来被继承。原创 2024-08-21 22:11:21 · 307 阅读 · 0 评论 -
JAVA_6
3子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(父类私有的属性和方法)。4如果定义一个类,没有调用extends,它的父类是:java.lang.Object。1修饰变量:被它修饰的变量不可改变,一旦赋了初值,就不可重新赋值。2“=”:访问权限,子类大于等于父类。2java中类没有多继承,接口有多继承。1“==”:方法名,形参列表相同。原创 2024-08-13 16:24:54 · 226 阅读 · 0 评论 -
JAVA_5
JDK中的主要包。原创 2024-07-29 10:40:41 · 198 阅读 · 0 评论 -
JAVA_4
JAVA_4一、JAVA内存总体架构二、栈的特点如下三、堆的特点如下四、方法区(又叫静态区,也是堆)特点如下五、this的本质一、JAVA内存总体架构多个线程里面有:程序计数器、虚拟机栈、本地方法栈方法区:运行时常量池堆:新生代和老生代,用于做对象的管理直接内存和其他内存二、栈的特点如下栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧先进后出,后进先出栈系统自动会分配,速度快,是连续内存空间jvm为每个线程创建一个栈栈为线程私有,不可共享三、堆的特点如下堆用于原创 2024-05-12 17:57:59 · 397 阅读 · 0 评论 -
JAVA_3
java类声名好后,等于一个对象工厂,可以通过java类不断创造java对象。3.构造器constructer,负责初始化对象,默认初始化为0/null。2.方法method,负责动态行为操作数据。1.属性field,静态特征(数据)原创 2024-05-11 15:45:47 · 232 阅读 · 0 评论 -
JAVA_2
1.重载overload是指类定义多个同名方法调用时根据不同参数自动匹配2.形参类型/形参个数/形参顺序不同才能构成重载print();原创 2024-05-09 21:17:24 · 203 阅读 · 0 评论 -
JAVA_1
2.可能精度损失的:int-float long-float long-double。int-float-double-int(从int指过来)8.boolean true和false。1.自动类型转换(无数据丢失,从左至右)位运算符 对数字进行二进制操作。逻辑运算符 对真值进行操作。~取反 & | ^ >6.double 8字节。1.byte 1字节。2.short 2字节。5.float 4字节。4.long 8字节。7.char 2字节。原创 2024-05-09 17:43:51 · 330 阅读 · 1 评论
分享