核動力牛馬
码龄3年
关注
提问 私信
  • 博客:70,055
    70,055
    总访问量
  • 48
    原创
  • 24,539
    排名
  • 773
    粉丝
  • 72
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2021-10-21
博客简介:

m0_63272315的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    360
    当月
    23
个人成就
  • 获得599次点赞
  • 内容获得8次评论
  • 获得725次收藏
  • 代码片获得648次分享
创作历程
  • 40篇
    2024年
  • 5篇
    2023年
  • 3篇
    2021年
成就勋章
TA的专栏
  • JavaEE初阶
    7篇
  • JAVA从入门到放弃
    10篇
  • Mysql
    7篇
  • 数据结构(java)实现
    14篇
  • python笔记
    3篇
兴趣领域 设置
  • Python
    python
  • Java
    java
  • 编程语言
    c语言
  • 大数据
    mysql
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

七. wait 和notify

使当前执⾏代码的线程进⾏等待. (把线程放到等待队列中)释放当前的锁满⾜⼀定条件时被唤醒, 重新尝试获取这个锁.wait 要搭配 synchronized 来使⽤. 脱离 synchronized 使⽤ wait 会直接抛出异常.其他线程调⽤该对象的 notify ⽅法.wait 等待时间超时 (wait ⽅法提供⼀个带有 timeout 参数的版本, 来指定等待时间).
原创
发布博客 前天 17:03 ·
722 阅读 ·
16 点赞 ·
0 评论 ·
18 收藏

六、volatile 内存可见性

现代处理器为了提高性能,通常会将频繁访问的数据存储在其私有的高速缓存中。当多个线程运行在不同的CPU核心上时,它们可能会读取到各自缓存中的不同版本的数据,而不是主内存中的最新值。运行后 t1线程并未结束 这显然是个bug。volatile 能保证内存可⻅性。
原创
发布博客 2024.11.16 ·
132 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

五、synchronized 关键字-监视器锁

synchronized 会起到互斥效果, 某个线程执⾏到某个对象的 synchronized 中时, 其他线程如果也执⾏到同⼀个对象 synchronized 就会阻塞等待.• 进⼊ synchronized 修饰的代码块, 相当于• 退出 synchronized 修饰的代码块, 相当于针对同一对象加锁才会产生互斥作用。
原创
发布博客 2024.10.25 ·
731 阅读 ·
20 点赞 ·
1 评论 ·
19 收藏

四、多线程带来的的⻛险-线程安全

我们把⼀段代码想象成⼀个房间,每个线程就是要进⼊这个房间的⼈。如果没有任何机制保证,A进⼊ 房间之后,还没有出来;B是不是也可以进⼊房间,打断A在房间⾥的隐私。这个就是不具备原⼦性的。那我们应该如何解决这个问题呢?是不是只要给房间加⼀把锁,A进去就把⻔锁上,其他⼈是不是就进 不来了。这样就保证了这段代码的原⼦性了。有时也把这个现象叫做同步互斥,表⽰操作是互相排斥的。
原创
发布博客 2024.10.23 ·
333 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

三、线程的状态

