Java

NCHU-软件学院-232019班-23201125-罗伊鑫-第二次Blog

前言 本次Blog总结三次题目集的7-1题目的知识点、题量、难度等情况,以及写完后的错误总结和自我思考。 1.知识点 三次题目集都对于类的设计的提前规划好有着必要的需求,还有就是对于继承与多态的合理的使用。接着就是对于正则表达式的使用的检测,然后就是要有清晰的逻辑编程表达。 2.题量 总的来说,三次题目集的题量还是充足的,老师所给的时间也是足够的,非常适合检验学生的学习成果。 3.难度 第一个题目

Jessibuca 视频插件Vue2使用

官网: http://jessibuca.com/document.html#window-jessibuca-is-not-a-constructor 使用环境  vue2, 第一步、需要如下三个文件,     第二步、在index.html中引入 jessibuca.js <script src="./jessibuca.js"></scri

uniapp uni-popup弹窗出现禁止底部页面页面滚动

介绍 | uni-app官网 (dcloud.net.cn) <view class="mask" @touchmove.stop.prevent="moveHandle">               <uni-popup ref="popup" type="bottom" @change="pop

安装DBeaver Ultimate Edition

目录准备工作安装配置(Windows)配置(macOS) 准备工作 下载DBeaver UE 官方下载地址:https://dbeaver.com/download/ultimate/ 下载JDK17+ 推荐JDK21,官方下载地址:https://www.oracle.com/java/technologies/downloads/ 一个神奇的jar包 大神开发,懂得都懂,点这里 安装 D

配置逻辑删除

对于一些比较重要的数据,我们往往会采用逻辑删除的方案,即: 在表中添加一个字段标记数据是否被删除 当删除数据时把标记置为true 查询时过滤掉标记为true的数据 一旦采用了逻辑删除,所有的查询和删除逻辑都要跟着变化,非常麻烦。   为了解决这个问题,MybatisPlus就添加了对逻辑删除的支持。 注意,只有MybatisPlus生成的SQL语句才支持自动的逻辑删除,自定义

Spring Boot自动装配bean到IOC容器的实现

前言 Spring Boot能帮助我们Java开发者快速开发基于Spring框架的应用,除了其作为依赖管理好帮手的一众Spring-Boot-Starter之外,其自动装配(Auto Configure)特性也起到了非常重要的作用。那么Spring Boot是如何实现自动装配的呢?本文将结合源码去讲解其原理。 版本信息 spring-boot-autoconfigure-2.7.5.jar

[转]JSON, Protobuf, Thrift和MessagePack的优缺点对比

原文地址:https://www.51cto.com/article/786747.html JSON先说说 JSON,这货读起来挺舒服,用起来也简单。扩展性和兼容性都不错,能在不同语言之间传来传去结构化数据。 但 JSON 也有缺点,比如体积大,影响性能,尤其是高并发的时候。还有就是缺乏命名空间,有时候信息会乱成一团。 总结起来,JSON 是个简单通用的应用协议,用得挺广,开发效率挺高,但性能一

mybatis的pagehelper插件

一、PageHelper框架的介绍: PageHelper比自己用limit的好处在于:不需要自己计算目前需要从第几条开始。只需要传入要查询的数据页码就可以。 使用简单:PageHelper提供了非常简单易用的API,只需要在查询方法中调用PageHelper.startPage方法即可实现分页。 功能强大:PageHelper支持多种数据库,支持多种分页方式,支持自定义分页查询语句等。 性能优

java什么时候声明static方法

声明为static的方法有以下典型使用场景   工具方法(Utility Methods):当你有一个方法不需访问对象状态,即不需要访问类的非静态成员变量,那么这个方法可以声明为static。这样,你无需创建类的实例就可以通过类名直接调用该方法。很多工具类如Math, Arrays, Collections中的方法都是static的。 经常用到的方法,可以声明为static,这样

路过的朋友,欢迎来看看通俗易懂版本的Nacos

​ 一、什么是Nacos? 一个更易于构建云原生应用的动态服务发现、服务配置和服务管理平台。   Nacos的关键特性:   二、注册中心演变及其设计思想 1、RestTemplate调用远程服务 如果此时,服务端接口接口名或参数或请求方式更改了,那么就得同步修改此restTemplate方法,感觉很麻烦。   ​ @SpringBootTest class

