杨不易呀

你的压力来源于无法自律,只是假装努力,现状跟不上内心欲望,所以你焦虑又恐慌。——杨不易|🍺

【并发编程特性】并发编程特性之五种特性的探讨

前言编写正确的程序很难,而编写正确的并发程序则难上加难。与串行程序相比,在并发程序中存在更多容易出错的地方。那么,为何我们还要使用并发程序?线程是Java语言中不可或缺的重要功能,它们能使复杂的异步代码变得简单,从而极大地简化了复杂系统的开发。此外,想要充分发挥多处理器系统的强大计算能力,最简单的方式就是使用线程。随着处理器数量的持续增长,如何高效地使用蝙蝠正变得越来越重要。同时在当今互联网的时代,大量的互联网应用都面对着海量的访问请求,因此,并发编程在我们的应用中成为越来越不可或缺的一部分。JMM内存图:一、共享性数据共享性是线程安全的主要原因之一。如果所有的数据只是在线程内有效,那就不存在线程安全性问题,3. 这也是我们在编程的时候经常不需要考虑线程安全的主要原因之一。在多线程编程中,数据共享是不可避免的。最典型的场景是数据库中的数据,为了保证数据的一致性,我们通常需要共享同一个数据库中数据互斥性资源互斥是指同时只允许一个访问者对其进行访问,具有唯一性和排它性。我们通常允许多个线程同时对数据进行读操作,但同一时间内只允许一个线程对数据进行写操作。所以我们通常将锁分为共享锁和排它锁,也叫做读锁和写锁。如果资源不具有互斥性,

【JMM内存模型-4】JMM内存模型之CPU缓存策略

CPU缓存策略原理缓存概述CPU为了提升执行效率,减少CPU与内存的交互(交互影响CPU效率),一般在CPU上集成了多级缓存架构cpu缓存策略图cpu读取数据时, 会先从自己的寄存器当中读取.如果没有再从Cache当中读取数据.如果Cache当中也没能.再从内存当中获取.然后再依次缓存

#并发编程  

Java实现163网易邮箱消息发送

依赖maven依赖 <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail</artifactId> </dependency>jar包依赖进去搜索名称下载https://mvnrepository.com/代码public class MailUtils { /** * 发件人邮箱 */ private static final String HOST="yangbuyiya@163.com"; /** * 邮箱密码或

从零玩转Websocket实时通讯服务之前后端分离版本

前言公司项目需要用到消息提示,那么WebSocket它来了经过我面向百度的学习,废话不多说直接开干.后端搭建一、依赖导入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>二、搭建websocket服务1.WebSocketConfig配置文件/*============================================================================== = - Yang Buyi Copyright (c) 2021 https://yangbuyi.top. =============================================================================*/package to

从零玩转Activiti7工作流

Activiti讲师:波波​ 工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。课程内容的介绍Activiti基础篇Activiti进阶篇Activiti整合篇一、Activiti基础篇1.工作流介绍1.1 工作流概念介绍​工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。1.2 工作流系统​ 一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么?就是对系统的业务流程进行自动化管理,所以工作流是建立在业务流程的基础上,所以一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。即使没有工作流业务系统也可以开发运行,只不过有了工作流可以更好的管理业务流程,提高系统的可扩展性。1.3 适用行业​ 消费品行业,制造业,电信服务业,银证

IntelliJ IDEA官方宣布中文汉化包正式发布

23日JetBrains宣布中文语言包正式发布。这意味着它旗下的知名IDE工具IntelliJ IDEA、AppCode、CLion、DataGrip、GoLand、PyCharm、PhpStorm、RubyMine 和 WebStorm 及其所有捆绑插件的 UI已经全部汉化完毕。参与汉化的不仅仅有Jetbrains内部的工程师,也有很多忠实用户参与了汉化的翻译、测试和审校。在本地化的过程中,有200人参与了这项任务,据统计:提取了大约300,000个字符串翻译了150多万字收到720条反馈,并解决了其中600个问题不过目前还有超过6000个非官方的插件还没有汉化。对此Jetbrains也提供了跟踪通道,如果用户有需要可以通过IDE的问题跟踪器进行反馈。你如果需要汉化版,点击菜单栏的「File」,再点击「Settings」打开左侧导航的「Plugins」,并在插件市场搜索Chinese (Simplified) Language Pack进行集成。你也可以通过下方链接下载:https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack--

7种单例模式的创建

前言单例设计模式是23种设计模式中最常用的设计模式之一,无论是三方类库还是日常开发几乎都有单例设计模式的影子。单例设计模式提供了一种在多线程情况下保证实例唯一性的解决方案。单例设计模式虽然简单,但是实现方案却非常多,大体上有以下7种最常见的方式。饿汉模式所谓饿汉式,就是不管你用不用这个对象,都先把这

#Java模式   #单例模式  

从零玩转Yaip使用

Yaip****使用开发笔记1. 什么是yapiYApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作

Mysql索引失效的几种原因

1、索引不存储null值更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本没Null值,不能利用到索引,只能全表扫描。为什么索引列不能存Null值?将索引列值进行建树,其中必然涉及到诸多的比较操作。Null值的特殊性就在于参与的运算大多取值为null。这样的话,null值实际上是不能参与进建索引的过程。也就是说,null值不会像其他取值一样出现在索引树的叶子节点上。2.不适合键值较少的列(重复数据较多的列)假如索引列TYPE有5个键值,如果有1万条数据,那么 WHERE TYPE = 1将访问表中的2000个数据块。再加上访问索引块,一共要访问大于200个的数据块。如果全表扫描,假设10条数据一个数据块,那么只需访问1000个数据块,既然全表扫描访问的数据块少一些,肯定就不会利用索引了。3.前导模糊查询不能利用索引(like '%XX'或者like '%XX%')假如有这样一列code的值为'AAA','AAB','BAA','BAB' ,如果where code like '%AB'条件,由于前面是模糊的,所以不能利用索引的顺序,必

#mysql   #索引   #优化  

从零玩转人脸识别之RGB人脸活体检测

从零玩转RGB人脸活体检测前言本期教程人脸识别第三方平台为虹软科技,本文章讲解的是人脸识别RGB活体追踪技术,免费的功能很多可以自行搭配,希望在你看完本章课程有所收获。ArcFace 离线SDK,包含人脸检测、性别检测、年龄检测、人脸识别、图像质量检测、RGB活体检测、IR活体检测等能力,初次使用时

#人脸识别