Java

[LeetCode] 51. N-Queens

The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other. Given an integer n, return all distinct

2.5. 重载与覆盖

在 Java 中,方法的重载(Overloading)和覆盖(Overriding)是两个重要的概念。它们都涉及到方法的定义与使用,但作用和规则有所不同。 重载(Overloading) 重载是指在同一个类中定义多个同名的方法,但它们的参数列表不同(参数的个数、类型或顺序不同)。重载允许我们使用相同的方法名来实现不同的功能,提高了代码的可读性和可维护性。 下面是一个重载的例子: 在这个例子中,C

小程序容器与PWA的完美结合:提升应用性能与用户体验

PWA代表“渐进式网络应用”(Progressive Web Application)。它是一种结合了网页和移动应用程序功能的技术概念。PWA旨在提供类似于原生应用程序的用户体验,包括离线访问、推送通知、后台同步等功能,同时又具有网页的优势,如跨平台、无需下载安装等。   PWA使用现代的Web技术来创建应用程序,包括HTML、CSS和JavaScript。通过使用Service

第十一单元 面向对象三:继承与多态

假设老师类设计如下: class 老师类 { 属性:姓名,性别,生日,工资 行为:吃饭,跑步,教学 } 学生类设计如下: class 老师类 { 属性:姓名,性别,生日,班级 行为:吃饭,跑步,学习 }    我们秉承着,让最简洁的代码,实现最最强大的功能原则,能否让上述案例中的重复代码进行优化呢?我们能否将学生类与老师类再进行抽象,得到一个人类?这章节学

Java第六日

今日继续数组的学习   1.Arrays工具类的使用 2.数据应用 3.二维数组   1.Arrays工具类的使用 Arrays的描述 java.util.Arrays Sort()升序查询 实战 录入五位同学的成绩,并进行升序排序然后输出结果  2.数据的应用 1.求最大值 已知数组存储5位学员成绩,求最大值 给max先赋一个数组内的值,再与数组内其他数据比

Android 12 startActivity梳理

前面梳理了WM中Window容器的概念,今天梳理一下startActivity的流程,看一下window容器的体现。 其实在server端Window最终都会表现为WindowState对象。而之所以存在划分层级的window容器,是为了有层级的管理,目的是实现Android的一些列feature,如: 任务栈Task,Task引出Activity的生命周期 window focus,这个对于i

yaml工具

org.yaml snakeyaml 1.27 package com.xx.api; import org.yaml.snakeyaml.Yaml; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map

网络音乐播放器

网络音乐播放器,vue+axios 参照: https://blog.csdn.net/qq_45018127/article/details/118365900   <!-- 1、请求地址:https://autumnfish.cn/search 请求方式:get 请求参数:keywords(关键字) 响应内容:歌曲搜索结果 2、请求

测试基础 Android 常用 adb 命令总结

测试基础 Android 常用 adb 命令总结 Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。 Android Debug Bridge adb 其实就是 Android Debug Bridge, Andro

hvv蓝初面试常见漏洞问题(下)

hvv蓝初面试常见漏洞问题(上) 6.ssrf 服务端伪造请求 原理 服务端提供了向其他服务器应用获取数据的功能,而没有对目标地址做任何过滤和限制。攻击者进而利用其对内部资源进行攻击。(通俗来说:就是攻击者可以伪造服务端发起请求,从而获取客户端所不能获取的数据) 常用协议 php: http:超文本传输协议 https:安全超文本传输协议 file:本地文件系统协议,用于在本地文件系统中访问文件

深入vue2响应式原理,在对象或数组新增属性无响应

深入vue2响应式原理,在对象或数组新增属性无响应 解决方法 前言 vue2是如何追踪数据变化形成响应 vue2响应的注意点 解决方案 对象 方案一:初始时设定 方案二:调用Vue.set方法 方案三:创建一个新的对象,替换原对象 数组 方案一:切割替换原数组 方案二:Vue.set

