自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 SpringBoot创建和使用

什么是Spring Boot?Spring Boot 是一个为了快速开发和使用 Spring 的脚手架。Spring Boot 的诞⽣是为了简化 Spring 程序开发的。Spring Boot 优点快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架。内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。快速部署项目,无需外部容器即可启动并运行项目。可以完全抛弃繁琐的 XML,使用注解和配置的方式进行开发。

2023-10-07 13:53:49 70

原创 Spring的创建和使用

其中 BeanFactory 提供了基础的访问容器的能⼒,⽽ ApplicationContext 属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性, 还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持。ApplicationContext 和 BeanFactory 效果是⼀样的,ApplicationContext 属于 BeanFactory 的⼦ 类,它们的区别如下。

2023-10-03 16:48:43 72

原创 Spring 核⼼与设计思想

⽤⼀句话概括 Spring:Spring 是包含了众多⼯具⽅法的 IoC 容器。什么是容器容器是⽤来容纳某种物品的(基本)装置。我们想想,我们接触的容器有哪些?List/Map -> 数据存储容器Tomcat -> Web 容器什么是IoCSpring 也是⼀个容器,Spring 是什么容器呢?Spring 是⼀个 IoC 容器。IoC = Inversion of Control 翻译成中⽂是“控制反转”的意思,也就是说 Spring 是⼀个“控制反转”的容器传统程序开发。

2023-10-02 21:22:03 76

原创 性能测试详解

性能测试是指:测试人员借助,模拟系统在下,对应的是否达到预期。

2023-09-23 16:39:59 89

原创 单元测试框架——Junit

接下来我们用Junit的方法,这样我们就不用创建 main 方法,就能将测试用例创建出来。这里比较特殊,需要加上 static ,因为它们是针对这个类的。创建驱动,打开网页,放到 BeforeAll 里面;我们先引入 Junit 的 Maven 依赖。可以看到执行时自动忽略Test03()了。关闭浏览器放到 AfterAll 里面。这里不用加static。

2023-09-22 02:40:02 48

原创 JDBC数据库编程

JDBC详解

2023-09-19 01:01:43 38

原创 测试用例详解

用例表达清楚,无二义性。用例可操作性强。用例的输入与输出明确。一条用例只有一个预期结果。用例的可维护性好。用例对需求的覆盖率高。

2023-09-18 00:53:30 80

原创 软件测试的相关概念

可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成 的任务。该需求一般比较简略。或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。大多数公司在进行软件开发的时候会把转化为,开发人员和测试人员工作的直接依据就是。。测试用例软件生命周期是指。如果把软件看成是有生命的事物,那么软件的生命周期可以分成6个阶段,即。(此处注意区分和软件测试的生命周期)瀑布模型的每一个阶段都只执行一次,因此是进行的软件开发模式。:每个阶段做什么,产出什么清晰明确。

2023-09-17 01:45:55 46 1

原创 多线程——死锁详解

死锁是指两个或两个以上的进程在执⾏过程中,由于竞争资源或者由于彼此通信⽽造成的⼀种阻塞的现象,若⽆外⼒作⽤,它们都将⽆法推进下去。(也就是两个线程拥有锁的情况下,⼜在尝试获取对⽅锁,从⽽造成程序⼀直阻塞的情况。

2023-08-30 15:35:57 992

原创 MySql设置默认支持中文(修改配置文件my.ini)

使用 show variables like 'character%';现在我们通过修改MySql的配置文件my.ini来修改默认字符编码。2.重启MySql服务器。(重启就是让服务器重新加载配置文件)注意:有些配置文件是隐藏的,需要手动打开隐藏选项。我们直接用记事本打开编辑,找到这样的代码。此时再次查看字符编码,就修改好了。1.先保存文件(ctrl+s)

2023-08-23 16:02:35 1403

原创 流对象操作文件内容

针对文件内容,使用“流对象”进行操作Java标准库的流对象,从类型上分为两个大类:1.字节流——操作二进制数据的2.字符流——操作文本数据的这些类的使用方式是非常固定的,核心就是四个操作:1)打开文件(构造对象)2)关闭文件(close)3)读文件(read)——针对InputStream和Reader4)写文件(write)——针对OutputStream和Writer我们可以看到,read有三个版本:1)read无参数版本:一次读一个字节。

2023-07-26 13:22:23 85 1

原创 文件操作 —— IO

我们可以注意到,不同的文件扩展名(后缀)都不同,不同的后缀往往用代码不同的文件格式定义,起到不同的作用。:泛指计算机中的很多 软硬件资源,操作系统中,把很多的硬件设备和软件资源抽象成了文件,按照文件的方式来统一管理(如操作系统把网卡也当成了一个文件)。这里绝对路径和相对路径都行,在new File对象时,构造方法参数中,可以指定一个路径,此时File对象就代表这个路径对应的文件。字符串,是由字符构成的,每个字符,都通过一个数字来表示,文本文件里存的数据,一定是合法的字符,都是在指定字符编码的码表内的数据。

2023-07-17 17:49:02 22

原创 包装类——拆箱和装箱

通过源码可以看出:Integer是有范围的[-128,127],在此范围内直接输出cache这个数组里的内容,超过这个范围就new新对象。这样做的好处:就是这些频繁使用到的小的数据,不需要每次都进行new了。很多人第一反应想到的是常量池的概念,但此处和它是没有关系的!给每个基本类型都对应了 一个包装类型。装箱:将基本数据类型变成对应的包装类型。拆箱:将包装类型变成对应的基本数据类型。,为了在泛型代码中可以支持基本类型,下列代码输出什么,为什么?中,由于基本类型不是继承自。为什么答案会不同呢?

2023-07-15 17:03:53 50 1

