自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 总结操作系统中各式各样的算法(一)

一.银行家算法众所周知在操作系统中最重要的就是关注线程的执行状况,而并发的特性也导致了死锁概念的产生非剥夺资源的竞争和进程的不恰当推进顺序会导致死锁。有 3 种方式可以解决死锁问题:预防死锁; 避免死锁; 死锁的检测和解除;银行家算法就属于死锁避免。银行家算法涉及到几种表示变量1.可用资源向量 Available 表示系统中的可用资源2.进程所需最大资源Max3.系统分配资源Allocation4.进程尚需各类资源数Need不难推导出Need = Max - .

2021-10-04 17:52:07 1178

原创 Mybatis配置及简单实现

Mybatis是灵活的持久层框架技术,应用非常广泛下面记录简单的Mybatis框架的使用方法一.在Ideal中创建Maven项目,引入依赖<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> &

2021-09-28 18:09:13 143

原创 算法学习 动态规划--真正的斐波那契

斐波那契数组是我最早使用递归解决的问题,应该是在大一学习C语言时的课后作业。所谓斐波那契数组就是数组前两个数是1,之后的每个数都是前两个数字之和,使用递归算法的Java代码如下 public static int FB(int n){ if(n==1&&n==2){ return 1; } return FB(n-1)+FB(n-2); } 哎想起来当年初学编程的日...

2021-08-23 21:31:01 112

原创 Java学习日记 -IO流--File类

IO其实算是Java中比较 *@Auther:AmazingQing *@Data:2021/8/20*/ import java.io.File...

2021-08-22 20:43:06 119

原创 Java学习日记 -快速排序

相比于选择插入冒泡来说,快速排序是一种更高级的(更麻烦)的方法,快速排序是通过分治的策略(也就是递归)来完成的排序,实际的时间的复杂度(平均)是O(nlog2n),对比平方根确实是质一样的飞跃咯。 在这里给大家说一说我对快速排序的理解,实际上就是在一个乱序的数组的头和尾部插入指针,分别称之为low与hight,然后设置一个temp值用来存放一个衡量值,这个衡量值取low指针所对应的值(简单来说就是数组第一个值),这个值用来将乱序的数组划分为小于与大于该数组的两个子数组。...

2021-08-19 21:33:45 134

原创 Java学习日记 -选择排序和冒泡排序的对比

今天重新拿来当时学习时就有点糊涂的各种排序方法来好好研究一下,这篇主要对比一下选择排序和冒泡排序两种方法之间的差异 冒泡排序大家应该已经非常了解了,就是通过一个嵌套循环使大的数沉下去小的数浮上来的一种方法,而选择排序则是通过一次又一次遍历数组来找到最小的换到前面的方法,实际上也是一个嵌套循环就可以解决的问题,所以当时学的时候我就对于这两种方法有点区分不开。通过看了看别人的代码现在算是弄明白了两者之间的差别 其实两者的时间复杂度都是O(n²),主要的区别是在...

2021-08-19 21:16:25 193

原创 java学习日记 -线程的协作及线程池的学习

嗯嗯..对于一个新手来说,线程的协同作用翻译过来就是就是多个线程要处理同一个资源,处理的动作有先后或者制约的束缚。比如A线程生成包子,B线程吃包子,只有A生成包子B才能吃到,再多一点约束比如只有B吃了包子A才会做新的包子,这样线程A和线程B就有了协同的作用。刚刚的包子生产其实就是生产者与消费者问题,之前在学校学习操作系统中已经有过比较深入的了解(PV信号量),这就要使用到线程的等待唤醒机制(wait-notify)这是包子问题的简单实现:public class PVTest { pu

2021-08-17 21:01:06 100

原创 Java学习分享 -线程的学习(二)

这篇文章跟大家分享关于线程生命周期及一些操作线程的方法线程的生命周期: 线程有出生、就绪、运行、等待、休眠、阻塞、死亡共七种状态在调用start()方法之前都是出生状态在运行start()方法后就处于就绪状态得到系统资源之后就进入运行状态通过调用Thread类中的wait()方法进入等待状态进入等待状态的线程必须调用Thread类中的notify()方法才能唤醒 notifyAll()唤醒所有调用Thread类中的sleep()方法进入休眠状态当线程在运行状态...

2021-08-16 21:05:23 73

原创 Java学习分享 -线程的学习(一)

作为一个初学者,我对线程的理解就是为了能够让多个项目同时进行而出现的一种机制,也就是所谓的“并发”,并发可以有效的提高计算机的使用效率,提高CPU的使用率。Java中主要提供了两种方式实现线程,分别继承了java.lang.Thread类与实现java.lang.Runnable接口,其实Thread本身也是Runnable接口的一个实现类继承Thread类: Thread类有两个常用的构造方法public Thread();创建一个新的线程对象public Thread(...

2021-08-16 20:29:23 86

空空如也

空空如也

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

TA关注的人

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