Java
利用Jquery Lazyload JS插件实现网页图片延迟加载
Jquery Lazyload是一款网页图片延迟加载JS插件,本文介绍该JS的使用方法。 最新的jquery lazyload可以单独使用(即不依赖jquery),本文介绍的是依赖jquery的使用及配置方法。 Github项目地址:https://github.com/tuupola/lazyload 本文使用的是1.9.7版本(实际与1.9.6版本一致) 首先需要引用jquery,如:h
你知道哪些JavaScript语句?
我们在上一节课中已经讲过了 JavaScript 语法的顶层设计,接下来我们进入到更具体的内容。 JavaScript 遵循了一般编程语言的“语句 - 表达式”结构,多数编程语言都是这样设计的。我们在上节课讲的脚本,或者模块都是由语句列表构成的,这一节课,我们就来一起了解一下语句。 在 JavaScript 标准中,把语句分成了两种:声明和语句,不过,这里的区分逻辑比较奇怪,所以,这里我还是按照自
Scala--纯粹的面向对象语言
Scala是一种多范式的编程语言,它将面向对象和函数式编程结合在一个简洁的高级语言中,Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。 Scala基于JVM, 和Java完全兼容, 同样具有跨平台,可以执行好,方便的垃圾回收等特性;Scala是一种纯粹的面向对象语言;Scala是一门函数式编程语言;Scala更适合大数据的处理 Scala对集合类型数据处理有非常好的支持S
冒泡排序 Bubble Sort
一种将无序数组,按递增/减顺序排序的方法 从第一个元素和第二个元素开始,依次两两比较,当第n个元素小于第n+1个元素时,两元素交换位置。 再从第二个和第三个元素开始重复上述动作直至遍历整个数组 时间复杂度: 最坏情况:O(N^2) 最好情况:O(N^2) 空间复杂度:O(1) /** * @author 3DG * @Description 冒泡排序BubbleSort
Mybatis 的 SqlSession 和一级缓存为什么失效?
目录SqlSession是什么SqlSession分类SqlSession的创建为什么和 Spring 整合后的 SqlSession 一级缓存偶尔会失效一级缓存和二级缓存总结 SqlSession是什么 SqlSession是Mybatis 中定义的,用来表示与关系数据库的一次会话,会话定义了各种具体的操作,查询、数据更新(包含保存、更新、删除)操作。而这些操作都在与数据库建立会话的基础上进行的
《程序是怎样跑起来的》第二章总结
在学JAVA的时候网课上提到过左移右移,不过并没有作为重点来讲,只是大概地说了一下是什么含义。刚看第二章作者提出的六个问题就有四个难住了我。比如一串二进制数左移两位会变成原数的几倍、还有补码形式表示的八进制如何用二进制表示等等,这些问题一点都不会。不过看完答案和作者给出的解析后大概理解了。 第一小节讲了计算机为什么用二进制表示信息,然后第二节讲了什么是二进制数,以及二进制转化为十进制的方法,接着后
深入浅出Java多线程(八):volatile
引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第八篇内容:volatile。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在当今的软件开发领域,多线程编程已经成为提高系统性能和响应速度的重要手段。Java作为广泛应用的多线程支持语言,其内存模型(JMM)设计巧妙地处理了并发环境下共享资源访问时可能遇到的问题。然而,在多线程间共享数据时,程序员往往会遭
《视频篇》java实现下载hls(m3u8+ts)实时流并进行合并mp4
链接:https://blog.csdn.net/qq_41604890/article/details/130143355 首先需要了解什么是HLS 简单理解就是, m3u8文件存放着可供客户端播放TS 片段 简单一点说m3u8加密技术就是将原视频分割成n个.ts文件,并用一个key文件对每一个.ts文件加密,其中m3u8文件里面存储了key文件和所有的.ts文件的地址,所以我们要解密这个视频就
RocketMQ_详细配置与使用详解
为什么要用MQ 应用解耦 系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。 使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,
【Kafka】SASL_SSL双重认证
目录1. 背景2. 环境3. 操作步骤3.1 生成SSL证书3.2 配置zookeeper认证3.3 配置kafka安全认证3.4 使用kafka客户端进行验证3.5 使用Java端代码进行认证 1. 背景 kafka提供了多种安全认证机制,主要分为SASL和SSL两大类。 SASL: 是一种身份验证机制,用于在客户端和服务器之间进行身份验证的过程,其中SASL/PLAIN是基于账号密码的认证
使用 Serviceability Agent 多线程探测 JVM 产生 VM.initialize() was not yet called 问题
报错 用 Serviceability Agent 技术多线程探测运行中的 Java 进程时,报出了关于 JVM 的错误 本地报错 报错代码位置 服务器报错,可以看到有的线程是能跑的 原因 原因在于主线程提前关闭,如下图是主线程执行程序的入口 进入 excute 函数 可以看到在 start 函数执行完后,会执行 finally 里的 stop 方法,调用 agent 的 detach
deploy-your-site
Deploy your site Docusaurus is a static-site-generator (also called Jamstack). It builds your site as simple static HTML, JavaScript and CSS files. Build your site Build your site for production: Th
【转帖】如何从几百万个抓包中找到一个异常的包
如何从几百万个抓包中找到一个异常的包 这篇算是对抓包定位原因在哪里的落地篇,没什么高深的技术,都是很low但是你一定可以照着操作的,算是星球内必须学会和带走的内容 场景 问题 一次业务请求包含160个拖数据的SQL查询,通过160个连接,发给160个Database,但是过几分钟后总有报错。几分钟抓包文件10G左右,网络包几百万个,怎么找到报错的那个? 几个麻烦的地方 虽
Spring 缓存失效经验
Spring 缓存失效经验 基础背景 Spring 通过代理+切面的方式增强方法实现的 声明式缓存,事务等的支持 通用失效场景 方法调用为内部调用 方法未声明为 public 方法 笔者失效场景 key值获取结果不一致。 笔者代码如下所示,方法入参是一个包装对象,缓存key采用方法名+对象的json字符串。 由于该包装对象了为了兼容参数非法。采用部分getter方法调用会修改某些属性
浅谈LocalCache | 京东云技术团队
1、什么是LocalCache? 本地缓存是一种将数据存储在应用程序内存中的机制,用于提高数据访问的性能和响应速度。它通过在内存中维护一个键值对的存储结构,允许应用程序快速检索和访问数据,而无需每次都从慢速的数据源(如数据库或网络)获取数据。 2、LocalCache优缺点 1)优点 •快速访问:LocalCache将数据存储在内存中,因此可以快速访问缓存数据,提高应用程序的性能。 •减轻后端负载
SpringCloud核心组件实战笔记
课程地址:https://coding.imooc.com/class/187.html 聚合:对多个api调用逻辑进行聚合来减少客户端请求数 裁剪:根据不同的需求返回不同的数据,例:pc端返回html,app端返回json,显然pc端更详细 spring cloud eureka是基于netflix eureka做了二次封装 多台机器的eureka需要两两注册,两台交叉注册 client注册到
使用Sentinel实现隔离、限流
功能对比 SentinelHystrixresilience4j 隔离策略 信号量隔离(并发线程数限流) 线程池隔离/信号量隔离 信号量隔离 熔断降级策略 基于响应时间、异常比率、异常数 基于异常比率 基于异常比率、响应时间 实时统计实现 滑动窗口(LeapArray) 滑动窗口(基于 RxJava) Ring Bit Buffer 动态规则配置 支持多种数据源
SpringBoot实现统一异常处理
目录前言实现步骤定义统一响应对象类定义业务异常枚举接口和实现定义业务异常基类定义全局异常处理切面测试和验证总结 前言 近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目为前后端分离开发,后端基于Java21和SpringBoot3开发,后端使用Spring Security、JWT、S
一个线程,从“生”到“死”经历的过程
本文分享自华为云社区《面试必问 | 一个线程从创建到消亡要经历哪些阶段?》,作者: 冰 河。 今天,我们就结合 操作系统线程和编程语言线程 再次深入探讨线程的生命周期问题,线程的生命周期其实没有我们想象的那么简单!! 理解线程的生命周期本质上理解了生命周期中各个节点的状态转换机制就可以了。接下来,我们分别就 通用线程生命周期和Java语言的线程生命周期 分别
spring-plugin简单使用
spring-plugin 是spring 官方提供的一个插件化设计方案,比如使用支持基于spring 的项目 项目结构 此简单测试项目是一个maven 多模块的,包含了一个plugin 契约模块,连个插件实现,以及一个bootstrap 启动入口 代码结构 ├── README.md ├── bootstrap │ ├── HELP.md │ ├── p
阿里二面:SpringBoot可以同时处理多少个请求?当场懵了。。。。
SpringBoot以其简洁高效的开发方式和强大的内嵌容器特性,为开发者提供了构建高性能后端服务的便利。然而,当面临高并发场景时,理解并合理配置Spring Boot应用以达到最佳的并发处理能力至关重要。在Spring Boot中,应用程序对HTTP请求的并发处理主要依赖于内嵌的Servlet容器(如Tomcat)。接下来我们以Tomcat为例谈谈这个问题。 本文以SpringBoot2.7.0
【踩坑指南】线程池使用不当的五个坑
线程池是 Java 多线程编程中的一个重要概念,它可以有效地管理和复用线程资源,提高系统的性能和稳定性。但是线程池的使用也有一些注意事项和常见的错误,如果不小心,就可能会导致一些严重的问题,比如内存泄漏、死锁、性能下降等。 本文将介绍线程池使用不当的五个坑,以及如何避免和解决它们,大纲如下, 坑一:线程池中异常消失 线程池执行方法时要添加异常处理,这是一个老生常谈的问题,可是直到最近我都有同事还
WebAssembly核心编程[4]: Memory
由于Memory存储的是单纯的二进制字节,所以原则上我们可以用来它作为媒介,在wasm模块和数组程序之间传递任何类型的数据。在JavaScript API中,Memory通过WebAssembly.Memory类型表示,我们一般将它内部的缓冲区映射相应类型的数组进行处理。WebAssembly也提供了相应的指令来提供针对Memory的读、写、扩容等操作(源代码从这里下载)。一、容量限制与扩容 二、
DevExpress ASP.NET Web Forms v23.2最新版本系统环境配置要求
本文档包含有关安装和使用 DevExpress ASP.NET Web Forms控件的系统要求的信息。 点击获取DevExpress v23.2正式版 .NET Framework DevExpress ASP.NET Web Forms控件和MVC扩展支持以下.NET Framework 版本。 IDE DevExpress ASP.NET控件支持以下 Visual Studio
PAT乙级-1006(换个格式输出整数)
让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。 输入格式: 每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。 输出格式: 每个测试用例的输出占一行,用规定的格式输
Java threadLocal
对于ThreadLocal,大家的第一反应可能是很简单呀,线程的变量副本,每个线程隔离。那这里有几个问题大家可以思考一下: ThreadLocal的 key 是弱引用,那么在 ThreadLocal.get()的时候,发生GC之后,key 是否为null? ThreadLocal中ThreadLocalMap的数据结构? ThreadLocalMap的Hash 算法? ThreadLo