Java
LeetCode 242 有效的字母异位词(JAVA)
LeetCode 242 有效的字母异位词(JAVA) 一、题目描述: 二、题目分析: 三、开始作答: 四、查看题解: 看完题解后,发现自己有点呆,直接通过数组就能完成。同时也忽略了一些特判。 这个是优化后的版本。
LeetCode 217 存在重复元素(JAVA)
LeetCode 217 存在重复元素(JAVA) 一、题目描述: 二、题目分析: 三、开始作答: 四、查看题解: 题解主要有两种解法,一种是利用set,即我考虑的方式。 此时的时间复杂度为O(N) 还有一种方式,即先对数组进行排序,然后再两两比较,如果两个元素相等,则返回true. 此时的时间复杂度由于进行了排序,为O(NlogN) 代码如下:
五、jsPlumb实现流程图配置--连线
一、线条创建 在第一篇文章讲到过线条一共有四种类型Bezier、Straight、Flowchart、State Machine,以及每种类型的样子,接下来就演示如何创建线条。 创建一条连线有两种方式:通过代码创建;用户使用鼠标拖拽进行创建。 1. 通过代码创建 使用jsPlumb提供的connect API可以创建连线。 以上就是最简单的创建线条的代码,参数source、target分别指定
Java多线程面试高配问题---多线程(2)🧵
Java多线程 线程安全知识 1. synchronized关键字的底层原理 底层是一个monitor,在class文件中体现,加锁,解锁,为了防止代码出现bug,最后又解锁了一次,相当于一个try catch finally代码块。 Monitor实现 lock对象关联一个monitor 初级总结 2. synchronized关键字的底层原理-进阶 没有竞争的情况下可以用偏向锁与轻量
Springboot 整合RabbitMq ,用心看完这一篇就够了哦
该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、Topic、Fanout的使用,消息回调、手动确认等。 (但是关于rabbitMq的安装,就不介绍了) 在安装完rabbitMq后,输入http://ip:15672/ ,是可以看到一个简单后台管理界面的。 在这个界面里面我们可以做些什么? 可以
MongoDB 入门篇
1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据? 数据(英语:data),是指未经过处理的原始记录。 一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意义,它可能是一堆的杂志、一大叠的报纸、数种的开会记录或是整本病人的病历纪录。数据描述事物的符号记录,是可定义为意义的实体,涉及事物的存在形式。是关于事件
安卓app产品:应用分析工具
这是我独立开发的一款工具类安卓app(名称:应用分析工具),其主要功能是:(Solo 社区投稿) 1、基础信息查看 - 可查看app的包名、签名、权限、版本信息、AndroidManifest.xml等等 2、App反编译 - 可反编译apk文件,查看apk内容,如smali/java代码、图片、xml文件。 3、布局分析 - 显示app的布局结构、控件节点的信息,绘制当前页面的布局边界。 4、A
Teamcenter 添加本地maven库
mvn install:install-file -Dfile=G:TCTC14.3Tc14.3.0.0_wntx64soa_clientjavalibsAds0SoaAdsFoundationLoose_14000.3.0.jar -DgroupId=tc14 -DartifactId=Ads0SoaAdsFoundationLoose_14000.3.0 -Dversion=14 -Dpack
访问数据库-项目BotBattle
目录访问数据库流程Java框架各层级4 层对象的调用流程耦合性与分层 项目地址:https://github.com/aijisjtu/Bot-Battle 访问数据库流程 flowchart LR 开发人员 --> C(连接数据库 JDBC) C --> D(MyBatis-Plus 映射和执行 SQL) D --> E(数据库被访问) flowchart RL A(数据库)
Docker实时同步备份数据至阿里云盘
随着互联网的快速发展网站数据的安全性变得越来越重要,一旦网站数据丢失或被损坏将对企业个人的运营产生重大影响。因此做好网站数据的备份工作至关重要,阿里云盘作为阿里巴巴旗下的云存储服务,具有安全高效便捷等特点是备份网站数据的理想选择,但是各大 Linux Windows服务器系统并没有相关的插件功能,最近申请了阿里云盘的openapi接口就根据网上大佬的项目做了一些更改删减,就上线一个Docker容
openGauss MySQL一键式迁移工具gs_rep_portal
MySQL一键式迁移工具gs_rep_portal 可获得性 本特性自openGauss 5.0.0版本开始引入。 特性简介 gs_rep_portal是一个用Java编写的,在linux系统上运行的,集成了全量迁移、增量迁移、反向迁移、数据校验的工具。gs_rep_portal支持以上工具的一键式安装上述工具,设定迁移任务,任务根据用户设定的执行计划顺序的调用相应工具完成每个迁移步骤,并能实时展
pageoffice6 版本在线打开文件弹出网页对话框
用户在使用PageOffice在线编辑文档的操作过程中,如果遇到一些复杂的编辑需求,可能会需要弹出一个新的对话框,做相应的处理,可能是设置一些格式,就如同Office设置字体、段落等各种对话框,也可能是填充一些内容到文档中,就如同插入书签、艺术字等各种对话框,PageOffice针对此需求提供了弹出模态和非模态两种网页对话框的方法,分别是ShowHtmlModalDialog和ShowHtmlMo
解决部署在k8s上spring cloud gateway 无故假死的情况
解决部署在k8s上spring cloud gateway 无故假死的情况 线上发现gateway 会无故假死,测试环境使用jmeter 几分钟后,gateway 也会复现假死的情况 开始排查 获取容器列表 进入gateway 将jdk拷贝进容器 生成dump文件_dump文件生成和分析查看 查看进程id(容器没有ps 的情况) 制作dump jstack 打印线程的栈信息,制
HTML表单标签详解:如何用HTML标签打造互动网页?
在互联网的世界中,表单是用户与网站进行互动的重要桥梁。无论是注册新账号、提交反馈、还是在线购物,表单都扮演着至关重要的角色。在网页中,我们需要跟用户进行交互,收集用户资料,此时就需要用到表单标签。 HTML提供了一系列的表单标签,使得开发者能够轻松地创建出功能丰富的表单。今天我们就来深入探讨这些标签,了解它们的作用以及如何使用它们来构建一个有效的用户界面。 一、表单的组成 在HTML中,一个完整的
CMakeLists.txt基本语法及使用
1、cmake的说明 cmake是一种高级编译配置工具 当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候便需要用到cmake。 CMakeList.txt中指令不区分大小写。 CMakeList.txt中的参数和变量是区分大小写,名称只能用字母,数字,下划线,破折号。 学习CMake,有助于我们与他们协同开发大型c/c++/java项目。 &
腾讯二面:如何保证接口幂等性?高并发下的接口幂等性如何实现?
什么是接口幂等性 接口幂等性这一概念源于数学,原意是指一个操作如果连续执行多次所产生的结果与仅执行一次的效果相同,那么我们就称这个操作是幂等的。在互联网领域,特别是在Web服务、API设计和分布式系统中,接口幂等性具有非常重要的意义。 具体到HTTP接口或者服务间的API调用,接口幂等性就可以理解为当客户端对同一接口发起多次相同的请求时,服务端系统也应该确保只执行一次相应的操作,并且不论接收到了多
【LeetCode 1793 】好子数组的最高分数
题目描述 原题链接:LeetCode.1793 好子数组的最高分数 解题思路 分数由子数组最小值和长度决定, 而且确定了子数组必须包含nums[k]的值; 从k位置分别向左向右找更小值就是每个子数组的最小值, 左右两端边界下标也就确认了子数组长度; 直观朴素的解法是利用单调栈将向左向右分别严格递减的下标保存起来, 利用栈顶下标对应的最小值和长度依次计算分数; 在上述版本进一步优化代码可以直
VUE前端打包报错:TypeError: Class extends value undefined is not a constructor or null
在执行npm run build的时候遇到了错误:TypeError: Class extends value undefined is not a constructor or null;而执行npm run serve是可以正常执行的,报错如下: 执行npm install --save-dev mini-css-extract-plugin //在项目开发依赖中安装解决
【分布式】分布式ID
本文为分布式学习笔记,参考了JavaGuide 设计分布式ID有两种思路: 第一种是让所有获取ID的机器从同一个地方获取,ID生成器只需要简单自增即可。 第二种是通过一定的算法,使各个机器产生的ID不重复,这也是一种方式。 同一ID生成方式 数据库 数据库主键自增 利用数据库主键自增来产生唯一ID,通过在同一个事务中replace into插入,让着通过last_insert_id()函数来
代码精简的治理方案和工具
一、前言 在大型软件系统中,随着业务的发展和变迁,部分代码线上已经废弃或者出现冗余,由于种种原因没有被及时删除和治理,随之而来的是代码维护成本提升。 代码精简的价值如上图所示,并由此成为服务治理的一个重要方向,在业界头部企业也有对应的治理项目谷歌【死神】项目,用机器人大规模删除代码:二十多年积累了数十亿行,已删除 5%C++ 代码, 其主要思路是通过程序自动识别代码
Java中使用easyexcel导入导出数据
工作中常常遇到导入导出Excel数据,还需要设置表格边框、合并单元格、字体居中等等各种样式,尝试了多种方式觉得阿里的easyexcel挺好使,记录一下使用、表格样式如下: 导入依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel&l
tomcat类加载器
https://blog.csdn.net/MeBieber/article/details/105114645?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-105114645-blog-3672450.235^v43^pc_blog_bottom_rel
java GC Collector
java 垃圾收集器 G1 jdk9开始默认启用,显示启用 -XX:+UseG1GC 介绍 服务器级计算机上的垃圾优先 (G1) 收集器,否则为串行收集器。 GC 线程的最大数量受堆大小和可用 CPU 资源的限制 初始堆大小为物理内存的 1/64 最大堆大小为物理内存的 1/4 分层编译器,同时使用 C1 和 C2 常用配置方式(单选) 首先避免 -Xmn和-XX:NewRatio 设置,因
【Database】可选的数据源配置项
【Database】可选的数据源配置项 场景 之前的版本中没有数据源依赖,新版本中有数据源依赖,只有部分模块需要配置数据源,其余模块仍然读老的配置,如果使用自动装配的mybatis会启动报错。 方案 通过一个默认为false的开关控制数据源的加载 要确认清楚@MapperScan注解是否没有别的地方在使用了,需要在每个@MapperScan处加@ConditionalOnProperty。