![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
小问题
文章平均质量分 60
HDLaZy
生活不止眼前的CRUD,还有远方的框架源码!
展开
-
远程连接服务器的MySql
外部连接服务器mysql原创 2022-06-27 15:10:33 · 174 阅读 · 0 评论 -
操作系统-死锁
1:死锁引起死锁的原因:竞争非抢占资源竞争可消耗资源进程推进顺序不当死锁: 多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程将永远不会向前推进。死锁产生的必要条件:互斥条件—进程对所分配的资源进行排它性使用请求和保持条件—请求新资源阻塞,保持已获得资源不放不可抢占条件—进程获得的资源在使用完之前不可被抢占循环等待条件—存在进程-资源环形链如何处理死锁:预防死锁:破坏请求保持,不可抢占,循环等待条件避免死锁:资源分配过程中,防止系统进入不安全状态检测死锁:设原创 2022-04-05 09:21:41 · 480 阅读 · 0 评论 -
操作系统-虚拟存储器
1:虚拟存储器常规存储器的管理方式:要求一个作业全部装入内存后才可以运行。导致问题:大的作业无法装入,导致无法运行。 大量作业需要运行时,只能运行一部分,另一部分需要在外存等待。解决方案:增加内存容量。逻辑上扩充:覆盖(单一连续),交换,虚拟存储器。虚拟存储器: 指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。虚拟存储器特征: 虚拟存储的基础是程序执行的局部性。离散性:多次性:一个作业被分为多次调入内存。对换性:作业运行过程中进行换进换出。虚拟性:逻辑原创 2022-04-04 18:40:18 · 1066 阅读 · 0 评论 -
操作系统-存储器管理
1:存储器存储器的功能:内存分配,回收存储保护:每道用户进程都在自己的内存空间中运行,互不干扰,冲突,破坏地址变换:逻辑地址转化为物理地址存储共享:多进程共同使用同一系统软件存储扩充:逻辑上扩充内存,虚拟存储技术2:程序的装入和链接编译:由编译程序将用户源程序编译成若干个目标模块链接:由链接程序将目标模块和相应的库函数链接成装入模块装入:由装入程序将装入模块装入内存逻辑地址:源程序经过编译后形成目标模块或装配链接程序的地址编码物理地址:程序在主存储器中的地址编码原创 2022-04-03 15:39:16 · 488 阅读 · 0 评论 -
操作系统-作业调度和进程调度
1:作业调度作业调度的主要任务是: 根据JCB的信息,按照某种规则从作业后备队列中进行挑选,给选中的作业分配内存等资源,并建立响应的进程,使其投入运行。2:作业调度算法先到先服务短作业优先高优先权优先高响应比优先按照作业到达系统的先后顺序进行调度。总是从后备队列中挑选运行时间最短的作业作为下一个调度运行的对象。优先权分为:静态优先权(作业运行期间保持不变)动态优先权(根据作业的运行可改变优先权)综合考虑作业/进程的等待时间和服务时间。响应比=(等待时间+服务时间)/服原创 2022-04-02 17:29:55 · 4817 阅读 · 0 评论 -
操作系统-信号量机制的一些习题
1:生产者消费者问题生产者和消费者共享一个初始值为0,大小为n的缓冲区。当缓冲区未满时,生产者才能生产产品。当缓冲区未空时,消费者才能消费产品。缓冲区属于临界资源,生产者和消费者需要互斥的访问。semaphore mutex=1 //互斥信号量,生产者和消费者互斥访问缓冲区semaphore empty=n //同步信号量,表示空缓冲区的数量semaphore full=0 //同步信号量,表示产品数量即非空缓冲区的数量 producer ( ){原创 2022-04-01 22:54:33 · 2854 阅读 · 1 评论 -
事务隔离级别和传播机制
1:事务事务:一组逻辑操作单元,使数据从一种状态变换为另一种状态。逻辑操作单元: 一个或者多个DML操作。事务处理(事务操作):保证所有的事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式,当在一个事务中执行多个操作的时候,要么所有的事务都被提交(commit),那么这些修改就会被永久的保持,要么数据库管理系统将放弃所有的修改,进行回滚(rollback)到最初状态。回滚的意义:为了确保数据库中数据的一致性,数据的操作应该是离散的成组的逻辑单元,当它全部完成时,数据的一致性可以保原创 2022-03-13 16:28:04 · 1598 阅读 · 0 评论 -
MyBatis拒绝where 1=1
为什么使用 where 1=1?在MyBatis框架中,动态SQL是很棒的一点,为了解决拼接SQL字符串带来的问题,MyBatis存在动态SQL技术,按照特定的条件对满足条件的SQL语句进行拼接。举例:<select id="getEmpByIf" resultType="Emp"> select * from t_emp where 1=1 <if test="empName !=null and empName!=''">原创 2022-03-09 14:40:07 · 911 阅读 · 1 评论 -
equals和==
在java中的数据类型分为基本数据类型和引用数据类型。1:==1:主要用来比较基本数据类型的值是否相等 if(1==1){ System.out.println("1==1");//1==1 }2:也用来比较引用数据类型,判断它们的地址是否相等2:equalsequals主要用于引用数据类型。1:Object类的equals方法(未被任何类重写)我们看到未被重写的equals底层还是使用==2:举个例子,查看String类型的equals方法原创 2022-03-03 23:07:55 · 59 阅读 · 0 评论 -
Maven项目中junit测试出现Java.lang.Exception: No tests found matching
解决方案:1:将Junit的依赖改为最新版本:<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.4</version> <scope>test</scope> </depe原创 2022-03-01 21:50:35 · 421 阅读 · 0 评论 -
Comparable和Comparator接口
Java中如果涉及到对象之间的比较,则可以实现Comparable接口重写compareTo(T o)方法,或者实现Comparator接口重写compare(T o1,T o2)方法自定义规则的比较对象之间属性的操作。Comparable接口:提供一个实现Comparable接口的类Car,我们按照Car的价格从小到大排序。class Car implements Comparable<Object>{ private int price; private int siz原创 2022-02-28 11:26:59 · 88 阅读 · 0 评论 -
Java抽象方法,抽象类,接口
抽象方法:概念:被abstract修饰,且没有{}的方法就是一个抽象方法。定义一个抽象方法:public abstract void AbstractMethod();抽象类:概念:如果一个类中,没有包含足够的信息来描述一个具体的对象,这种类就称为抽象类。定义一个抽象类:abstract class TestClass{ public int testNum; public TestClass(int testNum) { this.testNum = t原创 2022-02-27 01:39:05 · 136 阅读 · 0 评论 -
Java重载VS重写-向下转型VS向上转型-动态绑定VS静态绑定
重载VS重写重载:方法名相同参数列表不同(无论是参数的类型,数量还是顺序)对方法的返回值不做要求重写:1:方法名相同2:参数列表相同(参数类型,数量,顺序)3:返回值相同(协变类型[返回值之间有继承关系])向下转型VS向上转型定义一个类:People定义一个类:StudentStudent继承Peopleclass People{ private int age; private String name; public void printMessage原创 2022-02-26 03:39:07 · 365 阅读 · 0 评论 -
2022JDK安装配置
1:JDK下载(JDK17)Java Downloads | OracleWindows/Linux/macOS选择和自己系统一致即可。2:安装下载后,安装时一直下一步,如果需要更改jdk安装路径注意一下即可。(需要记住安装路径,后续配置环境需要)默认路径是C:\Program FilesC:\Program Files:对应64位软件C:\Program Files(X86):对应32位软件3:环境配置①右击此电脑->高级系统设置->高级->环境.原创 2022-02-15 18:46:22 · 1595 阅读 · 0 评论