自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多线程(4)

阻塞队列就是一种特殊的队列,两大特性就是1-->线程安全 2--->具备阻塞功能,是一种线程安全的数据结构,当队列满是,入队操作就会阻塞等待,队列为空的时候出队操作也会阻塞等待,只有在队列不满时才能正常入队,队列不为空时才能正常出队列,常用于生产者消费者模型参见的阻塞队列:BlockingQueue是一个接口,具体常用的实现类有ArrayBlockingQueue+LinkedListBlockingQueue+PriorityBlockingQueue,入队列的核心操作是put,出队列是take,当然q

2025-06-12 18:15:30 802

原创 二叉树相关操作代码+oj题目剖析

然后最后一层节点必须连续且靠左像这种靠右的或者不连续的都不是完全二叉树思路:根据二叉树的定义我们能够知道,如果。

2025-06-11 08:40:26 670

原创 多线程(3)

单例单例,就是单个例子,类只有一个实例化对象,并且这个对象在内内部直接实例化出来,那怎么样才能只有一个实例化对象,控制不出现第二个实例化对象呢?----->对构造方法用private修饰-->单例模式的点睛之笔----这样在类外无法访问到这个构造方法,就谈不上在类外再去new 实例化对象了,类似String类的不可变性:如下就是一个单例模式下的类//静态成员的初始化在类加载阶段//属性啥的-----////带参数的构造方法//构造方法//获取这个唯一的独苗---实例化对象。

2025-05-30 18:49:37 606

原创 多线程(2)

一个线程已经对一个锁加锁了,然后在这个锁里面(synchronized代码块中)有对同一锁对象继续加锁,这时候由于是对同一对象加锁,那么势必会阻塞等待,我在等你释放锁然后我能加锁然后往下走,你在等我往下走然后才能释放锁,处于这种矛盾等待的状态,就是。那你把线程阻塞当什么了?----------this是指代调用该方法的实例化对象,谁调用的那么这个锁对象就是这个实例化对象----->锁对象,在静态方法内不能使用this,所以在非静态的方法体内我们可以使用this,当。,线程关闭了,然后这个线程对象没消除,

2025-05-28 09:58:50 812

原创 多线程(1)

前面讲到的进程已经够好了啊,能够并发执行,符合我们这样一个cpu多核心的时代,让多个线程在多个核心上跑起来,但是我们注意到一个问题,我们这样一个并发编程就意味着需要更多的进程,但是进程是资源分配的单元啊,没弄一个新的进程出来也就意味着更多资源需要被占用开销,不够轻量,然而我们的线程就足够轻量。比如我休眠1000ms,休眠完事之后,就会请求cpu给我们的线程分配资源,也就是线程的调度,调对应的线程到cpu上去跑,有那么多线程,你无法保证第一时间就调度到你,也,

2025-05-27 19:26:41 687

原创 栈和队列总结

在获取队尾数据的时候,不是直接return elem[rear-1] 因为rear可能在0位置 0-1=-1了,正确做法是加一层判断如-----> int index=rear==0?new一个队列的实例化对象的时候,必须new一个链表LinkedList来充当队列,也就是说队列的底层结构是链表。此处我们使用数组模拟实现栈,使用链表也可以(头插法)2使用boolean类型的标记,比如定义一个变量。LinkedList正好是该接口的实现类。

2025-05-22 16:58:38 805

原创 反射+枚举+lambda表达式

1使代码更简洁,2方便函数式编程3非常容易进行并行计算4java引入lambda,改善了集合的操作。

2025-05-21 14:00:55 1031

原创 ​CRUD增删改查笔记

C:create(创建,新增)R:retrieve(读取,查找,检索)U:update(等新,修改)D:delete(删除);Create(新增)先create一个学生表语法:1单行数据+全列插入:insert into table_name(字段1,字段2........)values(值1,值2.......)或者--->insert into table_name values(值1,值2......);

