Java
面试官:分布式锁最终解决方案是RedLock吗?为什么?
RedLock 是 Redis 分布式锁的一种实现方案,由 Redis 的作者 Salvatore Sanfilippo 提出。 RedLock 算法旨在解决单个 Redis 实例作为分布式锁时可能出现的单点故障问题,通过在多个独立运行的 Redis 实例上同时获取锁的方式来提高锁服务的可用性和安全性。 1.实现思路 RedLock 是对集群的每个节点进行加锁,如果大多数节点(N/2+1)加锁成
2024面试学习归纳
参考:https://www.bilibili.com/video/BV15z4y1a7MN/?p=2&vd_source=98c9b1513d613fd9769c84ee8395d93f 一、CSS 1.说一下CSS的盒模型 在HTML页面中的所有元素都可以看成是一个盒子 盒子的组成:内容content、内边距padding、边框border、外
【MyBatis】MyBatis简介+MyBatis的快速入门(Mapper代理开发)
MyBatis简介 JDBC的缺点 硬编码 注册驱动,获取连接 SQL语句 操作繁琐 手动设置参数 手动封装结果集 MyBatis的快速入门——Mapper代理开发 MyBatis核心配置文件——替换JDBC的连接信息,解决硬编码问题 mybatis-config.xml 编写SQL映射文件——统一管理sql语句,解决硬编码问题 命名规范:映射表对应的类Xxx,映射文件命名为Xx
javaweb之servlet
servlet概述: Servlet是使用Java语言编写的运行在服务器端的程序。 1.Servlet的请求首先会被HTTP服务器(如Apache)接收,HTTP服务器只负责静态HTML页面的解析,对于Servlet的请求转交给Servlet容器,Servlet容器会根据web.xml文件中的映射关系,调用相应的Servlet,Servlet将处理的结果返回给Servlet容器,并通过HTTP服务
Algorithm | 两数之和、两数相加 (一)
1.两数之和:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 1.1 自己的解答 1.2 答案解析 1.3 其他语言 1.两数相加:给你两个 非空 的链表,表示两个非负的整数
springmvc内嵌tomcat、tomcat整合springmvc、自研国产web中间件
springmvc内嵌tomcat、tomcat整合springmvc、自研国产web中间件 这是由于公司老项目转化springboot存在太多坑,特别是hibernate事务一条就坑到跑路,你又不想搞没听说过的国产中间件兼容,又不想搞weblogic、WebSphere等中间件的适配,不如直接把提供给客户的产品内嵌于tomcat中,启动就是一个sh,同时让客户不用安装tomcat,释放你的维护时
记录socket-io注册到nacos后,nacos默认轮询策略会导致服务请求失败
问题: socket-io服务注册到nacos, 出现多个socket-io实例。此时前端发送请求,nginx请求gateway地址,gateway根据url寻找注册到nacos上的服务名,服务名有多个实例,nacos默认的轮询策略会出现服务连接失败。因为有的socket-io服务里面没有需要的namespace。所以报错。并且出现连接成功后中间断开请求。因为是上一次的请求没有断开导致超时然后出现
javascript数组合并效率对比
1、数组元素量级大而合并次数少时,性能对比: concat() > push() > […array1,…array2] 2、数组元素少但合并次数多时,性能对比: push() > concat() > […array1,…array2] 参考资料:http://www.seozhijia.net/javascript/227.html
Oracle、达梦:☆获取数据库对象、获取对象的DDL定义语句(达梦)
一、获取数据库对象(Oracle、达梦) 以下方式在达梦DM数据库中都能跑通,Oracle未测试所有的方式。 1、获取所有对象——所有模式下的 数据库所有对象表:包括表、视图、物化视图、函数、存储过程……等 ①、ALL_OBJECTS视图方式 OBJECT_TYPE解释: oracle的ALL_OBJECTS中的OBJECT_TYPE表示: TABLE:表示表,这是用于存储和管理数
2D动画软件对比,快速接入前端/游戏引擎
点击蓝字链接查看runtime/SDK详情 其中Noesis框架支持将UI文件转入游戏中播放,是免费的(也有收费选项) runtime 前端UI 游戏引擎 工作流 导出 特色功能 限制 定价 spine JS/TS, Flutter, webGL/Canvas/webPlayer, C/C++/C#/Java UE, Unity, Godot 客户端 .json, .skel, 常
【从零开始重学Java】第4天
前情提示 从零开始重学Java 第0天 从零开始重学Java 第1天 从零开始重学Java 第2天 从零开始重学Java 第3天 数组、向量和字符串 数组 数组说明 创建数组 要么指定数组长度,要么直接指定好每个元素内容 多维数组的长度指定第一个就行了 只指定长度不指定元素,元素会都给默认值 数组边界 数组元素的引用 多维数组 都已经快忘记了这么个东西了,日常使用也是Collection套C
Spring MVC学习(4)—ViewSolvsolver视图解析器的详细介绍与使用案例
基于最新Spring 5.x,详细介绍了Spring MVC的ViewSolvsolver视图解析器组件,并提供了详细的使用案例。 转载自:https://blog.csdn.net/weixin_43767015/article/details/116758079 此前我们学习了Spring MVC中的核心组件以及请求的执行流程,现在让我们专门来学习ViewSolvsolver 视图解析
iview tooltips 表格显示超出显示
<template> <!-- columns存在render,超出显示tooltip+省略号--> <Tooltip placement="right-end" :content="value" :disabled="!showTooltip" style="width: 100%"> <span ref="content" class="
idea配置gradle国内镜像源
项目文件中找到build.gradle文件,修改其中的buildscript和allprojects地址: .zstitle { width: 280px; text-align: center; font-size: 26px } .zsimgweixin { width: 280px } .zsimgali { width: 280px; padding: 0px 0px 50
Java流程控制-顺序结构
顺序结构 JAVA的基本结构就是顺序结构,除非特别指明指明,否则就按照顺序一句一句执行。 顺序结构是最简单的算法结构。 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算发都离不开的一种基本算法结构。 package com.wang.struct;public class ShunXuDemo { publi
Java流程控制-选择结构
选择结构 if单选择结构 if双选择结构 if多选择结构 嵌套的if结构 switch多选择结构 if单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。 语法 if(布尔表达式){ //如果布尔表达式为true将执行的语句} package com.wang.struct
windows安装tomcat10
下载安装jdk17 :jdk-17_windows-x64_bin.exe 配置JAVA环境变量 JAVA_HOME:C:Program FilesJavajdk-17 PATH:%Java_Home%bin;%Java_Home%jrebin; 拷贝tomcat10(下载地址:https://tomcat.apache.org/)到目录,设置环境变量 CATALINA_HOME:D:a
java split 无效 ,由于split()函数的默认行为是去除匹配分隔符周围的空格,导致程序运行不符合预期
java split 无效 ,由于split()函数的默认行为是去除匹配分隔符周围的空格,导致程序运行不符合预期 Java split 无效的原因及解决方法 在Java编程中,我们经常需要对字符串进行拆分,常用的方法之一就是使用split()函数。然而,有时候我们会发现使用split()函数无效,即字符串没有按照预期的方式进行拆分。本文将探讨这个问题的原因,并提供解决方法。 问题描述 在使用Jav
使用IDEA将部分代码抽出来变成一个新的方法 快捷键不是Ctrl + Alt + M 填写方法名称即可
使用IDEA将部分代码抽出来变成一个新的方法 快捷键不是Ctrl + Alt + M 填写方法名称即可 前言 从java开发角度来说,一个方法一般不宜过长,通常都是50到100行左右。太长的方法不管从阅读还是维护上来说都是不利的。但在实际开发中,一方面可能需要优化祖传代码,另一方面我们自己也经常写着写着方法就超长了。这时我们就需要将部分代码抽出来作为一个单独的方法,来保证满
springboot学习日记(六)
终于是考完期末,感觉有一门数学很危险挺容易挂的,现在也只能听天由命了。然后摆了几天,看了点动画,看了两本推理小说,生了场大病。 maven一般从远程仓库拉取依赖(jar包)到本地仓库,可以在maven目录下的conf/settings.xml配置本地仓库地址,否则默认拉取到c盘。相应的也可以设置mirror镜像,下载依赖更快~经典阿里云 然后idea-file-settings-build too
Android 蓝牙使用
原文地址: Android 蓝牙使用 - Stars-One的杂货小窝 公司项目需求需要实现监听蓝牙耳机连接,且要获取蓝牙耳机电量功能,翻了不少官方文档,记录下技术调研代码 注:本文没有研究蓝牙配对功能 关于蓝牙权限适配 Android12以后,申请蓝牙权限需要申请一组,如新增的几个权限,需要一起申请 参考: 蓝牙权限 | Connectivity |&
从content-type设置看Spring MVC处理header的一个坑
从content-type设置看Spring MVC处理header的一个坑 我们经常需要在HttpResponse中设置一些headers,我们使用Spring MVC框架的时候我们如何给Response设置Header呢? Sooooooooooooo easy, 看下面的代码: ? 1 2 3 4 5 6 7 @RequestMapping(value = "
SpringMVC中如何设置响应的Content-Type(源码分析)
转载自:https://blog.csdn.net/CaptHua/article/details/122004067 问题 写这篇文章源于笔者在一次调试接口的时候遇到的一个问题: 在浏览器中调用接口,页面显示的内容中有乱码, 但是查看响应中的内容是没有乱码的, 而且在Postman中调用返回的结果正常. 思路 遇到这种情况首先就会想到是不是检查Response, 对比浏览器和Postman中
每周总结1/8(spring跨域问题与百度接口node.js跨域问题解决)
前端代码 使用前记得运行js文件,node baidu.js 这段代码是一个基于Node.js和Express框架搭建的后端服务,用于处理图像识别相关的API请求。其中涉及跨域问题的部分是通过引入并使用了cors模块来解决的。 具体解决步骤如下: 首先,通过const cors = require('cors')引入了cors模块,这是一个Express中间件,用于提供跨域资源共享
.NET周刊【1月第1期 2023-01-07】
一月头条:C# 被评为2023年度编程语言! 在TIOBE指数的历史上,祝贺 C# 首次赢得了年度编程语言奖项!C# 已经是十大顶尖选手超过两个十年了,现在它正在迎头赶上四大语言,凭借一年内最大增幅(+1.43%)赢得了这个当之无愧的奖项。紧随其后的是Scratch(+0.83%)和Fortran(+0.64%)。C# 正在从Java那里夺取市场份额,并且在诸如Web应用后端和游戏(感谢Unity
使用Spring AI让你的Spring Boot应用快速拥有生成式AI能力
之前分享了关于Spring新项目Spring AI的介绍视频。视频里演示了关于使用Spring AI将Open AI的能力整合到Spring应用中的操作,但有不少读者提到是否有博客形式的学习内容。所以,本文就将具体介绍如何使用 Spring AI 快速让您的Spring应用拥有生成式AI的强大能力。 动手试试 第一步:使用你最喜欢的IDE来生成一个基础的Spring Boot项目。如果您还不会这个
微服务中远程调用Dubbo与Feign对比
实现远程调用的方式 Http接口(web接口、RestTemplate+Okhttp)、Feign、RPC调用(Dubbo、Socket编程)、Webservice。 什么是Feign? Feign是Spring Cloud提供的一个声明式的伪Http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一个注解即可。 Nacos注册中心很好的兼
代码随想录算法训练营第二十七天 | 39. 组合总和,40.组合总和II,131.分割回文串
一、39. 组合总和 题目链接: LeetCode 39. 组合总和 学习前: 思路: 无 学习后: 思路: 需要额外定义的成员变量: 调用函数: 返回类型和参数: 终止条件: 单次遍历内容 时间复杂度:O(n*2^n) 空间复杂度:O(n) 二、40.组合总和II 题目链接: LeetCode 40.组合总和II 学习前: 思路: 需要额外定义的成员变量:
面向对象基本原则 - SOLID原则
SOLID原则 SOLID原则包含五条原则,每条原则取首字母即SOLID。 Single Responsibility Principle 单一责任原则 定义:一个类只应该做一件事情 一个类如果需要做多个事情,那么就要拆分这个类。 Open Closed Principle 开放封闭原则 定义:实体对扩展应该是开放的,对修改应该是封闭的 通过继承和接口实现多态,而不是直接修改现有类的代码。
MyBatis—Spring 动态数据源事务的处理
在一般的 Spring 应用中,如果底层数据库访问采用的是 MyBatis,那么在大多数情况下,只使用一个单独的数据源,Spring 的事务管理在大多数情况下都是有效的。然而,在一些复杂的业务场景下,如需要在某一时刻访问不同的数据库,由于 Spring 对于事务管理实现的方式,可能不能达到预期的效果。本文将简要介绍 Spring 中事务的实现方式,并对以 MyBatis 为底层数据库访问的系统为例