这并不意味着线程一定正在运行,它也可能因为其他线程占用CPU而暂时没有执行。- 一个线程尝试获取synchronized锁时如果锁已经被另一个线程持有,则当前线程会进入BLOCKED状态,直到它能够获得锁为止。- 当run()方法正常返回或者由于未捕获异常导致线程停止运行时,线程进入TERMINATED状态。方法等,那么该线程将进入WAITING状态。这种状态下,线程不会被分配处理器时间,并且只有当其他线程显式地唤醒它(通过。一旦超时时间到达,即使没有被唤醒,线程也会自动从这个状态转换出去。
原创
发布博客 2024.10.18 ·
629 阅读 ·
13 点赞 ·
0 评论 ·
19 收藏

二、Thread常见的方法

Thread 类是 JVM ⽤来管理线程的⼀个类,换句话说,每个线程都有⼀个唯⼀的 Thread 对象与之关 联。
原创
发布博客 2024.10.17 ·
771 阅读 ·
22 点赞 ·
0 评论 ·
6 收藏

一、认识线程

还是回到我们之前的银⾏的例⼦中。之前我们主要描述的是个⼈业务,即⼀个⼈完全处理⾃⼰的业 务。我们进⼀步设想如下场景:⼀家公司要去银⾏办理业务,既要进⾏财务转账,⼜要进⾏福利发放,还得进⾏缴社保。如果只有张三⼀个会计就会忙不过来,耗费的时间特别⻓。为了让业务更快的办理好,张三⼜找来两 位同事李四、王五⼀起来帮助他,三个⼈分别负责⼀个事情,分别申请⼀个号码进⾏排队,⾃此就有 了三个执⾏流共同完成任务,但本质上他们都是为了办理⼀家公司的业务。
原创
发布博客 2024.10.15 ·
784 阅读 ·
25 点赞 ·
0 评论 ·
7 收藏

网络编程(Java)

可以计设备中的程序与网络上其他设备中的程序进行数据交互的技术(实现网络通信)。
原创
发布博客 2024.09.27 ·
962 阅读 ·
30 点赞 ·
0 评论 ·
22 收藏

IO流(java)

IO流概述IO流的分类IO流总体来看就有四大流IO流的体系FilelnputStream(文件字节输入流)作用:以内存为基准,可以把磁盘文件中的数据以字节的形式读入到内存中去。构造器说明创建字节输入流管道与源文件接通创建字节输入流管道与源文件接通方法名称说明每次读取一个字节返回,如果发现没有数据可读会返回-1.每次用一个字节数组去读取数据,返回字节数组读取了多少个字节,如果发现没有数据可读会返回-1//1、创建文件字节输入流,与源文件接通//简化写法,推荐使用。
原创
发布博客 2024.09.22 ·
572 阅读 ·
18 点赞 ·
0 评论 ·
8 收藏

Mysql索引

索引是什么?MySQL的索引是⼀种数据结构,它可以帮助数据库⾼效地查询、更新数据表中的数据。索引通过 ⼀定的规则排列数据表中的记录,使得对表的查询可以通过对索引的搜索来加快速度。MySQL 索引类似于书籍的⽬录,通过指向数据⾏的位置,可以快速定位和访问表中的数据,⽐如 汉语字典的⽬录(索引)⻚,我们可以按笔画、偏旁部⾸、拼⾳等排序的⽬录(索引)快速查找到需 要的字。使⽤索引的好处:,使⽤索引的⽬的只有⼀个,就是提升数据检索的效率,在应⽤程序的运⾏过程中,查 询操作的频率远远⾼于增删改的频率。时间复杂度是 O
原创
发布博客 2024.09.16 ·
917 阅读 ·
20 点赞 ·
0 评论 ·
28 收藏

视图(mysql)

视图是⼀个虚拟的表,视图本⾝不存储数 据,⽽是通过执⾏查询来动态⽣成数据。⽤⼾可以像操作普通表⼀样使⽤视图进⾏查询、更新和管 理。视图本⾝并不占⽤物理存储空间,它仅仅是⼀个查询的逻辑表⽰,物理上它依赖于基础表中的数 据。
原创
发布博客 2024.09.14 ·
826 阅读 ·
5 点赞 ·
0 评论 ·
10 收藏

反射(java)

就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试。1、只能在ma方法编写测试代码,去调用其他方法进行测试。2、无法实现自动化测试,一个方法测试失败,可能影响其他方法的测试。3、无法的到测试报告,需要程序员自己去观察测试是否成功可以用来对方法进行测试,它是第三方公司开源出来的(很多开发工具已经集成了Junit框架,比如IDEA)1、可以灵活的编写测试代码,可以针对某个方法执行测试,也支持一键完成对全部方法的自动化测试,且各自独立。
原创
发布博客 2024.09.11 ·
711 阅读 ·
18 点赞 ·
0 评论 ·
16 收藏

多线程(java)

一个线程就是一个 "执行流". 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 "同时" 执行 着多份代码.举个生活中的例子:想象一下你去一家咖啡店点咖啡的情景。在这个例子中,我们可以将这家咖啡店看作是一个程序,而店内的工作人员则可以视为线程。假设这家咖啡店提供两种服务:一种是现场制作咖啡,另一种是准备外卖订单。为了提高效率,咖啡店安排了两个工作人员分别负责这两项工作。:一位工作人员专门负责为现场顾客制作咖啡。当顾客下单后,这位工作人员就开始准备咖啡,并且在完成后交给顾客。
原创
发布博客 2024.08.28 ·
1198 阅读 ·
19 点赞 ·
0 评论 ·
16 收藏

正则表达式(java)

正则表达式(Regular Expression)是一种强大的文本处理工具,可以用来匹配、查找、替换等操作。引出例子:校验qq号码是否正确 (qq号码不能为空,首个号码不能为0,qq长度 不能20)可以发现使用正则表达式代码非常简洁。
原创
发布博客 2024.08.24 ·
1113 阅读 ·
7 点赞 ·
0 评论 ·
9 收藏

Stream流(java)

也叫Stream流,是Jdk8开始新增的一套APIjava.util.stream.*),提供了一种更加强大,更加简单的方式操作集合或者数组中的数据,代码更简洁,可读性更好。例子:使用stream流 找到姓王,且是两个字的名字,存入到新的集合中Stram流的使用步骤。
原创
发布博客 2024.08.22 ·
424 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

