- 博客(19)
- 收藏
- 关注
原创 java-在线博客系统自动化测试项目实战
说明:应用户需求开发实现一款个人博客系统,能够支持用户正常的博客编写,博客浏览,以及内容管理需求。测试环境:Win11,在线博客系统,MySQL,selenium,junit。】 测试账号:admin 密码:admin。在线博客系统【需求分析报告】在线博客系统【测试计划】在线博客系统【测试报告】
2023-10-19 23:21:31
105
1
原创 java - 什么是CAS机制?
通过一个问题,一段代码进入本篇博客讲解:问题:得到一个数,数值为:1000000。单线程实现:一个循环解决问题,这个不多讲了。多线程实现:两个线程实现对一个变量操作,每个线程操作变量500000次,得到1000000。// 我们需要获取的值// 线程一// 循环加 500000 次i < 500000;});// 循环加 500000 次i < 500000;});
2023-10-12 17:40:05
123
原创 java - 那些操作会释放锁资源
java中那些操作会释放锁资源在锁中调用来自Object类的 wait() 方法可以释放锁。在锁中调用来着Condition类的 await() 方法可以释放锁。Condition类的 unlock() 方法手动释放锁。当锁代码块/方法执行完毕后会自动释放锁。
2023-10-11 22:55:53
169
原创 java - synchronized的底层实现原理
synchronized 是 Java 中最基本的锁机制,使用它可以实现对共享资源的互斥访问。当一个线程访问被 synchronized 修饰的方法或代码块时,它会自动获取锁,其他线程只能排队等待该线程释放锁。
2023-10-11 19:01:58
109
原创 java - 线程等待和唤醒的方法
java中 notify/notifyAll 是怎样唤醒阻塞等待线程的notify() 随机唤醒待授权集合(WaitSet)中的一个线程。并尝试加锁。notifyAll() 唤醒所有待授权集合(WaitSet)中的所有线程,并尝试加锁。
2023-10-11 12:14:22
930
原创 java - IllegalMonitorStateException异常
【产生原因】是因为调用 wait/notify/notifyAll 方法的对象和锁对象不相同。【执行结果】抛出了IllegalMonitorStateException异常。
2023-10-11 00:29:24
276
原创 java - 多线程使用synchronized给相同/或者不同对象进行加锁后进行wait/notify/notifyAll操作产生的结果
在锁对象中调用不是该锁的对象的wait/notify/notifyAll操作时都会出现上面的 IllegalMonitorStateException 异常。
2023-10-10 23:59:15
148
1
原创 java - 多线程情境下产生的wait()虚假唤醒问题
一,是多线程环境(有多个线程拿到了同一个对象锁,并进行了wait()阻塞等待)。二,是拥有该对象锁的线程调用了notifyAll()方法。如果在多线程环境中满足了以上两个条件就有可能造成wait()虚假唤醒。
2023-10-10 22:24:12
539
3
原创 MySQL数据库抛出异常:Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F...‘ for column ‘字段名‘ at row 1 问题的解决方法
出现该情况,说明mysql编码字符集不是UTF8格式。有在插入中文时出现了这种情况的小伙伴?可以查看当前字符集编码格式。
2023-05-11 16:52:32
3321
2
原创 Java - JDBC编程简单实现MySQL数据库的增删改查
Java的JDBC编程其实就是一种套路模板,并不会很难,多上手写几遍一般就会了!(这里可能打开会有检测是否为真人操作,直接跟着提示做就行)首先打开游览器搜索MAVEN 或者直接点击打开。而JDBC 编程的核心是。
2023-03-15 17:23:53
217
原创 初识java - 认识抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用给出具体的实现体。注意:抽象类也是类,内部可以包含普通方法和属性,甚至构造方法 抽象类本身不能被实例化, 要想使用, 只能创建该抽象类的子类. 然后让子类重写抽象类中的抽象方法.确实如此. 但是使用抽象类相当
2022-11-16 10:25:07
144
原创 初识java -继承
继承(inheritance)机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特 性的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。继承主要解决的问题是:共性的抽取,实现代码复用。例如:狗和猫都是动物,那么我们就可以将共性的内容进行抽取,然后采用继承的思想来达到共用。Animal类称为父类/基类或超类,Dog和Cat可以称为Animal的子类/派生类,继承之后,
2022-11-12 17:44:18
313
原创 初识java - 类和对象
Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了。比如:洗衣机,它是一个实体,在Java中可以将其看成是一个类。
2022-11-12 12:27:49
1036
原创 初识java - 数组的定义与使用
一,数组的基本概念1.1什么数组1.2数组的创建及初始化1.2.1数组的创建1.2.2数组的初始化1.3数组的使用1.4数组的遍历二,数组是引用类型2.1初始JVM的内存分布2.2 基本类型变量与引用类型变量的区别2.3数组作为参数在传参上的数据变动三,数组的应用场景(cv程序猿)3.1 保存数据3.2 作为函数的参数3.3 作为函数的返回值四. 数组练习。
2022-11-04 19:34:46
1286
2
原创 初识java - 方法的使用
方法就是一个代码片段. 类似于 C 语言中的 “函数”。方法存在的意义(不要>背, 重在体会):1). 是能够模块化的组织代码(当代码规模比较复杂的时候).2). 做到代码被重复使用, 一份代码可以在多个位置使用.3). 让代码更好理解更简单.4). 直接调用现有方法开发, 不必重复造轮子.修饰符 返回值类型 方法名称([参数类型 形参 …]){方法体代码;[return 返回值];}//两数相加}【注意事项】
2022-11-01 20:28:50
440
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人