JSON类型处理器

数据库的user表中有一个info字段,是JSON类型: 格式像这样: {"age": 20, "intro": "佛系青年", "gender": "male"} 而目前User实体类中却是String类型: 这样一来,我们要读取info中的属性时就非常不方便。如果要方便获取,info的类型最好是一个Map或者实体类。 而一旦我们把info改为对象类型,就需要在写入数据库时手动转为Stri

配置加密

目前我们配置文件中的很多参数都是明文,如果开发人员发生流动,很容易导致敏感信息的泄露。所以MybatisPlus支持配置文件的加密和解密功能。 我们以数据库的用户名和密码为例。 生成秘钥 首先,我们利用AES工具生成一个随机秘钥,然后对用户名、密码加密: package com.itheima.mp; import com.baomidou.mybatisplus.core.toolkit.A

MyBatis操作数据表时自动设置创建时间和更新时间

需求      使用 MyBatis 插入或修改某条记录时,能自动设置数据表里的 create_time 和 update_time 字段,即自动给实体类对象的 createTime 和 updateTime 属性赋值。(如果使用 MyBatis-Plus,该功能很容易实现,现在针对的场景是仅使用 MyBatis) 解决方案 ​    使用AOP的原理,在执行新增或修改前,用反射获取方法的第一

类加载之双亲委派

1、什么是双亲委派? 2、为什么需要双亲委派,不委派有什么问题? 3、"父加载器"和"子加载器"之间的关系是继承的吗? 4、双亲委派是怎么实现的? 5、我能不能主动破坏这种双亲委派机制?怎么破坏? 6、为什么重写loadClass方法可以破坏双亲委派,这个方法和findClass()、defineClass()区别是什么? 7、说一说你知道的双亲委派被破坏的例子吧 8、为什么JND

javaScript高级23_DOM事件1

一、主要内容概述  JavaScript:   1. ECMAScript:   2. BOM:   3. DOM:事件 二、DOM简单学习:为了满足案例要求  1、功能:控制html文档的内容  2、获取页面标签(元素)对象:Element    document.getElementById("id值"):通过元素的id获取元素对象  3、操作Element对象   1. 修改属性值:   

MybatisPlus的分页插件

在未引入分页插件的情况下,MybatisPlus是不支持分页功能的,IService和BaseMapper中的分页方法都无法正常起效。 所以,我们必须配置分页插件。 配置分页插件 在项目中新建一个配置类: 其代码如下: package com.itheima.mp.config; import com.baomidou.mybatisplus.annotation.DbType; impor

(性能测试)--记录一次高可用场景导致CPU资源升高

测试场景:高可用场景--限流测试; 被测交易:查询类交易,HTTP协议; 交易链路:jmeter - web - coimpre(前置服务) -- coimbp -- cobp (coimbp 、coimpre 都会访问同一个数据库); 注:cobp 为合肥机房,其他服务均为北京机房,要注意跨网段存在网络延迟(会导致TPS波动情况); 场景配置:配置coimpre 服务的限流参数; 场景执行:执行

java检测当前CPU负载状态的方法

1.java检测当前CPU负载状态 在Java中,直接检测CPU负载状态并不像在操作系统命令行中那样简单,因为Java标准库并没有直接提供这样的功能。但是,我们可以通过几种方法间接地获取CPU负载信息: (1)使用操作系统命令:我们可以通过执行特定的系统命令(如top、mpstat、uptime等)来获取CPU负载信息,并将这些命令的输出解析为Java程序可以理解的格式。这通常需要使用Runtim

8个实用的Java Streams API

分享8个开箱即用的API,方便日常处理集合。 1. 快速过滤空值:Stream.ofNullable 该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常。 在下面的示例中,有一个包含 null 的List。此时,我们可以使用Stream.ofNullable方法对其进行过滤。 执行上述代码,将输出: 2. 流式迭代:Stream.iterate() S

vue组件(一)

