- 博客(17)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 wait和sleep的区别
wait和sleep的区别文章内容来自《java并发编程详解》,这些是笔记。注意事项wait属于可中断方法,当前线程一旦调用wait方法进入阻塞状态,其他线程可以使用interrupt方法将其打断。可中断方法被打断后会抛出中断异常InterruptedException,同时interrupt标识也会被删除。线程执行wait方法后,会加入与之对应的wait set中,每一个对象的monitor都有一个与之关联的wait set当线程进入wait set之后,notify方法可以将其唤醒,也就是从
2021-11-13 20:01:03
656
原创 如何保证一个元素被删除
如何保证一个元素被删除在C++中,我们有时候需要保证一个元素在使用完之后被删除,往往需要让他只能在栈上产生,因此我们需要把new 和delete操作符设置成私有的,就可以在编译器保证这一点,不需要附加的实现。...
2021-11-03 12:58:54
149
原创 设计模式之命令模式
设计模式之命令模式命令模式将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,同时也支持撤销操作、。如果你有一个对象,有人向这个对象发送请求,关键点在于这个对象,我们有一个对象,有人向这个对象发送请求。这个请求就是我们想要封装的,不是封装这个请求的接收者,也不是封装这个请求的发送者,而是封装在两者之间的这个请求。UML类图案例public class Client { public static void main(String[] args) { Light lig
2021-11-02 22:00:00
109
原创 设计模式之装饰器模式(笔记)
设计模式之装饰器模式(笔记)装饰器模式如果我想要改变某个对象的行为,可以在运行时不用修改这个对象,也就是改变这个对象的行为而不用重写里边的内容,不用打开这个类文件修改内容。如何做到呢?第一种解释将这个对象用另外一个对象包装一下,当外部发送消息给他的时候,包装的对象会先收到这个消息,然后内部的对象才会收到这个消息,内部对象再返回数据给外部对象,外部对象再返回给接收者,然后一直嵌套下去。这就是装饰器模式。第二种解释中间的对象称为组件,包装这个组件的是一个装饰者,包装这个装饰者的也是一个装饰者,对
2021-11-02 17:22:07
93
原创 设计模式之策略模式(笔记)
设计模式之策略模式(笔记)使用组合而不是继承策略模式定义了一系列的算法,封装每个算法,让他们之间可以相互替换,策略模式让算法的变化独立于使用算法的客户。策略模式使算法在客户使用时独立,解耦了算法和算法的使用者,使得我们可以在算法A、算法B、算法C之间任意切换,无论是使用哪一个算法,如果算法发生了改变,Client都不需要做出任何改变,如果想要修改其中一个算法,修改算法的实现,你可以不用同时修改使用它的用户,当客户端不需要做任何改动,类比集合的实现。简单的策略模式UML类图他通过使用组合而非继承
2021-10-31 09:54:47
80
原创 设计模式之适配器模式
设计模式之适配器模式(笔记)适配器模式适配器模式是作为两个不兼容接口之间的桥梁。这种类型的设计模式属于结构型模式,他结合了两个独立的接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或者不兼容的接口功能介绍意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式主要分为两个部分。其中,作为用户的Client由于某种原因,比如已经定义好规范,需要使用到ITarget接口的request()方法来完成某项功能。但是,他
2021-10-26 18:20:37
74
原创 设计模式之工厂模式(笔记)
设计模式之工厂模式(笔记)工厂模式式java中最常用的设计模式之一,这种类型的设计模式属于创建型模式,他提供了一种提供创建对象的最佳方式在工厂模式种,我们创建对象时不会暴露创建逻辑,而是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决了接口选择的问题,让其子类实现工厂接口。由于java里边所有类都继承于Object类,所以,可以采用更加简单的方式实现,并且可以借助反射直接实现。如下publ
2021-10-26 12:26:57
119
原创 设计模式之单例模式
设计模式之单例模式单例模式特点单例类只能有一个实例单例类必须自己创建自己的唯一实例单例类必须给其他所有对象提供这一个实例意图保证一个类仅有一个实例,并提供一个访问它的全局访问方法主要解决一个全局使用的类频繁创建和销毁何时使用当你想要控制实例对象数目,节约系统资源的时候懒汉式:线程不安全的懒加载,线程不安全public class Singleton { private static Singleton instance; private Singleton() {}
2021-10-25 12:53:43
87
原创 设计模式之观察者模式
设计模式之观察者模式当对象间存在一对多关系的时候,则使用观察者模式,比如当一个对象被修改的时候,则会自动通知他的依赖对象。观察者模式属于行为模式。介绍:定义一种对象间的一种一对多的依赖关系,当一个对象发生改变时,所有依赖于他的对象都得到通知并且被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且考虑到易用和低耦合,保证高度的协作。如何解决:使用面向对象计数,可以将这种关系弱化。关键代码:在一个抽象类里边有一个ArrayList存放观察者们。优点:观察者和被观察者时抽象耦合的,建立一套
2021-10-25 12:29:52
86
原创 Java中对对象加锁的方法和对类加锁的方法会不会互相阻塞?
对对象加锁的方法和对类加锁的方法会不会互相阻塞?今天面试遇到这么一个问题:对对象加锁的方法和对类加锁的方法会不会互相阻塞?然后我参照了网上的一些博客内容,写了以下程序验证:他们的结果是交错输出的,也就是说他们是不阻塞的。那么为什么会成为这样子呢?先说一个Synchronized的原理Synchronized关键字在编译的时候,会在同步块前后形成一个monitorenter和monitorexit的字节码指令,这两个字节码都需要一个reference类型的参数来指明要加锁和解锁的对象,在执行mon
2021-10-23 13:18:12
850
转载 SpringMvc中文件的下载和与其相关的测试
SpringMvc中文件的下载和与其相关的测试文件似乎并不是找工作面试中遇到的主要问题,但是我们也许会在一些学校的作业中遇到以下将展示文件下载的实现和测试部分的代码,希望能给其他人一些启发.一些参数写死了是为了方便理解。//Controller部分 @RequestMapping(value ="/testDownload") @ResponseBody public ResponseEntity<byte []> testDownload(HttpServletRequest r
2021-06-22 18:42:31
149
原创 关于MyBatis 插入数据返回主键的一点疑惑
关于MyBatis 插入数据返回主键的一个小坑在主键是自增的情况下,我使用了如下格式的插入语句,以求在插入数据之后能获得自增的主键。<insert id = "insert" useGeneratedKeys = "true" keyProperty = "id"> SQL语句</insert>但是,当我进行测试的时候,我发现结果并不是那么让我满意。我的代码如下,但是当我在Service层输出course.getCourseId()的时候,我发现输出的是null,而
2021-06-19 10:57:51
110
原创 基于kotlin移动开发大作业的总结
基于kotlin移动开发大作业的总结移动开发的大作业要求:在本地建立一个user数据库表,完成登录功能建立一个本地的运单表,完成运单的插入和显示连接网络,查询并解析json和xml格式的数据作业实现(使用了部分jetapck组件)我把代码投放于gitee仓库中,并附上了我用于提交给老师讲解视频。gitee仓库地址:kotlinwork: 安卓移动开发大作业 (gitee.com)主要实现了以下部分操作:创建一个本地数据库对本地数据库的一些查询和添加操作,并显示查询网络上的数据,并
2021-06-05 15:48:49
793
4
原创 马踏棋盘求----全部解
标题:运用栈和回溯法求马踏棋盘的全部解感谢我的队友#include <iostream>#include<cstdio>#include<cstdlib>using namespace std;#define STACK_INIT_SIZE 200#define INCREASE 10#define AddRow 10#define AddCo...
2019-11-23 16:42:51
754
2
原创 链表的逆转之(如何理解链表的逆转函数)
标题:链表的逆转最近我发现一些同学并不知道链表的逆转函数怎么回事,常常有很多错误。于是,我写了篇文章,来解释一些链表逆转函数的原理,这是我第一次写优快云博客,写得不好,希望大家不要有意见。首先给出链表结点的结构体typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToN...
2019-11-23 13:34:13
528
马踏棋盘求全部解(回溯法)
2019-12-26
关于MyBatis 插入数据返回主键的一点疑惑
2021-06-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人