-
【JVM系列】类加载器及双亲委派模型介绍
在之前的文章中,介绍了类的加载过程中,我们有提到在加载阶段,通过一个类的全限定名来获取此类的二进制字节流操作,其实类加载器就是用来实现这个操作的。在虚拟机中,任何一个类,都需要由加载它的类加载器和这个类本身一同确立其唯一性,每一个类加载器,都拥有一个独立的类名称空间,对于类也同样如此。简单的说,在虚...6个月前 阅读220
-
前端大佬都在用的useWatcher究竟有多强?
作为一名经常被各种复杂请求场景折磨的前端开发者,我深知处理动态数据请求的痛苦。但最近,我发现了一个强大的工具——alovajs 的 useWatcher。它极大地简化了我的工作,让我在处理动态数据请求时轻松了不少。让我和大家分享这个令人兴奋的发现吧!alovajs:简化请求流程的利器alovajs 是一个新一代的请求工具,它的目标...7个月前 阅读215
-
深入解析Spring AI框架:在Java应用中实现智能化交互的关键
今天我们的主题将聚焦于最后一步:如何将AI技术有效应用于Java程序中。众所周知,Java是一种面向对象的编程语言,因此不论我们调用什么AI接口,从业务的角度来看,它本质上只是一个接口,而AI则充当了一个第三方对接平台。然而,值得注意的是,AI的聊天回复往往不适用于对象,因为这些回复无法直接返回格式化的JSON数据。这...7个月前 阅读192
-
MySQL新增字段/索引会不会锁表?
MySQL表的结构修改往往伴随着表级锁的问题。特别是对于那些数据量较大的表,这会对业务系统的性能产生显著影响。通过优化表结构修改的操作,开发者可以避免或最小化锁表时间,从而保证系统的正常运行。表级锁介绍表级锁指在执行某些操作时,为了保证数据的一致性,对整个表加锁。具体来说:当对表执行ALTER TABLE操作时,M...7个月前 阅读215
-
Java 命名篇之“成对”命名法
一、启示我们在写代码的时候,经常遇到一些成对命名,这些成对的命名可以帮助我们很好地命名。给一段简单的 Java 代码例子。java.util.Collections#copy从 dest, src, 可以清楚地知道参数的含义,这样的命名可以称之为好的命名。 public static <T> void copy(List<? super T> d...7个月前 阅读219
-
堪比tinify的图片压缩工具TinyPNG
介绍基于tinypng的图片压缩工具,支持图片压缩功能。使用客户端压缩图片,无需上传到服务器,直接在客户端进行压缩。支持WebWorknpm:tinypng-lib在线体验地址:tinypng.wcrane.cn/使用方法安装npm install tinypng-lib 基本使用<template> <div id="app"> <inpu...7个月前 阅读206
-
MySQL Limit实现原理
在实际工作中,我们经常会使用 MySQL 中的LIMIT子句来控制查询返回的数据大小,特别是在分页、性能优化等场景中。这篇文章,我们将深入探讨 MySQL 中LIMIT的实现原理,以及如何在不同场景下有效利用该功能。什么是 LIMIT?LIMIT 是 SQL 查询语句中的子句,用于限制查询结果的行数。在 MySQL 中,LIMIT 子句还可以...7个月前 阅读217
-
深入解析 React 组件封装 —— 从业务需求到性能优化
引言React 是现代前端开发中使用最广泛的 JavaScript 库之一,因其强大的组件化开发模式,使得开发者可以创建高复用性、模块化的应用。组件的封装在 React 开发中尤为重要,直接关系到代码的维护性、复用性以及性能表现。本文将通过封装一个表单组件为例,从业务需求出发,详细探讨 React 组件的封装技巧与性能优化策...7个月前 阅读212
-
深入理解Java:从基础到高阶应用
Java作为一种面向对象的编程语言,自1995年发布以来,已经成为全球开发者最为广泛使用的语言之一。Java凭借其平台无关性、稳健性和强大的生态系统,广泛应用于企业级应用、Android开发、大数据处理、物联网等领域。在这篇文章中,我将从Java的核心概念到一些高阶应用展开讨论,帮助大家加深对Java的理解,拓展实际开发中...7个月前 阅读220
-
html元素的事件代理
是什么事件代理,俗地来讲,就是把一个元素响应事件(click、keydown…)的函数委托到另一个元素。前面讲到,事件流的都会经过三个阶段: 捕获阶段 ->目标阶段 ->冒泡阶段,而事件委托就是在冒泡阶段完成.(上文:事件模型)捕获阶段 --- 事件从window处往目标处传播目标阶段 --- 在目标处触发事...7个月前 阅读221