Java

RegExp

RegExp 对象 正则表达式是描述字符模式的对象。 正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 语法 var patt=new RegExp(pattern,modifiers);或者更简单的方式:var patt=/pattern/modifiers; pattern(模式) 描述了表达式的模式 modifiers(修饰符) 用于指定全局匹配、区分大小写

JavaScript中的标识符和保留字

标识符。 简单地说,标识符就是一个名字。在JavaScript中,标识符用于为JavaScript代码中的常量、变量、属性、函数和类命名,还可用于为某些循环提供标签。JavaScript标识符必须以字母、下划线(_)或美元符号($)开头。后续字符可以是字母、数字、下划线或美元符号(数字不能作为第一个字符,以区分标识符和JavaScript中的数值)。以下是有效的标识符: i my_variable

[42]Trapping Rain Water

Content Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.   Example 1: Example 2:   Const

mybatis 参数赋值及类型解析

基本类型处理器 configuration对象初始化的时候会创建TypeHandlerRegistry,构造方法里指定了默认类型处理。基本类型常见的数据库类型都又对应的解析器。 TypeHandlerRegistry类typeHandlerMap属性存储了javaType和类型TypeHandler之间的映射关系。这里的mapkey值就是javaType对应的Class,然后value呢?我们知道

谈谈你对Mybatis的认识/了解?