2025-04-30 09:35:51 596

原创 八大排序算法

gap为几分成几组,按gap为增量取值。

2025-04-26 12:11:10 708

原创 树的概念+二叉树概念(概念篇)

7树的高度或深度。

2025-04-23 21:10:26 919

原创 B树详解+java实现+每步的解析

1. 如果树为空,直接插入新节点中,该节点为树的。

2025-04-22 16:23:03 940 1

原创 链表List加LinkedList

学习记录##数据结构##链表。

2025-03-26 21:27:44 723

原创 数据结构篇-----顺序表Arrayslist(Java实现)

学习记录#通过java实现数据结果#学习体会1ArrayList的简介2. ArrayList使用3. ArrayList的扩容机制。

2025-03-21 19:35:37 512 2

原创 认识String类

spli(" " ,2)这个2代表分割成几份,如果分割成2份,那么第一个分割线处分割完就ok了,得到两份了。

2025-03-19 19:44:43 800 3

原创 抽象类和接口和内部类

##学习记录首先,我们知道在面向对象程序中的对象都是由类来描述的,但是反过来,并不是所有的类都能够用来实例化,描述一个对象,也就是说这个类还不够详细, 那么如果一个类没有足够的信息来描述一个具体的对象,这个类叫做抽象类。如何理解抽象类呢?(这个地方比较难理解)如之前讲到的图形打印 ,这个Shape类里虽然有一个draw方法,可以实现画图形,但是Shape这个类也不是具体的某个图形类,他只是一个“形状类” 而形状有很多种,我们讲如果要实例化一个对象,用来实例的类必须是具体的 实例的,不然怎么实例对象呢?如果

2025-03-19 11:41:48 937

原创 接口的使用----->排序和Object类中方法的分析

再重写方法。

2025-03-17 21:48:17 441

原创 详解多态

在这里,animal在编译的时候是不能确定具体要调用父类亦或者是子类的eat,但当程序运行时,如果子类中对父类中的方法有重写,则一定会掉用子类中重写的eat方法,这个过程叫做动态绑定。我们知道,向上转型的结果就是把子类对象当作父类对象来用,那么我们通过相应的父类引用如animal,如果没有方法重写,进行动态绑定,那么我们就只能访问父类成员了,在一些情况下要求访问子类成员的时候就不行了,此时:由于。1. 属性没有多态性 当父类和子类都有同名属性的时候,通过父类引用,只能引用父类自己的成员属性。

2025-03-16 07:00:00 486 1

原创 继承和多态得学习记录(上)

记录学习,学习笔记学习目标1继承2组合3多态何为继承:存在既有用,它的作用是什么?我们先看一个例子:定义猫和狗类:我们可以发现Dog类和Cat类具有一些共性,我们能否将这些共性提取出来然后,然后每个类都去公用他,不用每个类都去写一遍,实现代码的复用,提高代码效率呢?,实现代码复用。继承机制:是面向对象程序设计,我们可以在原来类的基础上去继承扩展其他类所具有的功能,产生新的类---->子类/派生类。继承呈现了面向对象程序设计的层次结构, 体现了。继承主要解决的问题是。

2025-03-15 11:19:24 698 1

原创 类和对象的学习记录

例如我们在使用Arrasys类中得toString方法打印字符串得时候,会出现如图,点击tab之后,便会在顶部自动导入图二得内容,那么圆圈里的内容就是一个根目录,就是一个包。图中的dog1 我们知道是引用变量,指向它的对象,同时this也指向这个对象,那么也就是说 ”this“ 的作用dog1的作用是类似或者说是相等的,可以这么来理解,只不过this有使用的注意事项。如图中两个包中都有Date类,如果调用Date类时便会起冲突,用的是第一个包中的类的方法还是第二个包的呢?

2025-03-14 10:43:52 548 1

空空如也

空空如也

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

TA关注的人

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