Java JDVC编程

JDBC(Java Database Connectivity)是Java中用来与数据库进行交互的一种标准API(应用程序编程接口)。它为开发人员提供了一种统一的方式来访问各种类型的数据库管理系统(DBMS),如 MySQL, Oracle, SQL Server, PostgreSQL 等。通过 JDBC,Java 应用程序可以执行 SQL 语句来查询、更新或管理关系型数据库中的数据。JDBC API 定义了一系列的接口和类,这些接口和类通常由数据库供应商提供的驱动程序实现。
原创
发布博客 2024.08.16 ·
867 阅读 ·
28 点赞 ·
0 评论 ·
23 收藏

Mysql索引事务

1.1 概念在MySQL中,索引是一种数据结构(通常是B树或者其变种),它可以帮助数据库系统更快地检索数据。没有索引时,数据库必须从头到尾扫描整个表来查找所需的数据行,这种操作称为全表扫描。当表中的数据量很大时,这种操作会非常耗时。通过使用索引,可以显著提高数据检索的速度。1.2 作用1、索引所起的作用类似书籍目录,可用于快速定位、检索数据。2、索引对于提高数据库的性能有很大的帮助。1.3 使用场景要考虑对数据库表的某列或某几列创建索引,需要考虑以下几点:1、数据量较大,且经常对这些列进行条件查询。2、该数
原创
发布博客 2024.08.14 ·
979 阅读 ·
10 点赞 ·
0 评论 ·
8 收藏

MySQL表的增删改查(进阶)

需要满足:使用 GROUP BY 进行分组查 询时,SELECT 指定的字段必须是“分组依据字段”,其他字段若想出现在SELECT 中则必须包含在聚合函 数中。在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。简单来说,如果一个表有。exists后面括号中的查询语句,如果有结果返回,则执行外层的查询 如果返回的是一个空结果集,则不执行外层的查询。外层查询中的条件字段,与内层查询中的结果,一一做比较,如果相等则满足条件,其中只要有一个不相等则不满足条件。
原创
发布博客 2024.08.13 ·
896 阅读 ·
22 点赞 ·
0 评论 ·
17 收藏

MySQL增删改查(基础)

执行一次多条插入操作可以减少与数据库之间的通信次数,从而降低网络延迟。:许多数据库系统在处理批量插入时能够进行优化,例如通过使用事务、批处理和缓存机制,这样可以提高插入速率。:一次性插入多条数据能够减少对表的锁定时间,从而降低因并发插入导致的锁竞争。:批量插入能利用数据库的内部机制来提高数据写入的吞吐量。
原创
发布博客 2024.08.05 ·
860 阅读 ·
20 点赞 ·
0 评论 ·
20 收藏

Mysql数据库基础

说明:大写的表示关键字[] 是可选项CHARACTER SET: 指定数据库采用的字符集COLLATE: 指定数据库字符集的校验规则示例:创建名为 db_test1 的数据库说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则 是:utf8_ general_ ci如果系统没有 db_test2 的数据库,则创建一个名叫 db_test2 的数据库,如果有则不创建。
原创
发布博客 2024.08.02 ·
747 阅读 ·
7 点赞 ·
0 评论 ·
15 收藏
加载更多