原创 Java 中的泛型

泛型,其实就是对类型进行参数化实现一个类,类中包含一个数组,使得数组中可以存放任何类型的数据普通方法:我们把数组定义为Object——因为所有类默认继承Object//1.存放元素的时候,任何类型的数据都可以存放//2.取出元素的时候,你得自己判断后强转问题:以上代码实现后 发现任何类型数据都可以存放1号下标本身就是字符串,但是确编译报错。必须进行强制类型转换所以,泛型的主要目的:就是指定当前的容器,要持有什么类型的对象。让编译器去做检查。此时,就需要把类型,作为参数传递。

2023-07-15 03:17:54 48 1

原创 Java多线程之阻塞队列介绍

这里解释一下“解耦”:“耦”就是我们通常所说的“高内聚,低耦合”的耦合,写代码时,要追求两个模块间的关联性小,,不会因为一个模块发生的变化很大影响另一个模块,这就是低耦合。消息队列,也是特殊的队列,相当于在阻塞队列的基础上,加了个“消息的类型”,按照指定类别进行先进先出。阻塞队列的一个典型应用场景就是“生产者消费者模型”,这是一种非常典型的开发模型。生产者消费者模型,能给我们的程序带来两个非常重要的好处!阻塞队列能是一种线程安全的数据结构,阻塞队列是一种特殊的队列,继续入队列就会阻塞,继续出队列也会阻塞,

2023-07-14 17:49:47 229 1

原创 多线程知识点简单总结

本质是让当前sleep线程,暂时不参与CPU的调度执行(把这个线程PCB放到了一个阻塞队列中),等到sleep时间到了,操作系统会把这个PCB拿回到就绪队列中。1)一个线程,一把锁,连续加锁两次,如果锁是不可重入锁,就会死锁,幸运的是,synchronized是可重入锁,这种情况不会产生死锁。2)两个线程,两把锁,线程1获取锁A,线程2获取锁B,此时线程1在尝试获取锁B,线程2再尝试获取锁A。加锁,核心是把一组不是原子的操作,变成了原子操作,这是解决线程安全问题的核心手段。

2023-07-14 15:38:13 36 1

原创 单例模式:懒汉模式和饿汉模式

(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。问:怎么保证实例唯一的?1.static 这个操作,是让当前instance属性是类属性。

2023-07-13 02:06:12 112 1

原创 线程安全问题的原因和解决方案

我们的预期是,当t2修改了flag的值之后,使flag不再为0,此时跳出循环,线程t1结束。这里我们也发现,说是保证原子性,不是让这里的三个操作一次执行完成,也不是这三步操作过程中不进行调度,而是让其他想操作的线程阻塞等待了。根据比较结果,来进行下一步的操作。总的来说,就是wait和notify规定了t1和t2线程的执行顺序,因此也就使t1和t2的执行有了顺序,解决了抢占式执行,随机调度。我们要注意的是,虽然我们的wait是阻塞在了synchronized代码块里了,但是实际上,这里的阻塞是释放了锁的。

2023-07-11 00:12:59 501

原创 多线程练习题

【代码】多线程练习题。

2023-07-10 00:56:00 65 1

原创 Java 线程的状态

线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。4. 等待(WAITING):进入该状态的线程需要等待其他线程做出一些特定动作(通知或中断),等不到就死等。1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。

2023-07-10 00:18:26 106 1

原创 什么是线程?线程概念及方法详细讲解

对于 CPU 的 ⼀个核⽽⾔,某个时刻,只能执⾏⼀个线程,⽽ CPU 的在多个线程间切换速度相对我们的感觉 要快,看上去就是在同⼀时刻运⾏。:是指⼀个内存中运⾏的应⽤程序,每个进程都有⼀个独⽴的内存空间,⼀个应⽤程序可以同时运⾏多个进程;:线程是进程中的⼀个执⾏单元,负责当前进程中程序的执⾏,⼀个进程中⾄少有⼀个线程。优先让优先级⾼的线程使⽤ CPU,如果线程的优先级相同,那么会随机选择⼀个(线程随机性), Java使⽤的为抢占式调度。简⽽⾔之:⼀个程序运⾏后⾄少有⼀个进程,⼀个进程中可以包含多个线程。

2023-07-09 00:09:54 155 1

原创 Thread 类的基本用法

System.out.println("线程t1正在运行");try {});t1.start();//在主线程里可以随时通过flag变量的取值,来操作t线程是否结束自定义变量这种方式,不能及时响应尤其是在sleep休眠时间比较长的时候。

2023-07-08 23:47:50 52 1

原创 进程与线程之间的区别及联系

1、进程:进程是一个具有独立功能的程序关于某个数据集合的以此运行活动。是系统进行资源分配和调度的独立单位,也是基本的执行单元。是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动。进程结构特征: 由程序、数据和进程控制块三部分组成。具有 独立性、并发性、异步性和动态性的特点。第一,进程是一个实体。

2023-06-25 15:44:22 122

原创 时间和空间复杂度

时间和空间复杂度

2023-06-08 13:47:26 40 1

原创 Java中设置Path、classpath、JAVA_HOME的作用?

Java中设置Path、classpath、JAVA_HOME的作用?

2022-11-19 19:00:20 362 1

原创 最大公约数与最小公倍数

求两个整数的最大公约数与最小公倍数

2022-10-27 15:41:20 141

原创 VS中加入 #define _CRT_SECURE_NO_WARNINGS 方法

VS中加入 #define _CRT_SECURE_NO_WARNINGS 方法

2022-09-25 22:27:04 9298 1

原创 C语言——输出一个数的二进制序列

C语言——输出一个数的二进制序列

2022-08-02 21:09:53 555 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除