自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 复习JVM

a. 堆 b. 栈 c. 元数据区 d. 程序计数器。

2025-03-18 22:32:16 544

原创 [数据结构] Map的使用与注意事项

以前常见的搜索方式有:1.直接遍历, 时间复杂度为O(N) ,元素如果比较多效率会非常慢2.二分查找 , 时间复杂度为,但搜索前必须要求序列是有序的上述排序比较适合静态类型的查找, 即一般不会对区间进行插入和删除操作了,而现实中的查找比如:可能在查找是进行一些插入和删除操作, 即动态查找, 那上述两种方式就不太适合了,本节介绍的Map和Set是一种适合动态查找的集合容器.

2025-02-17 15:07:53 796 1

原创 [数据结构] Set的使用与注意事项

Set与Map主要的不同有两点: Set是继承自Collection的接口类,Set中只存储了Key.

2025-02-07 17:24:11 663

原创 [数据结构] 哈希表

顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较.顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(logN),搜索的效率取决于搜索过程中元素的比较次数,虽然哈希表一直在和冲突做斗争,但在实际使用过程中,我们认为哈希表的冲突率是不高的,冲突个数是可控的, 也就是每个桶中的链表的长度是一个常数,所以,通常意义下,对元素的关键码进行同样的计算,吧球的的函数值当作元素的存储位置, 在结构中按照此位置取元素比较,若关键码相等,则搜索成功。

2025-02-06 16:28:45 1538 4

原创 [数据结构] 线性表和顺序表

1.先用isFull()方法判断数组是否放满,若装满,就调用Arrays的copyOf(elem,2*elem.length)方法对数组进行扩容。2.再用isFull()方法判断数组是否装满,若装满,调用Arrays的copyOf(elem,2*elem.length)方法对数组进行扩容。线性表是n个具有相同特性的数据元素的有限序列.线性表是一种在实际中广泛应用的数据结构,常见的线性表: 顺序表, 链表, 栈, 队列...1).创建一个checkPosOfAdd(int pos)方法来进行判断。

2025-02-05 22:05:13 1406 2

原创 [数据结构] 链表

3.找到 index 的前一个位置,创建一个 findIndexSubOne(int index) 方法,创建一个节点 cur 来接收调用方法的返回值, 最后 cur 就是 index 位置的前一个节点了。1.为了避免head == null 报错, 先进行判断,若head == null , 则 head = node,然后return掉.对于单向链表,每个节点的指针域指向下一个节点.通过访问node1的指针域next,将其赋值为下一个节点的地址,以此类推,最后让头节点head指向第一个节点node1.

2024-12-17 15:54:42 1010 2

原创 Spring IoC详解

对于同一个类,如何定义多个对象呢?我们看下@Bean的使用@Component@Bean@Bean定义了多个对象的话,我们根据类型获取兑现,获取的是哪个对象呢?运行结果:报错信息显示: 期望只有一个匹配,结果发现了两个,user1,user2接下来我们根据名称来获取bean对象运行结果:可以看到,@Bean可以针对同一个类,定义多个对象.

2024-07-22 09:40:42 1166 4

原创 Spring IoC & DI 介绍

IoC是Spring的核心思想,也是常见的面试题,那么什么是IoC呢?其实IoC前面已经使用过了,我们在前面讲到,在类上面添加 @RestController 和 @Controller 注解,就是把这个对象交给Spring管理,Spring框架启动时就会加载该类.把对象交给Spring管理,就是IoC思想.IoC:Inversion of Controller(控制反转),也就是说Spring是一个"控制反转"的容器.什么是控制反转呢?也就是控制权反转.什么的控制权发生了反转呢?

2024-07-20 09:51:23 1151 1

原创 Spring Web MVC入门(2)(请求2)

在计算机领域,会话是一个客户与服务器之间的不中断的请求响应.对客户的每个请求,服务器能够识别出请求来自于同一个客户.当一个未知的客户向Web应用程序发送一个请求时就开始了一个会话.当客户明确结束会话或服务器在一个时限内没有接收到客户的任何请求时,会话就结束了.HttpServletResponse对象代表服务器的响应.HTTP响应的信息都在这个对象中,比如向客户端发送的数据,响应头,状态码等.通过这个对象提供的方法.可以获得服务器响应的所有内容。参数如果为false,则当不存在会话时返回null.

2024-07-16 11:42:23 1266 2

原创 Spring Web MVC入门(2)(请求1)

