Java
蔚来手撕代码题:三个线程循环打印ABC
问题如下: https://www.nowcoder.com/discuss/493178141461041152 思路分析 三个线程交替打印 ABC 的实现方法有很多,我个人比较倾向于使用 JUC 下的 CyclicBarrier(循环栅栏,也叫循环屏障)来实现,因为循环栅栏天生就是用来实现一轮一轮多线程任务的,它的核心实现思路如下图所示: CyclicBarrier 作用是让一组线程相
Hibernate入门
Hibernate 加入maven依赖 安装IDEA插件 JPA Buddy 配置数据库 创建文件 hibernate.cfg.xml 配置数据库连接 配置方言等其他配置 配置一个实体类的CRUD 创建实体类A 同级包下,配置mapping SensorData.hbm.xml 在hibernate配置文件中添加映射关系 编写测试代码 然后出现未找到配置文件,maven中配置将配
【转】SpringBoot 线上服务假死,CPU 内存正常
文章来源:blog.csdn.net/zhangcongyi420/article/details/131139599 1、背景 开发小伙伴都知道线上服务挂掉,基本都是因为cpu或者内存不足,出现GC频繁OOM之类的情况。本篇文章区别以上的情况给小伙伴们带来不一样的服务挂掉。 2、问题排查 老规矩在集群环境中同一个服务几个节点无响应。如不及时解决会可能形成雪崩效应。
学习笔记-Java动态代理的简单使用
代理模式 一种设计模式 简单地说,在代理模式中存在三个角色 用户 代理 被代理的对象 用户调用代理,代理去调用被代理的对象 以此来实现功能的增强 动态代理在java中有两种实现方法 JDK中的Proxy类 CGLIB JDK中的Proxy类 步骤 实现InvocationHandler接口,创建自己的调用处理器 通过为Proxy类指定Cl
记一次服务器排查漏洞
记一次服务器排查漏洞 最近需要在客户现场部署app后端项目,需要将服务器并过去,但客户扫描后发现我们服务器还有一些信息级别的漏洞,要求我们清空了才能并过去,本来是安排运维来干的,但不知啥原因,leader扔我头上了,还pua我说技术啥都需要知道,所以记录一下几个简单漏洞的解决方案 HTTP横幅 HTTP 横幅是指在 HTTP 响应头中包含的服务器信息,包括服务器软件名称、版本号和操作系统等信息。攻
create-react-app 除了NODE_ENV如何区分环境变量
比如webpack打包的时候,可能要打包到测试环境或者生产环境,但是这时候NODE_ENV的值都是production ,这个时候如何区分呢。答案是: cross-env和webpack.DefinePlugin 1. 定义环境变量到编译环境: 测试环境: cross-env NODE_STAGE=test npm run build 预上线: cross-env NODE_
macOS 配置算法(第四版)的开发环境
Java 环境配置 前往 Adoptium 下载他们预编译的 JDK 17(最新的 LTS 版本)的安装器,安装好之后,命令行执行 java -version,输出如下: 说明环境变量已经自动配置好了。 同时前往 Jetbrains 官网下载 IntelliJ IDEA CE(懒得再申请教育优惠了),安装好之后打开,在 ~/Documets/zCode/Algs_4th/ 目录下创建名为 alg
html to canvas to images
html2canvas 是一种将 HTML 元素转换为 canvas 元素的 JavaScript 库,它的原理是通过遍历 HTML 元素,将元素的内容绘制到 offscreen 的 canvas 上,最终通过 canvas 的 toDataURL 方法将其转换成图片格式。 具体的实现流程如下: 获取需要转换的 HTML 元素 创建一个 offscreen 的 canvas 元素,并设置 can
MongoDB常用命令指南
定义🌳 What is MongoDB? MongoDB 是一个文档数据库,具有您所需的可扩展性和灵活性以及所需的查询和索引。 What is a Database? 数据库保存一组集合。数据库通常有一个单独的文件系统目录来保存其数据。每个数据库在文件系统上都有自己的文件集。通常,您将数据库与一个应用程序相关联。 What is a Collection? 集合是
# 多线程状态变量修饰不加锁导致异常
多线程状态变量修饰不加锁导致异常 最近在重构一个SDK遇到一个问题:动态库中启动推送图片流,前端图像区展示一会卡住了,之后接口一直pending,之后控制台也卡住(本来会频繁打一些其他日志), 甚至有时候会发现动态库中使用的单例对象析构了😭, 简直离谱。 对应的两个线程函数简化后大致如下: 执行启动推流接口后就开始启动两个线程分别执行这俩函数(实际不是永真循环),后来知乎上看了篇帖子, 状态变量
字符串拼接时数值类型相加引发的问题
背景 多个字段再进行,字符串拼接的过程中,需要格外留意待拼接的字段的类型,如果是数值类型的话,则需要小心出现bug。 如:String str = item.getSkuId() + item.getSkuType() + item.getClassicId() + item.getCurrency() + item.getStartTime() ; 各个字段的值分别是:101、1、1101、CN
构建可靠的机器学习平台:AmazonSageMaker和AmazonMachineLearning(ML)
目录构建可靠的机器学习平台: Amazon SageMaker 和 Amazon Machine Learning(ML)背景介绍文章目的目标受众技术原理及概念基本概念解释技术原理介绍相关技术比较实现步骤与流程准备工作:环境配置与依赖安装核心模块实现集成与测试优化与改进结论与展望技术总结 构建可靠的机器学习平台: Amazon SageMaker 和 Amazon Machine Learning
增强现实:AR技术在建筑领域中的应用
目录 增强现实(AR)技术是一种能够将虚拟物体与现实世界结合的技术,通过头戴式显示器、眼镜或AR SDK等设备,将虚拟物体呈现为现实世界的一部分,为用户提供一种全新的交互方式,同时也为建筑领域提供了全新的解决方案。在本文中,我们将介绍AR技术在建筑领域中的应用,包括技术原理、实现步骤、应用示例和优化改进等方面的内容,以便更好地理解AR技术在建筑领域中的应用。 一、引言 随着科技的不断发展,人们对于
自动化测试中的测试用例设计原则
目录1. 引言2. 技术原理及概念3. 实现步骤与流程4. 应用示例与代码实现讲解 《自动化测试中的测试用例设计原则》 随着软件测试的重要性越来越受到重视,自动化测试已经成为了软件测试中不可或缺的一部分。在自动化测试中,测试用例的设计是至关重要的一环,其设计的质量直接影响测试的效果和测试用例的可靠性。本文将介绍自动化测试中的测试用例设计原则,并提供具体的实现步骤和示例。 1. 引言 自动化测试是指
CosmosDB:如何支持高效的数据共享和协作?
目录1. 引言2. 技术原理及概念2.1 基本概念解释2.2 技术原理介绍3. 实现步骤与流程3.1 准备工作:环境配置与依赖安装3.2 核心模块实现3.3 集成与测试4. 应用示例与代码实现讲解4.1 应用场景介绍4.2 应用实例分析4.3 核心代码实现4.4 优化与改进 《 Cosmos DB:如何支持高效的数据共享和协作?》 Cosmos DB 是由微软开发的分布式数据库系统,用于高效地存储
Day2-13_16:
配置maven 1.在conf/setting.xml2.改idea 的maven配置主路径、配置路径、运行路径 安装: idea 安装 lombok、mybatisx 插件 Vscode 安装开发必备插件Vetur —— 语法高亮、智能感知、Emmet 等包含格式化功能, Alt+Shift+F (格式化全文),Ctrl+K Ctrl+F(格式化选中代码,两个Ctrl 需要同时按着) EsLin
决战圣地玛丽乔亚重新归来之Day54
代码规范上的问题 尽量不要foreach,改写成for循环 注释风格用/**/ 不要用// 对于某一功能的参数处理、断言,尽可能用公共方法去完成。 对于数字,用定义好的枚举来标识含义。 对于封装,简单的封装可以用内部类来做。 最近两个月工作很忙,每天到家就不想写博客直接躺平,现在快到七月份,希望可以继续保持对代码纯粹的热爱 走下去。努力两三个月,走向更大的竞技场,丰富自己
从GoogleCloudDatastore中实现数据集成:实现更高效的数据存储和管理:实现更高效的数据存储和管
目录 "从Google Cloud Datastore中实现数据集成:实现更高效的数据存储和管理:实现更高效的数据存储和管理" 随着大数据和云计算技术的不断发展,数据存储和管理的需求也在不断增加。然而,传统的数据存储和管理方法已经无法满足现代应用程序的需求。在这种情况下,Google Cloud Datastore 成为了一种非常受欢迎的数据存储和管理解决方案。本文将介绍如何使用 Google
vue cli整合layui
安装JQuery npm install --save jquery 安装 layui npm install --save layui将 layui 的静态资源文件夹(layui)复制到 Vue 项目的 public 目录下。 在 Vue 项目的根目录下,public 文件夹是用来放置不需要被 Webpack 处理的静态资源文件的。复制 layui 的文件夹到 public 目录下,使得它们可以
Java 一维数组的使用
Java 一维数组的使用 1.一维数组的定义 在不知道数组内容可以直接使用下面的定义方法: int[] arr = new int[数组个数]; 或 int arr[] = new int[数组个数]; 在知道数组内容可以使用如下: int[] arr = {data1,data2,data.....}; 2.数组的传递 数组的传递与其他基本类型的值传递不同,当赋值为一个数组即引用了此数组在 JV
[java学习] Spring的分页插件的使用
概述:SSM集成常会使用到分页,Spring中提供了方便实用的分页插件 第一步:在Mybatis配置文件(SqlMapConfig.xml)中配置插件组件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Confi
什么是Spring AOP里的引入(Introduction)?
在Spring AOP中,引入(Introduction)是一种特殊类型的通知,允许我们向现有的类添加新的接口和实现,而无需修改原始类的代码。引入提供了一种扩展现有类功能的方式,它允许我们在运行时为类动态地添加新的方法和属性。 通过引入,我们可以将新的行为添加到现有的类中,而无需继承该类或修改其代码。这在某些情况下非常有用,特别是当我们不能修改现有类的代码,或者当我们希望将额外的功能与现有类分离时
Maven 高级知识
Maven 高级知识 一。Maven 高级知识 分模块设计与开发 二。Maven 继承和聚合 三。Maven 私服 搭建 一。Maven 高级知识 分模块设计与开发 将项目按照功能拆分成若干个子模块,方便项目的管理维护,扩展,模块间调用,资源共享,组件复用。如通用组件供其他模块使用。 pojo utils web-management 拆分,引入依赖 二。Maven 继承和聚合 1.继承:子工程可
曲线艺术编程 coding curves 第十二章 超级椭圆与超级方程(Superellipses and Superformulas)
第十三章 超级椭圆与超级方程(Superellipses and Superformulas) 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(sheldon) 源码:github: https://github.com/willian12345/coding-curves 曲线艺术编程
spring aop里的三种不同类型的自动代理介绍
spring aop里的三种不同类型的自动代理介绍 Metadata autoproxying BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator Metadata autoproxying 介绍 在Spring AOP中,Metadata autoproxying(元数据自动代理)是一种基于元数据配置的自动代理创建方式,它
InputStream和OutputStream
(一)说明 InputStream和OutputStream是Java标准库中最基本的IO流,它们都位于java.io包中,该包提供了所有同步IO的功能。 java.io.InputStream 、 java.io.OutputStream (二)用法 1.read&write InputStream和OutputStream都不是接口,而是抽象类,它们分别是所有输入流和输出流的超类。