- 博客(20)
- 收藏
- 关注
原创 Docker入门级介绍
通过编写一个YAML文件,您可以指定每个服务所需的镜像、环境变量、网络配置等信息,并使用`docker-compose`命令来启动、停止和管理这些服务。- 编写Docker Compose文件:Docker Compose文件通常被称为`docker-compose.yml`,其中包含了应用的各个服务的定义。我们了解了镜像和容器的概念,学习了如何使用Docker命令进行操作,并介绍了Docker Compose的使用。您可以限制容器的权限,以确保其只能访问必要的资源,并防止容器之间的相互干扰。
2023-07-24 14:33:38
157
原创 Maven项目中使用Spring进行配置的步骤
本文介绍了在Maven项目中使用Spring进行配置的步骤。首先,在pom.xml文件中添加spring-context依赖,并创建名为applicationContext.xml的Spring配置文件。然后,在配置文件中定义Bean,并使用context:component-scan元素启用自动扫描。最后,在应用程序中使用ClassPathXmlApplicationContext类或FileSystemXmlApplicationContext类加载XML文件,获取Bean对象,并使用它们。
2023-05-25 16:23:54
1562
原创 Java中synchronized的用法
当一个线程进入同步代码块时,它就获得了该对象的锁,其他线程将被阻塞,直到执行线程释放锁并退出该代码块。需要注意的是,同步代码块的粒度比同步方法更细,可以有效减小同步开销。非静态同步方法的锁是该方法所属对象的实例,而静态同步方法的锁是该方法所属类的Class对象。这意味着,当一个线程进入静态同步方法时,其他线程将不能同时访问该类的静态同步方法,但可以同时访问该类的非静态同步方法和其他非同步方法。当一个线程进入同步方法时,它就获得了该方法所对应的对象的锁,其他线程将被阻塞,直到执行线程释放锁并退出该方法。
2023-04-15 19:55:14
2277
原创 操作系统之经典同步问题
2. 读者-写者问题:多个读者可以同时读取共享数据,但是当有一个写者在进行写操作时,所有读者和写者必须等待该写者完成后才能再次访问共享数据。// 拿起左边的叉子。// 拿起右边的叉子。// 放下左边的叉子。// 放下右边的叉子。// 空闲缓冲区数信号量。// 等待空闲缓冲区。// 空闲缓冲区+1。
2023-04-15 19:48:34
580
原创 双指针数组(对应Leecode-27,26,977)
例如:双指针数组中的指针并非我们常见的c语言指针,它更多指的是对数组下标操作的两种标量。他大体可以分为两类,一类是快慢指针,一个是头尾指针。我们可以借助下面的两张图帮助我们理解(我们根据题型来选这二者)这类题刚入手时可能有点难度,但只要理解了双指针思想,便可以很快解决这一类题型。作者题型:大家初刷Leecode倒也不用过分在意时间 空间复杂度,刷多了自然就会优化了。一起加油~~~~
2022-12-17 21:51:34
241
1
原创 Hashmap的底层机制及JDK源码剖析,带你进一步理解hashmap
每一个节点里存放着key -value 键值对,而(k-v)又是一个node,实现了Map.Entry通俗来讲 就是数组 里面存放的一个个元素,这个元素是链表,当这个数组长度超过64而且链表的长度超过了12,这时候就会进行树化,变成我们熟悉的红黑树
2022-11-18 20:50:13
197
1
原创 Java每日笔记之Map接口的介绍以及遍历Map的六大方法
2.Map中的key和value可以是任何引用类型的数据,会封装到HashsetMap$Node中3.Map中的key不允许重复,原因和Hashset一样 //4.Map中的value可以重复5.key和value都可以为null , value也可以为null ,但要注意key为null,只能有一个,value为null可以有多个(还是因为key的值不能重复)6.常用String类做key的值7.通过key值找到value
2022-11-17 22:59:49
250
1
原创 Java每日笔记之Arraylist三种遍历方式(同样适用于LinkedList,Vector)
关于Arralist三种遍历语法以及他们的快捷键~
2022-11-15 16:41:39
596
2
操作系统期末试题库(可直接打印)
2023-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人