与Promise血脉相连的asyncawait

与Promise血脉相连的async/await async/await是JavaScript为了解决异步问题而提出的一种解决方案,许多人将其称为异步的终极解决方案。JavaScript的发展也经历了回调、Promise、async/await三个阶段,本篇文章记录了我自己对于async/await的理解。因为async/await的使用离不开Promise,如果对于Promise不熟悉的话,可以

为什么要用线程池?

线程池是一种管理和复用线程资源的机制,它由一个线程池管理器和一组工作线程组成。线程池管理器负责创建和销毁线程池,以及管理线程池中的工作线程。工作线程则负责执行具体的任务。 线程池的主要作用是管理和复用线程资源,避免了线程的频繁创建和销毁所带来的开销。 线程池包含两个重要的组成部分: 线程池大小:指线程池中所能容纳的最大线程数。线程池大小一般根据系统的负载情况和硬件资源来设置。 工作队列:用

JS中的箭头函数与this

JS中的箭头函数与this 一、JS中函数的写法 1.常规函数的写法 在ES6语法之前,JS中的函数由function关键字、params参数和被花括号包裹的函数体组成。为了与后面说到的箭头函数相区别,我们先把这样的函数叫做常规函数,常规函数既可以用声明式写法也可以用赋值式写法。例子: 2. 箭头函数的写法 ES6箭头函数的引入,使函数的写法变的更加简洁,但在书写上要遵循一定的规则。 规则一:

JS判断视频Video的播放、暂停、结束完成及获取长度事件监听处理

在日常应用场景中,可能会遇到这么一个情况,需要判断用户是否完整的观看完了一部视频,在这个场景中,和视频相关的事件大体涉及到几个部分,获取视频长度,视频开始播放,暂停播放和播放结束,下面来看下如何通过JavaScript来监听获取视频的这几种状态。 (1)html页面视频标签大体如下 (2)视频加载后获取视频的长度 (3)视频开始播放 (4) 视频正在播放中 (5)视频加载中 (6)视频暂

let 和 const 是 JavaScript 中用于声明变量的关键字

let 和 const 是 JavaScript 中用于声明变量的关键字。 let 关键字用于声明可变(可重新赋值)的变量。通过使用 let 关键字声明的变量可以在其作用域内被重新赋值。例如: let x = 10; x = 20; // 可以重新赋值 const 关键字用于声明不可变(不可重新赋值)的常量。通过使用 const 关键字声明的变量在声明后不能再被重新赋值。例如

java开发学习框架

Java基础 1.1. Java简介与安装 1.2. Java基本语法 1.3. 数据类型与变量 1.4. 运算符与表达式 1.5. 流程控制(分支与循环) 1.6. 数组 面向对象编程 2.1. 类与对象 2.2. 继承与多态 2.3. 接口与抽象类 2.4. 封装与访问控制 2.5. 重载与覆盖 2.6. Java内存管理与垃圾回收 Java常用类库 3.1. 字符串与String

GSAP库解决复杂动画

1. 它可以在任何框架上处理页面能够所有通过js改变的元素,不仅可以对div的css属性进行动画,还是SVG、React、Vue、WebGL,甚至和Threejs一起使用。 除了GSAP核心库外,还有很多实用的插件,比如结合ScrollTrigger插件,我们可以实现非常震撼的滚动触发效果;同时也不需要担心响应式的问题,GSAP确保项目响应迅速、高效且流畅。 使用方法  gsap.to

基于Expression Lambda表达式树的通用复杂动态查询构建器——《剧透一下》

前篇《https://www.cnblogs.com/ls0001/p/17437225.html》有大佬在评论里剧透了,这里就来一遍剧透。   通常,前后端分离的系统要在前端查询数据是提交一个带着查询条件参数的表单,比如A=1,B=2,类似样,后端接收到表单需要将这些条件参数拼接成查询需要写代码,并且表单结构通常是不带查询逻辑属性的,只能用and来联接这些条件,给查询的灵活性带来了局限。 本框架