某些特殊情况下,前端传递的参数key和我们后端接收的key可以不一致,比如前端传递了一个time给后端,而后端是使用createtime字段来接受的,这样就会出现参数接收不到的情况,如果出现这种情况,我们就可以使用@RequestParam来重命名前后端的参数值。1.使用@RequestParam进行参数传递时,请求参数只能和@RequestParam声明的名称一致,才能进行参数绑定和赋值.当有多个参数时,前后端进行参数匹配时,是以参数的名称进行匹配的,因此参数的位置是不影响后端获取参数的结果.

2024-07-14 17:51:01 991 2

原创 Spring Web MVC入门(1)(建立连接)

Spring Web MVC是基于ServletAPI构建的原始Web框架,从一开始就包含在Spring框架中.它的正式名称"Spring Web MVC"来自其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC".MVC是Model View Controller的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分为模型,视图和控制三个基本部分.指在应用程序中专门用来与浏览器进行交互,展示数据的资源是应用程序的主体部分,用来处理程序中数据逻辑部分。

2024-07-10 14:10:30 1224 2

原创 HTTPS加密

HTTPS工作过程中涉及到的密钥有三组。

2024-06-02 11:07:01 1044 5

原创 网络原理--初识

分层的作用。

2024-05-23 21:29:18 1029 2

原创 File 类的用法和 InputStream, OutputStream 的用法

方法修饰符及返回值类型方法签名说明intread()读取一个字节的数据,返回-1代表已经完全读完了int最多读取b.length字节的数据到b中,返回实际读到的数量;

2024-04-23 15:31:27 2072 4

原创 JUC中的常见类

可以把信号量想象成时停车场的展示牌:当前车位100个.表示有100个可用资源.当有车开进去的时候,就相当于申请一个可用资源,可用车位就-1(这个称为信号量的P操作)当有车开出来的时候,就相当于释放一个可用资源,可用车位就+1(这个称为信号量的V操作)如果计数器的值已经为0了,还尝试申请资源,就会阻塞等待,直到有其他线程释放资源.想象去吃麻辣烫.当点好餐后,后厨就开始做了.同时前台会给你一张"小票",这个小票就是FutureTask.后面我们可以随时凭借这张小票去查看自己的这份麻辣烫做出来了没.

2024-04-16 20:46:42 784 1

原创 HashTable, HashMap, ConcurrentHashMap 之间的区别

这相当于直接针对Hashtable对象本身加锁.

2024-04-14 23:28:00 1812 3

原创 synchronized总结

当一个线程获取了锁对象,其他线程必须;阻塞等待该线程释放锁对象才能获取到锁.

2024-04-14 16:21:26 358 3

原创 Thread 类的基本用法

(1)public void interrupt() : 中断对象关联的线程.(2)public static boolean interrupted() : 判断当前线程的中断标志位是否设置.(3)public boolean isInterrupted() : 判断对象关联的线程的标志位是否设置.

2024-04-13 22:00:39 930 2

原创 常见的锁策略以及CAS和synchronized的优化过程

我们假设内存中的原数据V,旧的预期值A,需要修改的新值B.1.比较A与V是否相等.(比较)2.如果相等,将B写入V.(交换)3.返回操作是否成功.

2024-04-13 16:43:52 1930 2

原创 线程池详解

线程池是一种管理和复用线程的技术.它可以在应用程序启动时创建一组线程,并在需要时将任务分配给这些线程来执行.通过维护一定数量的线程,线程池可以减少现成的创建和销毁的开销.

2024-04-10 23:56:53 852 4

原创 线程安全问题的原因和解决方案

一个线程修改一个变量没关系.多线程修改不同的变量,也没关系.但是多个线程读取一个变量问题也不大,但是多个线程修改同一个变量,那就有大问题了.

2024-04-10 00:26:51 888 5

原创 多线程案例--单例模式

单例模式是一种设计模式,它确保一个类只有一个实例,这种模式通常用于需要严格控制对象创建和资源消耗的情况.通过单例模式,可以确保整个应用程序中只有一个实例存在,从而避免资源浪费和不一致的情况.

2024-04-09 00:07:17 746 3

原创 JAVA SE 数据类型与变量

/s1+s2表示:将s1和s2进行拼接1.int转换为string//方法一//方法二2.string转成int。

2023-10-28 09:39:42 211 4

原创 初写博客之小规划

如今就业越发困难,如果没有技术的支持,我必定找不到高工薪作,所以我编程的目的是学习好技术,为了今后能够找到一份好工作。我打算一年内,每周至少60个小时系统的苦修相关知识,为了在大三能够找到一份实习工作和今后的就业做好准备。科师大大二学生一名,篮球和台球是我最擅长最喜欢的运动,因为我的专业也是与计算机相关的,所以我才决定学习编程。我最想进入像腾讯,百度,字节这样的公司,宝剑锋从磨砺出,我相信双非本科也能够创造奇迹。

2023-10-13 09:04:31 163 10

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除