- 博客(36)
- 收藏
- 关注
原创 软件测试学习(一)
软件是控制计算机硬件工作的工具。软件基本组成:客服端、服务器、数据库软件产生过程:需求产生->需求文档->设计效果图->产品开发->产品测试->部署上线软件测试的定义:使用技术手段来验证软件产品是否满足使用需求。软件测试的目的:减少软件缺陷,保障软件的质量!
2024-04-03 20:45:39
925
原创 Pytest测试框架+allure+jenkins自动化持续集成
Pytest是python的一种单元测试框架,可通过pytest 目录路径来运行测试用例可以通过断言assert来测试是否通过。
2024-03-22 23:10:23
684
原创 Python+Selenium4 Web自动化测试框架学习(一)
2.根据CLASS_NAME定位在根据CLASS_NAME定位时,有些class的名称中间有空格,不能直接根据名称定位,这样是错误用法,但是,将空格改为 . 就能找到。在抖音的搜索框中,其id名称明明为中间一个空格,实际却需要换成 . 才能成功找到。
2024-03-03 16:48:43
869
原创 Linux学习(四)文件及虚拟内存
本块内容学习文件:文件内容操作:创建,打开文件读写文件文件内容指针操作关闭保存文件文件操作:拷贝,复制,移动,获取文件信息文件映射文件夹遍历。
2024-02-19 17:04:15
779
原创 Linux学习(三)shell编程
语法:thenelsefi#shell判断语句n=10m=10thenelseecho "$n!=$m"fiecho "结束"
2024-02-15 23:29:49
1048
原创 SpringBoot中的注解大全(长期更新)
该注解是用来标识某个方法为异常那个处理方法@ExceptionHandler注解中可以添加参数,参数是某个异常类的class,代表这个方法专门处理该类异常。
2024-01-17 22:12:28
416
1
原创 Mybatis-plus学习笔记
实现类中在继承时,需指定对应的mapper文件和对应的实体。在Iservice的实现类ServiceImpl中有自动注入private M baseMapper;实际上底层还是调用的baseMapper的很多方法。
2023-10-04 20:06:35
472
原创 Linux学习(一)基本命令
Linux由两层组成shell(衣服)和kernel(内核,C语言写的程序),命令为一个可执行程序文件。所有的文件都在根目录下(只有一个盘符).开头的为隐藏文件。
2023-08-24 14:23:36
141
原创 SpringBoot学习笔记
SpringMVC提供,在类上加上该注解,表示该类所有接口返回的结果都是为JSON格式。相当于在该类中的接口上都加上了@ResponseBody注解,如果不加该注解,接口默认返回页面跳转。
2023-08-21 16:52:37
91
原创 SpringMVC学习笔记
SpringMVC底层基于Servlet1. 环境问题tomcat和JDK版本不匹配时,会出现很多奇奇怪怪的bug,,所以,得使用匹配的JDK版本。Tomcat10以前用的javax,不是Jakartajavax.servlet是jdk8以及以前的版本原生的api
2023-08-16 18:18:24
71
原创 spring5学习笔记其一
通过xml形式来配置bean对象时,当一个类中,有其他类的对象做成员属性时,可以使用ref外部bean对象或者property注入内部对象的方式来描述。对list提取出公共配置,在spring的配置文件中,若该对象有多个list属性,并且list的值有公共部分,注入属性值比较麻烦,可提取出来。底层是在类中自己实现需要返回哪个类。注入bean对象时,需要写出类的set方法,底层也是基于这个set函数来给类的成员属性赋值的。这样注入属性值时,需要在类中写出对应属性的set方法,不然会出错。
2023-08-09 17:59:19
74
1
原创 Mybatis学习(不说废话)
MyBatis是一个开源的Java持久层框架,它通过XML或注解的方式,将SQL语句与Java对象进行映射,实现了数据库操作的简化。使用MyBatis,可以更方便地进行数据库的增删改查操作,避免了手动编写大量的JDBC代码。MyBatis提供了灵活、易用的API,同时也支持动态SQL,使得开发人员能够更灵活地构建复杂的数据库查询语句。它与Spring等主流的Java框架集成良好,广泛应用于Java项目中的数据库访问层。ORM:对象关系映射。
2023-08-07 14:39:50
75
1
原创 Maven管理项目
在maven的目录conf中settings.xml可配置仓库的私服。1. 先到本地仓库(当前计算机上)有查找jar包,再去私服查找。install方法:将当前项目打包成一个jar包存入本地仓库。compile方法:编译该项目,得到.class文件。2. 再在maven中央仓库中查找,有的话缓存到本地。3. maven本地仓库为电脑上所有项目共享。clean方法:清楚生成的target目录。4. 有maven私服部署在国内或企业内部。在pom.xml文件中可以引入依赖。
2023-08-04 18:32:33
90
1
原创 JavaWeb开发(全)
Servlet是一种Java编程语言的服务器端组件,用于处理来自客户端的请求并生成响应。它是Java EE(Java Enterprise Edition)规范的一部分,用于构建基于Web的应用程序。Servlet运行在Web服务器中,并根据客户端的请求执行相应的动作。它可以处理各种类型的请求,如HTTP请求(GET、POST等),并生成动态的HTML页面或其他类型的响应数据。Servlet通过Java编程语言编写,并部署到支持Servlet规范的Web服务器中。
2023-08-04 13:42:29
2424
4
原创 Java中的JDBC技术
JDBC(Java Database Connectivity)是Java编程语言中用于连接和操作数据库的标准API。它提供了一组接口和类,使Java应用程序能够与关系型数据库建立连接,并进行数据的读取、写入、更新和删除等操作。JDBC的工作原理是通过使用不同的数据库驱动程序(Driver)来实现与各种数据库的通信。每个数据库提供商通常都会提供自己的JDBC驱动程序,开发人员只需按照JDBC API的标准接口编写代码,通过加载相应的驱动程序,就能连接到特定的数据库。
2023-07-25 16:26:05
258
4
原创 Mysql中的基础知识(速成版)
DDL是指数据定义语言(Data Definition Language),是一种用于定义和管理数据库结构的语言。DDL通常用于创建、修改和删除数据库对象,如表、视图、索引等。常见的DDL操作包括:1. CREATE:用于创建数据库对象,如表、视图、索引等。例如,CREATE TABLE用于创建表。2. ALTER:用于修改数据库对象的结构。例如,ALTER TABLE用于修改表的结构,如添加、修改或删除列。3. DROP:用于删除数据库对象。例如,DROP TABLE用于删除表。
2023-07-21 16:32:31
292
3
原创 JavaSE中AQS详解
在Java中,AQS是指AbstractQueuedSynchronizer,是Java并发编程中的一个关键类。AQS是用来构建同步器(Synchronizer)的框架,它提供了一种实现线程安全性和管理等待线程的机制。AQS基于一个FIFO(先进先出)的等待队列,可以被子类扩展来实现各种同步器,如ReentrantLock、CountDownLatch、Semaphore等。AQS通过定义了若干个方法来管理线程的获取和释放资源,其中最为重要的方法是acquire()和release()。
2023-07-17 15:36:16
230
2
原创 Java中ThreadLocal详解
通常情况下,当多个线程共享同一个变量时,需要考虑线程安全性和同步问题。而使用ThreadLocal可以避免这种复杂性,因为每个线程都有自己的变量副本,互相之间不会相互干扰。通过使用ThreadLocal,可以方便地实现线程封闭(Thread Confinement)的效果,将状态与线程相关联,提供线程安全的对象访问。在Web应用程序中,常用的应用场景包括保存用户会话信息、数据库连接等。需要注意的是,使用ThreadLocal需要谨慎,因为变量的值只在当前线程中可见,可能会导致内存泄漏或者数据不一致的问题。
2023-07-15 08:00:00
432
1
原创 Java中JUC并发编程面试题
首先我们来了解一下Java中都有哪些锁:1.(Pessimistic Locking):悲观锁认为在并发环境下,会发生并发冲突的概率很高,因此假设总是会有其他线程来竞争同一个资源,所以在访问资源之前先对其进行加锁,确保每次只有一个线程能够访问。2.(Optimistic Locking):乐观锁认为在并发环境下,发生并发冲突的概率较低,因此每次访问资源时都不会加锁,而是先读取数据,并在更新数据之前再次校验数据是否发生变化。如果校验通过,则更新数据;如果校验不通过,则重新尝试。
2023-07-14 08:00:00
173
1
原创 Java中的JUC指什么?
在Java中,JUC通常指的是Java并发工具包(Java Concurrency Utilities),它是Java提供的一组用于处理多线程编程和并发操作的工具类和框架。JUC包含了很多有用的类和接口,用于管理并发访问、同步操作、线程池、原子操作、阻塞队列等。2. Conditions(条件):用于线程间的协调和通信,比如通过await()和signal()方法实现等待、通知机制。通过使用JUC提供的类和接口,开发人员可以更方便地进行多线程编程和并发操作,提升程序的性能和可靠性。
2023-07-12 15:39:16
962
1
原创 Juc并发编程之线程池实现原理
此篇文章属于Java语言必学基础内容线程池是一种用于管理和重用线程的技术。在计算机编程中,线程池是一组已经创建并准备好执行的线程。它们被组织在一个池中,以便在需要时,可以从池中获取一个线程来执行任务,而不是每次都创建一个新的线程。线程池的优点在于可以减少频繁创建和销毁线程的开销,提高线程的重用率和执行效率。通过使用线程池,可以控制并发线程的数量,从而避免由于大量线程同时执行而导致的资源过度消耗和性能下降的问题。线程池还可以提供一些额外的功能,例如任务调度、优先级管理和线程状态监控等。
2023-07-12 15:28:22
245
1
原创 Java中Socket编程
HTTP(Hypertext Transfer Protocol)是一种用于在客户端和服务器之间传输数据的协议。它是现代web通信的基础,用于在客户端(如浏览器)和服务器之间传递HTML、图片、视频、文件等数据。HTTP协议的特点包括:1. 简单易读:HTTP协议使用简单的文本格式,易于阅读和理解。2. 基于请求-响应模型:客户端发送一个HTTP请求给服务器,服务器则返回一个HTTP响应。请求和响应之间包括头部和消息主体。
2023-07-11 12:26:57
2147
1
原创 Java中Lock锁详解
在Java中,Lock是一个接口,它提供了比关键字更高级的线程同步机制。使用Lock接口可以创建更复杂和灵活的同步结构。Lock接口的常用实现类有ReentrantLock和ReentrantReadWriteLock,它们提供了可重入的互斥锁和读写锁。使用Lock锁的一般步骤如下:1. 创建一个`Lock`对象实例。2. 在需要进行同步的代码块中,通过调用`lock()`方法来获取锁。3. 在同步的代码块执行完之后,通过调用`unlock()`方法释放锁。
2023-07-08 13:19:00
7996
1
原创 Java中多线程的join方法详解
因为子线程执行需要2秒,所以在指定时间内子线程没有执行完成,主线程解除阻塞后继续执行。因为子线程执行需要一定时间(2秒),所以主线程会暂时被阻塞,直到子线程执行完成。方法的线程会等待被加入线程执行完成,然后再继续执行自己的后续操作。方法是用于将一个线程加入到当前线程,并且让当前线程等待被加入线程执行完成后再继续执行。毫秒的时间,如果在指定时间内被加入线程没有执行完成,那么当前线程会解除阻塞继续执行。在上述示例中,主线程创建并启动了一个子线程,并调用子线程的。方法的线程会等待被加入线程。
2023-07-06 13:33:00
3302
1
原创 Java中的synchronized锁
在Java中,synchronized是一种关键字,用于实现线程同步。它可以用于方法或代码块,用于保证同一时间只有一个线程可以执行被synchronized修饰的代码。synchronized的锁机制有两种使用方式:1. 同步方法:可以在方法声明中使用synchronized关键字。当一个线程调用同步方法时,会自动获取该方法所属对象的锁,其他线程将被阻塞,直到该线程释放锁为止。2. 同步代码块:使用synchronized关键字可以修饰一段代码块。
2023-07-06 12:22:56
1708
1
原创 Java中的ConcurrentHashMap集合
ConcurrentHashMap其采用分段锁设计,将一个大的线程安全的HashTable集合拆分成n多个小的HashTable集合,默认初始化16个小的HashTable集合。锁竞争概率非常小(即线程阻塞概率非常小)JDK1.7的index需要计算两次。ConcurrentHashMap是Java提供的线程安全的哈希表,它在多线程环境下提供高效的并发操作。它的底层实现原理是基于分段锁(Segment)和CAS(Compare and Swap)操作。
2023-07-04 15:05:45
366
原创 JavaSe多线程技术
此篇文章属于Java语言必学基础内容多线程技术是指在一个程序中同时运行多个线程(也可以理解为多个独立的任务),并且这些线程可以并行执行,从而提高程序的效率和性能。在多线程技术中,每个线程都有自己的代码执行路径、堆栈和局部变量等,但是它们共享进程的地址空间和全局变量等资源。多线程技术的应用广泛,例如:1. 在操作系统中,多线程技术可以用于实现任务调度、I/O操作、网络通信等。2. 在图形界面程序中,多线程技术可以用于实现用户界面响应和数据更新等。
2023-07-03 14:50:02
120
1
原创 Java中的IO流及其API的使用
此篇文章属于Java语言必学基础内容Java IO流是指在Java程序中操作输入和输出的机制。它是一种基于流的输入/输出模型,将数据视为一系列按顺序排列的字节,从一个流中读取,在一个流中写入。Java提供了多种类型的流,包括字节流和字符流,以适应不同的数据类型和输入/输出方式。它在Java的文件读写、网络传输、数据处理等方面都有广泛应用。IO流是Java中提供的处理输入输出数据的机制,它是以流的方式来处理数据。其中,输入流是从外部读取数据到程序中,输出流是将程序中的数据写入到外部。
2023-07-01 20:31:38
324
原创 JavaSe中的递归算法
Java的递归算法是一种解决问题的方法,它将问题逐步分解为更小的子问题,直到问题的规模足够小可以直接解决。递归算法通常在函数内部调用自身,并通过参数传递问题的规模和状态。递归算法典型的应用包括查找、排序、遍历和解决数学问题等。注意:在Java中,递归算法的实现需要注意处理递归终止条件和避免出现死循环。递归调用属于算法的一种,通过多加理解,可以掌握得更好,加油!
2023-06-28 16:17:38
129
1
原创 JavaSe基础File类相关知识
此篇文章属于Java语言必学内容提示:以下是本篇文章正文内容,下面案例可供参考Java 的 File 类表示文件或目录的抽象路径名。它可以用于访问或操作文件系统中的文件和目录,例如创建、删除、重命名、移动文件或目录等。File 类提供了多种构造方法,可以通过文件或目录的路径名字符串、URI 或 File 实例来创建 File 对象。File 类也提供了多种实例方法,例如获取文件名、路径名、父目录等信息以及判断文件或目录是否存在、是否为文件或目录等。
2023-06-27 21:00:32
101
原创 Java语言中HashMap集合面试常问问题
Java中HashMap集合在JDK1.8版本时基于 数组+链表+红黑树实现的,查询效率为O(1)使用内部类Entry来描述键值对对象
2023-06-26 18:27:06
359
2
vue整合SSM项目实战
2023-08-22
整合SpringMVC、Spring、Mybatis开发信息管理系统
2023-08-16
基于JDBC+servlet+jsp技术开发的航班管理系统学习项目
2023-08-04
基于JDBC的Java连接数据库的学生管理系统(若不能成功运行可私信我!!!)
2023-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人