编辑
2023-11-11
算法题
00
编辑
2023-11-11
英语学习
00

Copy-on-write (COW), also known as implicit sharing or shadowing, is a resource-management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources [1]. It is commonly used in various contexts, such as memory management, operating systems, software libraries, and storage systems.

编辑
2023-11-11
操作系统
00

Copy-on-write (COW)是一种优化策略,在各个领域中都有广泛的应用。下面将详细介绍COW在不同领域中的运用和原理。

  1. 操作系统:
    • 在操作系统中,COW被广泛应用于进程间内存共享。当使用fork()系统调用创建子进程时,父进程的内存空间会被复制到子进程中。但是,为了避免不必要的内存复制,操作系统使用COW技术。具体原理是将父进程的内存页标记为只读,当子进程尝试写入某个内存页时,会触发一个保护故障,然后内核为子进程创建该页面的新副本,并恢复可写权限。这样可以节省内存复制的开销,并提高效率[1]
编辑
2023-11-10
Tomcat源码学习
00

一、Servlet接口和Servlet容器

  1. Servlet接口:Servlet接口定义了五个方法,包括init、getServletConfig、service、getServletInfo和destroy [1]
    • init方法在Servlet容器加载Servlet类时调用,用于初始化一些资源。
    • getServletConfig方法用于获取Servlet的配置信息。
    • service方法是业务类实现处理逻辑的地方,接收ServletRequest和ServletResponse对象作为参数。
    • getServletInfo方法返回Servlet的信息。
    • destroy方法在Servlet容器卸载Servlet类时调用,用于释放资源。
编辑
2023-11-10
Tomcat源码学习
00
java
private ClassLoader(Void unused, String name, ClassLoader parent) { this.name = name; this.parent = parent; this.unnamedModule = new Module(this); if (ParallelLoaders.isRegistered(this.getClass())) { parallelLockMap = new ConcurrentHashMap<>(); assertionLock = new Object(); } else { // no finer-grained lock; lock on the classloader instance parallelLockMap = null; assertionLock = this; } this.package2certs = new ConcurrentHashMap<>(); this.nameAndId = nameAndId(this); }