WordCount案例实操

WordCount案例实操 java代码 WordCountMapper类 WordCountReducer类 WordCountDriver类 xml配置文件 resources --> log4j.properties Maven 打包 打开右置Maven --> Lifecycle -->package 等待打包完成 复制项目下target的 MapReduc

ASP.NET Core WebAPI 如何接入 Elastic APM

Elastic APM Elastic APM 的架构由4个部分组成。 使用 docker-compose 安装: 点击查看代码 如何在webApi项目中接入Elastic APM 呢? **步骤 1:安装Elastic APM包 ** 使用NuGet包管理器或者.NET CLI来安装Elastic APM的相关包(Elastic.Apm.AspNetCore) 步骤 2:配置APM代

IntelliJ IDEA安装教程

在安装编译器之前,有些人可能会疑惑是否需要安装Java环境。如果你使用的是 IntelliJ IDEA,那么你不需要手动安装Java环境,因为 IDEA 已经包含了 Java 开发所需的一切。 除了Java环境,你还提到了Git和Maven。同样地,如果你使用的是 IntelliJ IDEA,你也不需要手动安装Git和Maven。IDEA已经集成了这两个工具,使得版本控制和项目构建更加便捷。 这正

Groovy 基于Groovy实现MD5加密

groovy 3.0.7 代码实现 实现方式1 说明:如果在JAVA中运行,则需要修改 为 实现方式2 实现方式3 ===提示文字过少,占位行 ===提示文字过少,占位行 作者:授客 微信/QQ:1033553122 全国软件测试QQ交流群:7156436 Git地址:https:

Netty零拷贝

传统读取IO流的操作 读操作 1、应用程序发起读数据操作,JVM会发起read()系统调用。 2、这时操作系统OS会进行一次上下文切换(把用户空间切换到内核空间) 3、通过磁盘控制器把数据copy到内核缓冲区中,这里的就发生了一次DMA Copy 4、然后内核将数据copy到用户空间的应用缓冲区中,发生了一次CPU Copy 5、read调用返回后,会再进行一次上下文切换(把内核空间切换到用户空间

java笔记

第一天:安装JAVA环境 打开网址:https://www.azul.com/downloads/?version=java-8-lts&os=windows&package=jdk#zulu 选择JDK下载 安装 执行java -version  代表安装完成  执行java程序 输入CMD  编译程序javac   编译完生成

设计模式之模板方法模式

一、简介 模板方法模式是一种行为型设计模式,它定义一个操作(模板方法)的基本组合与控制流程,将一些步骤(抽象方法)推迟到子类中,在使用时调用不同的子类,就可以达到不改变一个操作的基本流程情况下,即可修改其中的某些特定步骤。这种设计方式将特定步骤的具体实现与操作流程分离开来,实现了代码的复用和扩展,从而提高代码质量和可维护性。 模板方法模式包含以下: 抽象类:负责定义模板方法、基本方法、抽象方法。

sa-token的前后端分离中的简单使用

sa-token的前后端分离中的简单使用 sa-token: 一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!极大程度上减少鉴权相关代码的编写,实现注入即用的效果。 官方文档 :https://sa-token.cc/ 详细配置及其学习请在官方文档学习。 引入相关依赖 本次引入的为springboot3中的使用,必须满足jdk>=17,springboot2以及jdk17

JVM性能调优常见工具

JVM性能调优常见工具 jps用来查看进程 jstack用来查看进程内的栈,或者dump jhat查看dump的信息 jstat查看各代的GC信息等 以上都被visualVM所整合了,可以用可视化工具visualVM来分析 jps jps主要用来输出JVM中运行的进程状态信息。语法格式如下: jstack jstack主要用来查看某个Java进程内的线程堆栈信息。语法格式如下: 尝试 可以

<<  <  1189  1190  1191  1192  1193  1194  1195  1196  1197  1198  1199  >  >>