09 2023 档案
摘要:一、局域网和广域网 随着时代的发展,计算机之间相互通信、共享数据,协同合作的需求越来越大,于是就有了计算机之间的网络互连,进行数据共享,数据共享的本质是通过网络来进行数据的传输,也成为网络通信。根据网络互连的规模可以分为局域网和广域网。 局域网 局域网,简称LAN,英文全称是Local Area N
阅读全文
摘要:文件的概念 文件分为狭义的文件和广义的文件,这里讨论的是狭义的文件。文件是针对硬盘抽象出来的概念,当我们想要将数据保存再硬盘上时,是以文件的形式来保存的,并且是以文件为单位来保存的。文件包含的信息有文件名,文件类型,文件大小等,我们把这些信息视为文件的原信息。 由于文件的繁复,为了对文件进行高效的管
阅读全文
摘要:什么是线程池? 线程的引入是因为进程的花销很大,线程相较于进程的花销少了很多,但是随着并发程度提高,对性能的要求也提高,频繁的创建线程,销毁线程的开销似乎也挺大的,这种情况下,要想提高效率,就可以使用线程池来降低创建线程销毁线程的开销。线程池就是事先将需要的线程创建好,放到“池”中,需要线程的时候,
阅读全文
摘要:Java中的定时器是设定一个时间,时间到之后执行指定的代码,定时器的应用场景是非常多的,例如在进行网络通信的时候,设定一个时间,如果执行时间到了对方还没有返回数据,则断开链接并尝试重新链接。 Java库中提供了定时器Timer类,它的核心方法是schedule,其包含两个参数,一个是指定要执行的代码
阅读全文
摘要:在正式介绍生产者消费者模型之前,我们先来认识一下阻塞队列。 阻塞队列是特殊的队列,是在先进先出的基础上加了一些特殊的功能: 1)如果队列为空,线程要执行出队操作时,就会进入阻塞,阻塞直到另一个线程往队列里添加元素; 2)如果队列满了,线程要进行入队操作时,就会进入阻塞,直到有另一个线程从队列里取走元
阅读全文
摘要:单例模式是只有单个实例的模式,应用在只能有一个实例的场景中。单例模式有很多种,这里介绍饿汉模式和懒汉模式两个单例。 一、饿汉模式 “饿汉”是一种形象的描述,“饿汉”看到吃的就非常急切,把这种急切的形象类比到Java中就是在类加载阶段就把实例创建出来了。什么是类加载?Java代码中的每个类,都会在编译
阅读全文
摘要:线程执行顺序的随机性的根本原因是随机调度和抢占式执行,但在开发的过程中,我们往往希望代码按照一定的顺序执行,因此Java中提供了一些可以控制线程执行顺序的方法,通过这些方法让线程主动阻塞,让出CPU资源。wait搭配notify使用就可以控制线程的执行顺序。 wait和notify如何使用呢?我们借
阅读全文