logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Java 数据结构精讲:顺序表与 ArrayList 的深度解析

在 Java 集合框架中,ArrayList 是一个普通类,实现了 List 接口,是对静态顺序表的封装和增强,也是我们实际开发中使用的动态顺序表。ArrayList 的扩容可以概括为三个核心步骤无参构造初始化为空数组,此时容量为 0;首次添加元素:触发扩容,会将容量设置为默认的 10;后续扩容触发条件:当(添加元素后元素个数超过数组容量)时,调用grow()扩容;扩容规则:默认1.5 倍扩容,若

文章图片
#数据结构
深入浅出 Java 优先级队列 PriorityQueue:堆的实现与应用

equals的比较只能返回bool类型,判断是不是一样的,comparable comparator 返回类型都是整形,可以比较大小,本身区别,comparable一般在类里面使用,comparator脱离类使用。而接下来的comparable,我们需要继承这个comparable接口,并且需要传类过去,然后就是重写这个接口的方法,就是public int compareTo(),随后我们用c1和

文章图片
#java#数据结构#算法
Java 搜索型数据结构全解:二叉搜索树、Map/Set 体系与哈希表

二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树1.如果树为空树,即根== null,直接插入2.如果树不是空树,按照查找逻辑确定插入位置,插入新结点1.1. cur是root,则2. cur不是rootcur是,则3. cur不是rootcur是,则2.1. cur是root,则2. cur不是rootcur是,则3. cur不是rootcur是,则3.1. 需要使用。

文章图片
#数据结构#java#算法
Java反序列化漏洞

通过序列化文件流之后,在反序列化成对象,调用重写的readObject方法,并且重写的readObject方法是可以控制的,此时就会执行恶意代码,这就是反序列化漏洞,此时这个例子是比较简单,这里只是给个思路,要想达成反序列化漏洞还是比较难的,首先必须别人的代码中有一个类似上面定义好的类,利用自定义的readObject方法执行,寻找重写readObject方法的类。我们注意上面定义的Person类

文章图片
#java#开发语言#网络安全
Java 多线程进阶:从锁策略到 JUC,一篇吃透并发核心

CAS 的核心是「比较内存值与预期值是否相等」,但存在一个漏洞:如果一个变量的值从 A 改成 B,又从 B 改回 A,CAS 会认为这个变量没有发生过变化,从而执行更新操作,但实际上这个变量已经经历了一次修改过程。就像买二手手机,你无法判断拿到的手机是全新机,还是被人用过之后翻新的新机,虽然外观和初始状态一样,但中间已经经历了变化。死锁是指多个线程同时被阻塞,它们中的一个或全部都在等待某个资源被释

文章图片
#java#数据库#开发语言
Java SE入门之认识异常(SE结束)

上面需要注意的是,finally后面的代码,只有try出现异常之后,才会执行,当正常输入10后,try-catch-finally后面的sc.close()不会执行,所以就把sc.close()放到finally里面去,不管是否出现异常,都会执行。上面的就是test方法里面没有处理异常,main方法调用了test,接下来就会交给main方法处理,结果main方法没有处理,最终JVM处理。如果真正要

文章图片
#java#开发语言
Java 多线程初阶通关指南:从核心概念到实战案例,一篇吃透

线程是轻量级进程,为了解决创建进程的开销比较大的问题这就是多线程的核心思想:将一个大任务拆解为多个小任务,交给不同的执行流并行处理其中张三是主线程(Main Thread),李四、王五是子线程通过共享的volatile变量作为中断标志,线程在循环中判断该标志,决定是否终止运行。// 用volatile保证多线程间的内存可见性@Overridewhile (!isQuit) {

文章图片
#java-ee#java#jvm
深入浅出 Java 文件操作与 IO:从文件系统到数据流实战

File 类主要用于处理文件的元信息和路径操作,不涉及文件内容的读写。它提供了一系列方法来创建、删除、重命名文件和目录,以及查询文件的属性信息。文件系统基础:理解文件的概念、树形结构、路径表示、文件类型和权限,以及 "万物皆文件" 的设计思想。File 类:掌握 File 类的核心方法,能够进行文件和目录的创建、删除、重命名、属性查询等操作。数据流体系。

文章图片
#java#开发语言
Java 多线程初阶通关指南:从核心概念到实战案例,一篇吃透

线程是轻量级进程,为了解决创建进程的开销比较大的问题这就是多线程的核心思想:将一个大任务拆解为多个小任务,交给不同的执行流并行处理其中张三是主线程(Main Thread),李四、王五是子线程通过共享的volatile变量作为中断标志,线程在循环中判断该标志,决定是否终止运行。// 用volatile保证多线程间的内存可见性@Overridewhile (!isQuit) {

文章图片
#java-ee#java#jvm
Java 多线程初阶通关指南:从核心概念到实战案例,一篇吃透

线程是轻量级进程,为了解决创建进程的开销比较大的问题这就是多线程的核心思想:将一个大任务拆解为多个小任务,交给不同的执行流并行处理其中张三是主线程(Main Thread),李四、王五是子线程通过共享的volatile变量作为中断标志,线程在循环中判断该标志,决定是否终止运行。// 用volatile保证多线程间的内存可见性@Overridewhile (!isQuit) {

文章图片
#java-ee#java#jvm
    共 13 条
  • 1
  • 2
  • 请选择