![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
javase
文章平均质量分 82
专门记录javase阶段的知识点
zhenzhizz`
这个作者很懒,什么都没留下…
展开
-
多线程典型例子(3)——定时器
定时器:是日常开发中常见的组件,前端/后端都常用到。类似于一个闹钟:等待一定的时间后,执行某个任务。Java中对于定时器的使用提供了标准库中的Timer类(来自于java.util 包下的类 )。/*** 自我实现一个定时器* 实现思路:* 先描述,后组织。* 1、先要能够将一个任务描述出来* 2、使用一定的数据结构将多个任务 TimerTask 组织起来* 创建一个 TimerTask 这样的类表示要执行的任务,类里表示任务执行的内容,以及任务的实际执行时间。原创 2024-05-05 21:14:07 · 116 阅读 · 0 评论 -
浅谈操作系统中的重要概念——线程(1)
最初是尝试在创建进程时,只给进程分配一个简单的PCB,而不去分配后续进程运行时所需的系统资源,此时这类进程称作——轻量级进程(也叫做 线程 Thread),但是这样的尝试还是出现一个问题:线程创建出来,也是为了到cpu上执行,完成相关任务的。刚创建出来的进程,可以视为是一个只包含一个线程的进程(此时创建的过程需要分配资源,因此此时第一个线程创建的开销就可能比较大,后面再在这个进程里创建的线程,直接服用当前进程的资源,开销就比较小)一个进程中的前台线程都结束了,后台线程还没执行完,也会跟着进程的结束而退出。原创 2024-04-27 21:22:11 · 933 阅读 · 0 评论 -
浅谈在Java代码中创建线程的多种方式
第一种创建线程的方式就是:自定义一个类,并且使该类继承自Java标准库 Thread 类,此时自定义的类需要重写 run() 方法。注意:重写的 run() 方法,要处理异常时,只能 try {} catch (),并不能 throws,这是因为 Thread 类中的 run() 方法并没有throws xxx这样的设定。重写的 run() 方法里书写的逻辑代码就是我们创建出来的新线程,所要执行的任务。原创 2024-04-27 21:19:57 · 857 阅读 · 1 评论 -
多线程典型例子(4)——线程池
由于该线程池类 ThreadPoolExecutor 中的线程数并不是一成不变的,而是根据任务的情况动态变化(自适应),如果任务多,该线程池中的线程数就多一些(创建出来),任务少,该线程池中的线程数就少一些(多余的就销毁),但是此处的动态变化也并不是没有限制,因此ThreadPoolExecutor类的构造方法提供了几个不同含义的参数,来对线程池的动态变化产生一定限制。因此可以使用 线程池,提前创建好一些线程放在线程池中,后续需要使用线程时,直接从线程池中随取随用即可,当线程不再使用时,就放回池子里。原创 2024-05-09 23:39:39 · 883 阅读 · 0 评论 -
浅谈操作系统中的重要概念——线程(3)——设计模式
设计模式就相当于菜谱,有了菜谱/秘籍,就能够根据菜谱上的指引/步骤做出许多从前不会的美食,就算不会下厨的人,拥有了食谱,他的厨艺也能够得到提升和保障。因此设计模式就是程序员的菜谱,设计模式中介绍了许多典型场景,以及针对这些典型场景的处理办法。按照设计模式来写的代码不会很差,在一定的规范范围里。设计模式有很多种,不止23种,今天主要介绍两种常见、常用的:1、单例模式2、工厂模式工厂,顾名思义是用来生产的。那么对应到我们代码上,工厂模式就是用来生产对象的。那么具体是怎么进行生产对象的呢??原创 2024-05-07 19:26:49 · 951 阅读 · 0 评论 -
浅谈操作系统中的重要概念——线程(2)
该篇文章继续重点介绍关于线程的使用,对于Java程序员来说,掌握线程的知识是非常必要的,不仅笔试面试中会用到,实际工作中更会用到。原创 2024-04-29 20:20:57 · 650 阅读 · 3 评论 -
浅谈操作系统中的重要概念——进程
以 .exe 为后缀的可执行文件就是一个程序,一般是存储在硬盘上的。上图中,我们可以看到 QQ.exe 就是一个以.exe 为后缀的可执行文件,因此他就是一个程序,应用程序;图中其他以.exe结尾的文件,其类型也是应用程序。程序在没有双击运行时,是静态的存放在硬盘上的,此时并不会消耗系统资源。正在运行的程序就是进程。譬如说:QQ这个程序没有运行时,以 .exe 作为后缀的文件静态的存放在硬盘上,并没有运行。双击运行时,同一个程序,可以产生多个进程。原创 2024-04-25 21:34:05 · 890 阅读 · 1 评论 -
多线程典型例子(2)——单例模式——饿汉模式、懒汉模式
详情原创 2024-05-07 19:29:32 · 419 阅读 · 0 评论 -
浅谈 操作系统
操作系统 其实就是一个软件(software)。是一个用来进行管理的软件。进行什么样的管理呢?操作系统一般由 内核 + 配套的程序 组成。内核即一个系统最核心的功能:对下,能够管理好各种硬件设备;对上,能够为各种程序提供稳定的运行环境。原创 2024-04-25 12:26:21 · 273 阅读 · 1 评论 -
浅谈 StringTokenizer 类
最近在编写代码时以及在 牛客、leetcode 上刷题时,有时候会遇到需要对一个字符串进行几部分的截取 这样的需求场景。一般我都是使用 字符串 String 类自带的 split()方法 进行截取字符串,不过由于这个 split()方法 里传入的参数比较特殊,其传入的参数需要是正则表达式。譬如说:当前有个字符串 x = “aaa\tbbb\tccc”,我希望以 \t 为分隔符,将 x 截取,分成好几个字符串子串。原创 2024-04-21 17:21:26 · 1074 阅读 · 0 评论 -
浅谈 刷算法题时遇到运行超时异常 的解决办法
最近在牛客、leetcode 刷算法题时发现一个奇怪的问题,明明解题思路、所用算法与题解一致,并且在本地IDE运行是通过的,但是在牛客、leetcode 却没办法AC,出现一个叫做 运行超时 的异常。通过查阅资料、反复验证之后,找出了一个有效的解决办法。原创 2024-04-20 21:09:08 · 1129 阅读 · 0 评论 -
浅谈在 java 中如何从控制台输入一个字符
在 leetcode 上练习算法题时,题目要求输入一个浮点型数值以及一个字符。当我书写Scanner sc = new Scanner(System.in)后,打算通过sc.nextXX实现从控制台输入一个字符时,突然意识到原来Java语法中的Scanner类并没有直接定义读取 char 的方法。由于之前也并没有遇到过需要从控制台输入一个字符的需求场景,因此此时就对如何输入一个字符的问题绞劲脑汁,终于整理出了几种方法,实现从控制台输入字符。原创 2024-04-19 19:36:42 · 464 阅读 · 0 评论 -
HTML中的常见标签
HTML代码通常使用标签的形式来展示内容.1、标签是以键值对的形式组织数据,例如< p>hello< /p>,此处hello是值,值可以随意更改成任何值都可以,两边的标签是键。1、标签名会放在中,大部分标签成对出现,例如< a>标签,< a>为开始标签,< /a>为结束标签.结束标签一般在标签名前含有 /。2、少数标签只有开始标签,没有结束标签。例如< br>标签,这样的标签称为 单标签。原创 2023-10-17 10:46:36 · 3050 阅读 · 0 评论 -
CSS中常用的选择器
CSS全称为Cascading style sheets,叫做层叠样式表。是一种用来为结构化文档(html文档、xml文档)添加样式(字体、颜色、间距等)的计算机语言。选择器描述了要选中页面中的哪个标签,{ }里面的样式就是针对那些被选中的标签而生效。原创 2023-10-24 10:48:08 · 65 阅读 · 0 评论