Java
文章平均质量分 82
专注于Java方向学习
小黄hope
正在学习Java相关的知识技能,不定期写写博客巩固学习的知识!
展开
-
“知识世界”项目的自动化测试
"知识世界" 是一个 基于Spring,Spring MVC,MyBatis的项目。(1)登录功能用户名或密码错误,出现弹框:登录成功之后,来到文章列表页(2)显示用户的文章列表(3)在文章列表页可以 点击 查看全文,进入文章详情页(5)在文章详情页,可以点击编辑,更新文章内容。(5)在文章详情页,也可以点击删除,删除文章。确认删除后,页面跳转到 文章列表页。(6)右上角,点击写文章,可以新增文章。(7)右上角,点击 "主页",页面跳转到 文章列表页。原创 2024-05-12 19:39:31 · 854 阅读 · 1 评论 -
JVM的垃圾回收机制(GC机制)
在Java代码运行的过程中,JVM发现某些资源不需要再使用的时候,就会自动把资源所占的内存给回收掉,就不需要程序员自行操作了。就是JVM的。对于Java代码来说,"垃圾回收机制"的就是"堆"。因为"栈"上的局部变量,跟随栈帧的生命周期,一个方法执行结束,栈帧销毁,内存也就释放了;"方法区"中的静态变量,跟随着"类"的生命周期,因此静态变量是在程序运行期间始终存在的,无需释放。"垃圾"就是 "堆"中的对象。。原创 2024-04-28 21:57:11 · 1029 阅读 · 2 评论 -
JVM类加载基本流程及双亲委派模型
一个运行起来的Java进程就是一个JVM虚拟机,这就需要从操作系统中申请一片内存区域。JVM申请到内存之后,会把这个内存划分为几个区域,每个区域都有各自的作用。一般会把内存划分为方法区(也称 "元数据区"),堆区栈区程序计数器。(1)方法区:存储的内容是。就存储在堆区。(3)栈区:存储的内容一般是 一些。原创 2024-04-20 22:14:52 · 758 阅读 · 0 评论 -
Java中文件的相关知识及文件IO操作
在我们日常生活中,会把许多东西都称之为文件。比如,一份纸质报告,或u盘中的一些文档,都会把它们称为文件。那么,这里说的文件是以操作系统的角度出发的。在操作系统中,会把许多硬件设备和软件资源都抽象成“文件”,并进行统一管理。大部分所说的文件一般都指的是 硬盘中的文件。文件就相当于是“硬盘”数据的一种抽象。原创 2024-03-04 21:28:00 · 821 阅读 · 0 评论 -
Java中的CAS指令
全称,比较和交换,操作对象是和中的内容。,能够以的方式来完成和操作。通过这条指令来,可以使得系统开销更小。CAS(M,A,B),M是内存中的内容,A是寄存器1的内容,B是寄存器2的内容。这条指令要做的事情是若,就将B的值赋给M,即操作,并;若M!= A,就无事发生,并。代码1:很显然,代码1是线程不安全的,sum++操作是非原子操作,完成sum++操作有三条指令(load,add,save),t1,t2线程同时执行,这三条指令极大可能会被穿插执行,从而导致输出结果与逻辑结果不一致,线程是不安全的。原创 2024-03-02 14:57:07 · 924 阅读 · 0 评论 -
Java中锁的一些特性
在日常写的代码中,我们常常为了避免线程安全问题,会对部分代码加上锁,比如synchronized锁。锁也有很多的特性,一起来看看锁有哪些特性。原创 2024-03-01 22:09:33 · 855 阅读 · 0 评论 -
Java中的 工厂模式 和 线程池
工厂模式是一个设计模式,可以根据具体情景需求,自己写一个工厂类来满足需求。工厂模式是用来填补 构造方法的 局限性。对于一些需求多样化的场景,通过一个类的构造方法难以满足需求,这时就可以通过工厂模式来满足多样化的需求。例如,有一个任务,任务是 描述一个点在 笛卡尔坐标系中 和 极坐标中 的位置,位置变量都是int型。希望可以定义一个类 来完成这个任务。代码如下:从图中可以看出,想通过Point这一个类来完成这个任务是行不通的。原创 2024-02-29 17:38:50 · 882 阅读 · 0 评论 -
wait和sleep的区别
wait() 和 sleep() 有相同的地方,也有不同的地方。原创 2024-02-28 21:36:53 · 371 阅读 · 1 评论 -
线程的状态
对于进程来说,核心状态有 就绪态 和 阻塞态。那么对于线程来说,也同样有 就绪态和阻塞态。线程除了这两种状态,还有其他六种状态原创 2024-02-28 17:50:28 · 388 阅读 · 1 评论 -
线程安全问题
同一段代码,放在多线程并发编程的环境中执行,发生 输出结果 与 预想结果 有差异,放在单线程环境中执行,不会出现差异的情况,称之为线程安全问题。原创 2024-02-27 22:06:18 · 946 阅读 · 0 评论 -
Thread类的一些用法
在Java中,是一个的一个基础类。我们可以对线程有多种操作,比如等。下面将逐个介绍以上操作。原创 2024-01-31 15:40:12 · 843 阅读 · 1 评论 -
进程及进程的调度
我们在使用电脑的时候,会打开各种应用程序。就是,没有运行的应用程序就不是进程。例如,我在电脑打开了一些软件,在任务管理器上可以看到正在执行的进程(在运行的应用),还有一些是系统自动创建的进程(后台进程)。原创 2023-10-22 18:34:17 · 81 阅读 · 1 评论 -
进程和线程的区别
效果是挺好的,但也有明显的缺点。创建、调度、销毁一个进程,就会有一定的系统开销,比如申请内存,分配内存,释放内存等,会消耗许多时间和资源,效率不高。因此,为了提高电脑的性能,人们就引入了。(3)每创建一个进程,操作系统都会为每一个进程分配资源(内存,硬盘,CPU等资源),即。,不相互影响,一个进程的销毁不会影响其他进程的运行。(5)多进程和多线程都可以实现并发编程,但。而多线程,一个进程包含一个或多个线程,而对于多线程,一个进程包含多个线程,,节省了一定的系统开销。的基本单位,线程是系统。原创 2024-01-19 14:01:21 · 521 阅读 · 0 评论