在 Vue 中,组件是构建用户界面的基本单元。 一个 Vue 组件可以包含模板、脚本(用于定义数据、方法等)和样式。它具有以下特点和优势: 封装性:将特定功能和视图封装在一起,便于复用和维护。 独立性:可以独立开发和测试,减少相互影响。 可组合性:多个组件可以组合起来构建复杂的页面。 创建 Vue 组件通常通过定义一个对象来实现,其中包含组件的各种属性,比如 templat

css选择器详解

1.选择器 1.1基本选择器 1、标签选择器:选择一类标签 <head>    <meta charset="UTF-8">    <title>Title</title>    <style>        h1{   &nbs

vue动态组件

动态组件是实现动态切换组件的功能。在 Vue 中,可以使用内置的<component>组件和is属性来实现动态组件的渲染。具体步骤如下: 创建需要切换的组件,如home.vue和news.vue; 在主页面引入home.vue和news.vue组件; 使用<component :is="NextTickName" />来动态切换组件,其中NextTickName是一个变量,

Java读写xml文件

前言 使用dom4j库 java读xml文件 示例代码: rds_blogs

玩客云安装Armbian和部署jdk环境

玩客云安装Armbian和Java SDK的过程可以分为两个独立的部分:首先是安装Armbian系统,其次是在Armbian系统上安装Java SDK。以下是详细的步骤: 一、玩客云安装Armbian系统 准备工作 准备一个可用的玩客云设备。 下载与玩客云设备兼容的Armbian镜像文件。 准备一个USB公对公线和一台运行有刷机工具(如USB Burning Tool)的电脑。 刷机过程 将

java项目部署脚本

一、java项目部署脚本示例 在Java项目中,部署脚本通常依赖于项目的构建工具(如Maven或Gradle)以及部署环境(如Docker、Tomcat、Kubernetes等)。以下是一个基于Maven和Shell脚本的Java项目部署示例,假设我们正在将应用部署到Linux服务器上的Tomcat容器中。 1. 前提条件 Linux服务器已安装Tomcat; 服务器已安装Java环境(JRE或

java中JDBC的实际使用注意事项

连接被自动关闭:connection is close    如果你的jdbc写了这样的代码,就会出现第一次执行完次方法后自动关闭连接: 以下为编译后的class源代码    我的项目中使用连接池,所以连接不必关闭,有连接池做缓存。 可以更改为 try { Connection conn = this.connection; xxxxx

1-3次pta分析

1)前言 本阶段三次题目集涵盖了从基础编程概念到较复杂算法设计等多个知识点。题量适中,难度呈梯度上升,从简单的数据结构与算法实现到复杂的问题求解,逐步挑战学生的编程能力。 第一次题目集主要考察基本语法、数据类型和简单的控制结构;第二次题目集则增加了数组、链表等数据结构的应用;到了第三次题目集,题目则涉及到了正则表达式的实现以及动态规划。整体而言,题目难度逐次递增,既考察了学生对基础知识的掌握,也检

4-6次pta分析

前言: 智能家居是当下家庭中越来越流行的一种配置方案,通过物联网技术将各种设备连接在一起,为家庭提供全方位的智能控制与便利。从音视频设备到照明系统,从窗帘控制到安防系统,智能家居将传统的居住功能与建筑、网络通信及设备自动化相结合,为我们创造了一个智慧、舒适与安全的居住环境。 设计与分析: 智能家居的核心在于物联网技术的应用,通过连接各种设备,我们可以实现远程控制、定时控制、场景模式等多种功能。在智

从零手写实现 nginx-03-nginx 基于 Netty 实现

前言 大家好,我是老马。很高兴遇到你。 我们希望实现最简单的 http 服务信息,可以处理静态文件。 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat netty 相关 如果你对 netty 不是很熟悉,可以读一下 Netty 权威指南-01-BIO 案例 Netty 权威指南-02-NIO 案例 Netty 权威指南-03-

笔记5:TensorDataset、DataLoader及数据集划分

TensorDataset 导入相关包 from torch.utils.data import TensorDataset 特征与标签合并 HRdataset = TensorDataset(X, Y) 模型训练 for epoch in range(epochs): for i in range(num_batch): x, y = HRdataset[i * b

<<  <  357  358  359  360  361  362  363  364  365  366  367  >  >>