概念: Mybatis是一个开源免费轻量级,基于Java语言、半自动ORM、持久层的框架作用:封装了JDBC,通过SOL语句建立实体类和关系表的映射关系,让我们操作数据库更加简单、方便、高效使用步骤:1) 导包  导入Mybatis相关依赖包 2) 配置  数据库连接yml3) 代码  实体类 O  Mapper接口-------@Mapper、@MapperScan(basePacka

Spring-事务操作

   1、什么是事务           事务就是一系列的动作,它们被当作一个单独的工作单元,这些动作要么全部完成,要么全部不起作用。         案例:转钱业务           扣钱和加钱  --要么都执行要么都不执行         JDBC  --它模式事务自动提交的             -当代码中出现错误,转账业务就会变成eid=1的用户扣钱,eid=2的用户没有加钱,扣的钱不

mormot2 笔记(二) Http服务的简单搭建

mormot2框架中有个THttpServer类,它有一个Router属性,定义如下: Router是添加路由的入口点,它有和http协议对应的get, post, put, delete等方法,这些方法可以添加路由,下面常用的get方法定义。 这里我们不能像js中koa2类似的写法,除非我们写个helper类,给TUriRouter加个方法,然后就可以像koa2中的写法一样了,

关于AOP的一些理解

1:什么是AOP AOP(Aspect Oriented Programming)面向切面思想,是spring三大核心思想之一。AOP:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑各部分进行隔离,从而降低业务逻辑之间的耦合度,提高程序的可重用性,通是提高开发效率。

多线程的“锁”

其实,很多初学者(包括我自己)初期学习多线程时都被视频带偏了...虽然我始终认为培训班的视频是最适合非科班零基础入门的,但是在多线程方面,无一例外都讲得比较糟糕。 感触很深的一点是:很多新手觉得多线程难,并不是因为volatile、ReentrantLock或者Executor线程池,而是从一开始就没弄明白“什么是锁”,导致后面根本学不进去。 什么是“锁”? 锁到底长啥样? 它锁定的是代码吗?

将Java对象转化为JSON字符串和序列化有啥关系

如果采用Java标准的序列化机制是将Java对象转化为字节流进行持久化或者网络传输,该对象需要实现Serializable接口。而转化为JSON字符串走的并不是Java标准化序列化机制,所以不需要实现Serializable接口。

根据druid将慢sql通过钉钉的方式进行告警功能记录

           想要借助接入的druid把日志里面输入的慢sql通过钉钉的方式进行告警,由于项目里面之前接入了druid,格式大概如下:         这个是接入druid并且配置了slow sql为true的情况下,日志里面打印的slow sql。刚开始我的想法是通过重写log4j的日志

Docker容器怎么安装Vim编辑器

​ 在现代软件开发和系统管理中,Docker已经成为一个不可或缺的工具。它允许我们轻松地创建、部署和运行应用程序,以及构建可移植的容器化环境。然而,在Docker容器中安装特定的工具可能会有一些挑战,因为容器本身是精简的、隔离的运行环境。 在本文中,我们将讨论如何在Docker容器中安装Vim编辑器,为容器增添一个功能强大的文本编辑器。 Docker容器简介 Docker容器是一种轻量级

【Nest教程】连接MySQL数据库 -----转

    来自:https://cloud.tencent.com/developer/article/1774827 本人测试这文章确实成功了,建议看上面链接的原文                         对于一个Web API项目,数据库是

参数类型泛型传入和泛型传出

public <U, S> R<U> query(S req, String name, Class<U> type) { R<String> resp = httpPost(name, JSONObject.toJSONString(req)); if (!resp.isSuccess()) {

[53]Maximum Subarray

Content Given an integer array nums, find the subarray with the largest sum, and return its sum.   Example 1: Example 2: Example 3:   Constraints: 1 <= nums.length <= 105 -10

CI/CD入门(二)

CI/CD入门(二) 目录CI/CD入门(二)1、代码上线方案1.1 早期手动部署代码1.2 合理化上线方案1.3 大型企业上线制度和流程1.4 php程序代码上线的具体方案1.5 Java程序代码上线的具体方案1.6 代码上线解决方案注意事项2、理解持续集成、持续交付、持续部署2.1 持续集成2.2 持续交付2.3 持续部署3、Maven 私服 Nexus33.1 Maven和Nexus3 简介

java springboot excel 上传

import java.io.File; import javax.servlet.MultipartConfigElement; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.MultipartConfigFactory; i

形象谈JVM-第三章-即时编译器优化技术

即时编译器优化技术一览: 相信许多同学看完这个表格,脑子里面嗡嗡的,这些名字也是晦涩难懂,要实现这些优化的技术确实有比较大的难度,但是咱们只是学习,去理解这些技术,其实并不难,下面咱们直接开讲。 首先需要明确一点的,作者是为了讲解方便,使用java的语法来表示优化技术所发挥出来的作用,实际上编译优化并不是建立在java代码之上的,而是建立在代码的中间表示或者是机器码之上的。 优化前: 优化后

SQL server进阶查询

1、别名,查询结果拼接(可以直接修改类别名称 如 id->主键 name->姓名 course->课程 score->分数) SELECT TOP (1000) [id] 主键         //查询前1000行数据     ,[name] 姓名     ,[course] 课程 &nbs

工作中怎么使用线程池

8 个 Java 线程池最佳实践和坑!   1、正确声明线程池 线程池必须手动通过 ThreadPoolExecutor 的构造函数来声明,避免使用Executors 类创建线程池,会有 OOM 风险。 Executors 返回线程池对象的弊端如下(后文会详细介绍到): FixedThreadPool 和&

SSO单点登录(SpringSecurity OAuth2.0 redis mysql jwt)

SSO单点登录 什么是单点登录 SSO(Single Sign On) 在多系统架构中,用户只需要一次登录就可以无需再次登录(比如你在打开淘宝之后点击里边的天猫) 在以前我们的单系统中,用户如果登录多个服务需要多次登录,实现单点登录之后,可以实现一次登录,全部登录!一次注销,全部注销 原理图 用户不需要重复登录192.168.1.* 只需要通过认证系统登录一次即可访问全部内容 实现原理(

Kettle中调用用户自定义的jar包

  ETL工具断断续续的也接触了 Informatica,Kettle, SSIS,个人感觉Info很强大但是也很贵,而且有着一些神秘感。Kettle 4.0版本以来已经有了User  defined java class组件,使用户可以写Java代码 让kettle来调用,这就说明了很多kettle不能处理的东西我们可以通过Java代码来实现,步骤如下: 一:创

网页CAD的mxdraw库实现Autocad中的圆

前言 ​Web端显示CAD图纸的应用场景很广泛,单纯的浏览DWG逐渐满足不了用户的实际需求,浏览的同时再加上简单的绘制和批注更符合大家的应用场景,接下来我们讲一下如何利用Mxdraw库实现AutoCAD中的画圆命令。 首先我们知道DWG图纸要在网页上显示需要安装转换程序,在测试开始之前,我们要熟悉转换方法和原理,请查看快速入门中的《如何在自己系统中浏览dwg文件》章节,如下图所示: ​如果还有疑

学习redux vite项目+ts+React 笔记总结

初始化ts 项目之后 react 导入之后会,会有警告 React' is declared but its value is never read. 解决方案: 在 ts.config中添加

【狂神说Java】Java零基础学习笔记-面向对象

【狂神说Java】Java零基础学习笔记-面向对象 面向对象01:什么是面向对象 面向过程&面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么.... 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。 面向对象适合处理复杂的问题,

spring三级缓存源码分析

总体思路如下如所示 debug的源码过程 循环依赖debugorg.springframework.context.support.AbstractApplicationContext#refresh finishBeanFactoryInitialization //LINE583, 实例化的入口org.springframework.context.support.AbstractApp

地图服务器GeoServer

下载: https://geoserver.org/announcements/2023/07/21/geoserver-2-23-2-released.html 下载war包,使用tomcat发布 https://www.oracle.com/java/technologies/downloads/#jdk17-windows https://tomcat.apache.org/downlo

15种实时uv实现方案系列(附源码)之一:Flink基于set实时uv统计

UVStatMultiPlans(GitHub)项目持续收集各种高性能实时uv实现方案并对各种实现方案的优缺点进行对比分析! 需求描述 统计每分钟用户每个页面的uv访问量。 Kafka数据格式 代码实现 本实现方式优缺点 优点: 实现方案较为简单。 缺点: 基于Set实现,用户数据存储在内存中,如果统计周期内用户量较大需要耗费较大的内存空间。

Spring事务与锁的一些事

1.Spring事务与synchronized顺序问题 结论: 保证释放锁在事务提交之后 错误使用案例1 错误使用案例2 分析: 当并发线程都执行到1时,其中有一个线程A率先抢到了锁,然后执行业务,保存了一条记录,释放锁 此时其他线程可以去抢锁,其中有另外一个线程B也抢到了锁,然后执行业务,保存了一条记录(报错,主键不能重复) 正确使用案例 多个线程先锁住资源,在线程内把事务提交

toggleClass详解

toggleClass()是一个jQuery方法,用于在元素之间切换一个或多个类。 该方法的语法如下: selector:表示要切换类的元素选择器。 class1, class2, ...:要切换的一个或多个类名。 该方法的作用是,在被选元素上添加指定的类,如果元素已经有该类,则移除该类。通过反复调用toggleClass()方法,可以实现添加或删除类的切换。 以下是toggleClass(

<<  <  792  793  794  795  796  797  798  799  800  801  802  >  >>