当前位置: 首页 > news >正文

查询Hologres或postgresql中的数据

因Hologres使用postgresql的语法.所以两者查询一样.

方案1:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;/*** 一个使用简单连接池管理PostgreSQL连接的工具类。*/
public class PostgresConnectionUtil {private static final String URL = "jdbc:postgresql://hgprecn-cn-******"; //holo数据库链接地址private static final String USER = "xxxx"; // 数据库登录用户private static final String PASSWORD = "yyyy"; // 数据库用户密码private static final int INITIAL_POOL_SIZE = 10; // 初始化连接数private static final List<Connection> connectionPool = new ArrayList<>(INITIAL_POOL_SIZE);private static final List<Connection> usedConnections = new ArrayList<>();static {try {for (int i = 0; i < INITIAL_POOL_SIZE; i++) {connectionPool.add(createConnection());}} catch (SQLException e) {e.printStackTrace();}}/*** 创建一个新的PostgreSQL数据库连接。** @return 一个新的数据库连接* @throws SQLException 如果发生数据库访问错误*/private static Connection createConnection() throws SQLException {return DriverManager.getConnection(URL, USER, PASSWORD);}/*** 从连接池中获取一个连接。** @return 一个PostgreSQL数据库连接* @throws SQLException 如果发生数据库访问错误*/public static synchronized Connection getConnection() throws SQLException {if (connectionPool.isEmpty()) {connectionPool.add(createConnection());}Connection connection = connectionPool.remove(connectionPool.size() - 1);usedConnections.add(connection);return connection;}/*** 将连接释放回连接池。** @param connection 要释放的连接*/public static synchronized void releaseConnection(Connection connection) {connectionPool.add(connection);usedConnections.remove(connection);}/*** 关闭连接池中的所有连接。*/public static synchronized void closeAllConnections() {for (Connection connection : connectionPool) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}for (Connection connection : usedConnections) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}}/*** 获取可用连接的数量。** @return 可用连接的数量*/public static int getAvailableConnections() {return connectionPool.size();}
}


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class PostgresConnectionExample {public static void main(String[] args) {
//        // 插入操作
//        String insertQuery = "INSERT INTO test_table (name) VALUES (?)";
//        try (Connection connection = PostgresConnectionUtil.getConnection();
//             PreparedStatement preparedStatement = connection.prepareStatement(insertQuery)) {
//
//            preparedStatement.setString(1, "John Doe");
//            int rowsAffected = preparedStatement.executeUpdate();
//            System.out.printf("Inserted %d row(s)%n", rowsAffected);
//
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//
//        // 更新操作
//        String updateQuery = "UPDATE test_table SET name = ? WHERE id = ?";
//        try (Connection connection = PostgresConnectionUtil.getConnection();
//             PreparedStatement preparedStatement = connection.prepareStatement(updateQuery)) {
//
//            preparedStatement.setString(1, "Jane Doe");
//            preparedStatement.setInt(2, 1);
//            int rowsAffected = preparedStatement.executeUpdate();
//            System.out.printf("Updated %d row(s)%n", rowsAffected);
//
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }// 查询操作
//        String selectQuery = "SELECT action_date,company_key FROM t_ads_application_company_persona_erp_trend";String selectQuery = "select * from test_table limit 3";try (Connection connection = PostgresConnectionUtil.getConnection();PreparedStatement preparedStatement = connection.prepareStatement(selectQuery);ResultSet resultSet = preparedStatement.executeQuery()) {while (resultSet.next()) {
//                String actionDate = resultSet.getString("action_date");
//                Long companyKey = resultSet.getLong("company_key");
//                System.out.printf("ID: %d, Name: %s%n", actionDate, companyKey);Long id = resultSet.getLong("id");Long teamId = resultSet.getLong("team_id");System.out.printf("ID: %d, Name: %s%n", id, teamId);}} catch (SQLException e) {e.printStackTrace();}//        // 删除操作
//        String deleteQuery = "DELETE FROM test_table WHERE id = ?";
//        try (Connection connection = PostgresConnectionUtil.getConnection();
//             PreparedStatement preparedStatement = connection.prepareStatement(deleteQuery)) {
//
//            preparedStatement.setInt(1, 1);
//            int rowsAffected = preparedStatement.executeUpdate();
//            System.out.printf("Deleted %d row(s)%n", rowsAffected);
//
//        } catch (SQLException e) {
//            e.printStackTrace();
//        } finally {
//            // 释放连接回连接池
//            PostgresConnectionUtil.closeAllConnections();
//        }}
}

方案2:

import com.hupun.luban.holo.datasource.HoloDataSourceProperty;
import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.lang.reflect.Field;
import java.sql.*;
import java.util.Date;
import java.util.*;

@Component
public class HologresUtils {

    private static final Log logger = LogFactory.getLog(HologresUtils.class);
    private BasicDataSource holoDataSource;

    @Autowired
    private HoloDataSourceProperty holoDataSourceProperty;

    @PostConstruct
    public BasicDataSource initHoloDataSource() {
        if (holoDataSource == null) {
            BasicDataSource ds = new BasicDataSource();
            ds.setUrl(holoDataSourceProperty.getUrl());
            ds.setUsername(holoDataSourceProperty.getUsername());
            ds.setPassword(holoDataSourceProperty.getPassword());            
            ds.setDriverClassName("org.postgresql.Driver");
            ds.setMinIdle(3); // 最小空闲数
            ds.setMaxIdle(5); //最大空闲数
            ds.setMaxOpenPreparedStatements(100);
            ds.setMaxTotal(5); //最大连接数
            ds.setMinEvictableIdleTimeMillis(300000); // 最小空闲时间
            ds.setMaxConnLifetimeMillis(7200000); // 最大空闲时间
            ds.setTimeBetweenEvictionRunsMillis(60000); // 休眠时间
            ds.setRemoveAbandonedOnBorrow(true);
            ds.setRemoveAbandonedTimeout(300);
            ds.setLogAbandoned(true);
            ds.setValidationQuery("SELECT 1");
            ds.setValidationQueryTimeout(2);
            ds.setDefaultQueryTimeout(120); // 默认查询超时时间
            holoDataSource = ds;
        }
        return holoDataSource;
    }

    public BasicDataSource getHoloDataSource() {
        return holoDataSource;
    }

    public void setHoloDataSource(BasicDataSource holoDataSource) {
        this.holoDataSource = holoDataSource;
    }

    public HoloDataSourceProperty getHoloDataSourceProperty() {
        return holoDataSourceProperty;
    }

    public void setHoloDataSourceProperty(HoloDataSourceProperty holoDataSourceProperty) {
        this.holoDataSourceProperty = holoDataSourceProperty;
    }

    /**
     * 查询
     * @param business 业务名称
     * @param sql      查询语句
     * @param clazz    结果类型
     * @param timeout  超时时间
     * @return 结果列表
     */
    public <T> List<T> query(String business, String sql, Class<T> clazz, int timeout) {
        List<T> results = new ArrayList<>();
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            connection = holoDataSource.getConnection();
            statement = connection.createStatement();
            statement.setQueryTimeout(timeout);
            resultSet = statement.executeQuery(sql);

            ResultSetMetaData metaData = resultSet.getMetaData();
            int columnCount = metaData.getColumnCount();

            if (columnCount == 1) {
                results = handleSingleColumnResult(resultSet, metaData, clazz);
            } else {
                results = handleMultiColumnResult(resultSet, clazz);
            }
        } catch (Exception e) {
            logger.error(business + "holo查询异常,sql={"+sql+"}", e);
            cancelQuery(statement);
        } finally {
            closeResources(resultSet, statement, connection);
        }

        return results;
    }

    private <T> List<T> handleSingleColumnResult(ResultSet resultSet, ResultSetMetaData metaData, Class<T> clazz) throws SQLException {
        List<T> results = new ArrayList<>();
        String columnName = metaData.getColumnName(1);

        while (resultSet.next()) {
            Object value = extractValue(resultSet, columnName, clazz);
            @SuppressWarnings("unchecked")
            T castedValue = (T) value;
            results.add(castedValue);
        }
        return results;
    }

    private <T> List<T> handleMultiColumnResult(ResultSet resultSet, Class<T> clazz) throws Exception {
        List<T> results = new ArrayList<>();

        if (Map.class.isAssignableFrom(clazz)) {
            @SuppressWarnings("unchecked")
            List<T> mapResults = (List<T>) queryAsMap(resultSet);
            results.addAll(mapResults);
        } else {
            Field[] fields = clazz.getDeclaredFields();
            Map<String, Field> fieldMap = new HashMap<>();
            for (Field field : fields) {
                fieldMap.put(field.getName(), field);
                field.setAccessible(true);
            }

            while (resultSet.next()) {
                T instance = clazz.getDeclaredConstructor().newInstance();
                for (Map.Entry<String, Field> entry : fieldMap.entrySet()) {
                    String fieldName = entry.getKey();
                    Field field = entry.getValue();
                    Object value = extractValue(resultSet, fieldName, field.getType());
                    field.set(instance, value);
                }
                results.add(instance);
            }
        }
        return results;
    }

    private Object extractValue(ResultSet resultSet, String columnName, Class<?> fieldType) throws SQLException {
        Object value;
        if (fieldType == String.class) {
            value = resultSet.getString(columnName);
        } else if (fieldType == Integer.class || fieldType == int.class) {
            value = resultSet.getInt(columnName);
        } else if (fieldType == Long.class || fieldType == long.class) {
            value = resultSet.getLong(columnName);
        } else if (fieldType == Double.class || fieldType == double.class) {
            value = resultSet.getDouble(columnName);
        } else if (fieldType == Boolean.class || fieldType == boolean.class) {
            value = resultSet.getBoolean(columnName);
        } else if (fieldType == Date.class) {
            value = resultSet.getDate(columnName);
        } else if (fieldType == Timestamp.class) {
            value = resultSet.getTimestamp(columnName);
        } else {
            logger.error("类型不匹配");
            return null;
        }
        return value;
    }

    private void cancelQuery(Statement statement) {
        if (statement != null) {
            try {
                statement.cancel();
            } catch (SQLException e) {
                logger.error("holo取消查询异常,error={"+e.getMessage()+"}");
            }
        }
    }

    private void closeResources(ResultSet resultSet, Statement statement, Connection connection) {
        try {
            if (resultSet != null) {
                resultSet.close();
            }
            if (statement != null) {
                statement.close();
            }
            if (connection != null) {
                connection.close();
            }
        } catch (SQLException ignored) {
        }
    }

    private List<Map<String, Object>> queryAsMap(ResultSet resultSet) throws SQLException {
        List<Map<String, Object>> results = new ArrayList<>();
        ResultSetMetaData metaData = resultSet.getMetaData();
        int columnCount = metaData.getColumnCount();

        while (resultSet.next()) {
            Map<String, Object> row = new HashMap<>();
            for (int i = 1; i <= columnCount; i++) {
                String columnName = metaData.getColumnName(i);
                Object value = resultSet.getObject(i);
                row.put(columnName, value);
            }
            results.add(row);
        }
        return results;
    }
}
 

相关文章:

查询Hologres或postgresql中的数据

因Hologres使用postgresql的语法.所以两者查询一样. 方案1: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;/*** 一个使用简单连接池管理PostgreSQL连接的工具类。*/ publi…...

C# 文件读取

文件读取是指使用 C# 程序从计算机文件系统中获取文件内容的过程。将存储在磁盘上的文件内容加载到内存中&#xff0c;供程序处理。主要类型有&#xff1a;文本文件读取&#xff08;如 .txt, .csv, .json, .xml&#xff09;&#xff1b;二进制文件读取&#xff08;如 .jpg, .pn…...

On the Biology of a Large Language Model——Claude团队的模型理解文章【论文阅读笔记】其一CLT与LLM知识推理

这个学习笔记&#xff0c;是在精读Anthropic的博客 On the Biology of a Large Language Model 的过程中留下的笔记。 由于原文非常长&#xff0c;我会分2-3 个博客来写。 作者的思路 作者对常用的LLM特征解读工具 SAE/Transcoder 进行了优化&#xff0c;增加了跨层连接的能力…...

Postman忘记密码访问官网总是无响应

1.Header Editor插件下载 百度网盘下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1EV6cY7TYQVgPjip3v-vhfQ 提取码&#xff1a;yyds 2.插件配置 下载规则url&#xff1a;https://azurezeng.github.io/static/HE-GoogleRedirect.json ![在这里插入图片描述](htt…...

NEUOJ网格路径

​ 在一个 77 的网格中&#xff0c;从左上方的方格走到左下方的方格&#xff0c;共有 88418 条路径。每条路径对应一个由字符 D&#xff08;向下&#xff09;、U&#xff08;向上&#xff09;、L&#xff08;向左&#xff09;和 R&#xff08;向右&#xff09;组成的 48 字符描…...

深度学习中的黑暗角落:梯度消失与梯度爆炸问题解析

&#x1f4cc; 友情提示&#xff1a; 本文内容由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;创作平台的gpt-4o-mini模型生成&#xff0c;旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证&#xff0c;建议读者通过官方文档或实践进一步确认其准…...

【数字图像处理】机器视觉(1)

判别相对应的点 1. 图像灰度化 2. 局部特征 3. 仿射不变性特征 图像变化的类型 【1】几何变化&#xff1a;旋转、相似&#xff08;旋转 各向相同的尺度缩放&#xff09;、仿射&#xff08;非各向相同的尺度缩放&#xff09; 【2】灰度变化&#xff1a;仿射灰度变化 角点 角…...

# 构建和训练一个简单的CBOW词嵌入模型

构建和训练一个简单的CBOW词嵌入模型 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;词嵌入是一种将词汇映射到连续向量空间的技术&#xff0c;这些向量能够捕捉词汇之间的语义关系。在这篇文章中&#xff0c;我们将构建和训练一个简单的Continuous Bag of Words…...

Ubuntu20.04下GraspNet复现流程中的问题

pytorchcudacudnn的版本问题相对于GraspNet来说至关重要&#xff01;&#xff01;&#xff01;至关重要&#xff01;&#xff01;&#xff01;至关重要&#xff01;&#xff01;&#xff01;&#xff08;重要的事情说三边&#xff09; 我的显卡是3070 那么首先说结论 使用30系…...

【ROS2】机器人操作系统安装到Ubuntu简介

主要参考&#xff1a; https://book.guyuehome.com/ROS2/1.系统架构/1.3_ROS2安装方法/ 官方文档&#xff1a;https://docs.ros.org/en/humble/Installation.html 虚拟机与ubuntu系统安装 略&#xff0c;见参考文档 ubutun换国内源&#xff0c;略 1. 设置本地语言 确保您有…...

从0到1掌握机器学习核心概念:用Python亲手构建你的第一个AI模型(超多代码+可视化)

&#x1f9e0; 一、开始 真正动手实现一个完整的AI项目&#xff01;从数据预处理、特征工程、模型训练&#xff0c;到评估与调优&#xff0c;一步步还原你在动画视频中看到的所有核心知识点。 &#x1f4e6; 二、环境准备 建议使用 Python 3.8&#xff0c;推荐工具&#xff1…...

Java面试题汇总

1王二哥 https://javabetter.cn/sidebar/sanfene/redis.html#_10-redis-%E6%8C%81%E4%B9%85%E5%8C%96%E6%96%B9%E5%BC%8F%E6%9C%89%E5%93%AA%E4%BA%9B-%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB 2.小林 https://www.xiaolincoding.com/redis/data_struct/command.html#…...

Ollama API 应用指南

1. 基础信息 默认地址: http://localhost:11434/api数据格式: application/json支持方法: POST&#xff08;主要&#xff09;、GET&#xff08;部分接口&#xff09; 2. 模型管理 API (1) 列出本地模型 端点: GET /api/tags功能: 获取已下载的模型列表。示例:curl http://lo…...

React SSR + Redux 导致的 Hydration 报错踩坑记录与修复方案

一条“Hydration failed”的错误&#xff0c;让我损失了半天时间 背景 我在用 Next.js App Router Redux 开发一个任务管理应用&#xff0c;一切顺利&#xff0c;直到打开了 SSR&#xff08;服务端渲染&#xff09;&#xff0c;突然看到这个令人头皮发麻的报错&#xff1a; …...

【论文精读】Reformer:高效Transformer如何突破长序列处理瓶颈?

目录 一、引言&#xff1a;当Transformer遇到长序列瓶颈二、核心技术解析&#xff1a;从暴力计算到智能优化1. 局部敏感哈希注意力&#xff08;LSH Attention&#xff09;&#xff1a;用“聚类筛选”替代“全量计算”关键步骤&#xff1a;数学优化&#xff1a; 2. 可逆残差网络…...

iOS18 MSSBrowse闪退

iOS18 MSSBrowse闪退 问题方案结果 问题 最近升级了电脑系统(15.4.1)&#xff0c;并且也升级了xcode(16.3)开发工具。之后打包公司很早之前开发的项目。 上线之后发现在苹果手机系统18以上&#xff0c;出现了闪退问题。 涉及到的是第三方MSSBrowse&#xff0c;在选择图片放大的…...

create_function()漏洞利用

什么是 create_function() create_function() 是 PHP 早期提供的一个用来创建匿名函数的函数&#xff1a; $func create_function($a,$b, return $a $b;); echo $func(1, 2); // 输出 3 第一个参数是函数的参数列表&#xff08;字符串形式&#xff09;&#xff0c;第二个参…...

leetcode-数组

数组 31. 下一个排列 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大…...

Tailwind CSS 实战:基于 Kooboo 构建个人博客页面

在现代 web 开发中&#xff0c;Tailwind CSS 作为一款实用优先的 CSS 框架&#xff0c;能让开发者迅速搭建出具有良好视觉效果的页面&#xff1b;Kooboo 则是一个强大的快速开发平台&#xff0c;提供了便捷的页面管理和数据处理功能。本文将详细介绍如何结合 Tailwind CSS 和 K…...

C#学习1_认识项目/程序结构

一、C#项目文件的构成 1.新建一个项目 2.运行项目 3.认识文件 1&#xff09;解决方案&#xff08;Solution&#xff09;&#xff1a;组织多个项目的容器 抽象理解&#xff1a;餐厅 解决方案.sln文件&#xff0c;点击即可进入VS编辑 2&#xff09;项目&#xff08;…...

边缘计算在工业自动化中的应用:开启智能制造新时代

在工业4.0的浪潮中&#xff0c;智能制造成为推动工业发展的核心驱动力。随着物联网&#xff08;IoT&#xff09;技术的广泛应用&#xff0c;工业设备之间的互联互通变得越来越紧密&#xff0c;但这也带来了数据处理和传输的挑战。边缘计算作为一种新兴技术&#xff0c;通过将计…...

《MySQL:MySQL表的内外连接》

表的连接分为内连接和外连接。 内连接 内连接实际上就是利用where子句对两种表形成的笛卡尔积进行筛选&#xff0c;之前的文章中所用的查询都是内连接&#xff0c;也是开发中使用的最多的连接查询。 select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件&#xff1…...

人工智能催化民航业变革:五大应用案例

航空业正在经历一场前所未有的技术革命&#xff0c;人工智能正成为变革的主要催化剂。从停机坪到航站楼&#xff0c;从维修机库到客户服务中心&#xff0c;人工智能正在从根本上重塑航空公司的运营和服务方式。这种转变并非仅仅停留在理论上——全球主要航空公司已从人工智能投…...

机器视觉中有哪些常见的光学辅助元件及其作用?

在机器视觉领域&#xff0c;光学元件如透镜、反射镜和棱镜扮演着至关重要的角色。它们不仅是高精度图像捕获的基础&#xff0c;也是提升机器视觉系统性能的关键。深入了解这些光学元件的功能和应用&#xff0c;可以帮助我们更好地掌握机器视觉技术的精髓。 透镜&#xff1a;精…...

Stream API 对两个 List 进行去重操作

在 Java 8 及以上版本中&#xff0c;可以使用 Lambda 表达式和 Stream API 对两个 List 进行去重操作。以下是几种常见的去重场景及对应的 Lambda 表达式实现方式&#xff1a; 1. 合并两个 List 并去重 List<String> list1 Arrays.asList("A", "B"…...

lerna 8.x 详细教程

全局安装 lerna npm install lerna -g初始化项目 mkdir lerna-cli-do cd lerna-cli-do npm init -y初始化项目 lerna init --packages="packages/*"lerna create 创建子项目 lerna create core lerna create util...

ROS第十二梯:ros-noetic和Anaconda联合使用

1) 概述 ros-noetic默认Python版本是Python2.7,但在使用过程中,通常需要明确调用python3进行编译。 Anaconda: 支持创建独立的python2/3环境,避免系统库冲突; 方便安装ROS依赖的科学计算库(如Numpy,Pandas)和机器学习框架; 核心目标:在anaconda环…...

网络原理 - 5(TCP - 2 - 三次握手与四次挥手)

目录 3. 连接管理 建立连接 - 三次挥手 三次握手的意义 断开连接 - 四次挥手 握手和挥手的相似和不同之处 连接管理过程中涉及到的 TCP 状态转换 完&#xff01; 3. 连接管理 连接管理分为建立连接 和 断开连接~&#xff08;important 重点&#xff01;&#xff09; 建…...

【开源】STM32HAL库移植Arduino OneWire库驱动DS18B20和MAX31850

项目开源链接 github主页https://github.com/snqx-lqh本项目github地址https://github.com/snqx-lqh/STM32F103C8T6HalDemo作者 VXQinghua-Li7 &#x1f4d6; 欢迎交流 如果开源的代码对你有帮助&#xff0c;希望可以帮我点个赞&#x1f44d;和收藏 项目说明 最近在做一个项目…...

【maven-7.1】POM文件中的属性管理:提升构建灵活性与可维护性

在Maven项目中&#xff0c;POM (Project Object Model) 文件是核心配置文件&#xff0c;而属性管理则是POM中一个强大但常被低估的特性。良好的属性管理可以显著提升项目的可维护性、减少重复配置&#xff0c;并使构建过程更加灵活。本文将深入探讨Maven中的属性管理机制。 1.…...

DC-2寻找Flag1、2、3、4、5,wpscan爆破、git提权

一、信息收集 1、主机探测 arp-scan -l 探测同网段2、端口扫描 nmap -sS -sV 192.168.66.136 80/tcp open http Apache httpd 2.4.10 ((Debian)) 7744/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u7 (protocol 2.0)这里是扫描出来两个端口&#xff0c;80和ssh&…...

数据结构手撕--【栈和队列】

目录 1、栈 2、队列 1、栈 先进后出&#xff08;都在栈顶进行操作&#xff09; 使用数组结构比使用链式结构更优&#xff0c;因为数组在尾上插入数据的代价更小。并且采用动态长度的数组来表示。 定义结构体 #include <stdio.h> #include <stdlib.h> #include &l…...

八大排序——选择排序/堆排序

八大排序——选择排序/堆排序 目录 一、选择排序 二、堆排序 2.1 大顶堆&#xff08;升序&#xff09; 2.1.1 步骤 2.1.2 代码实现 2.2 小顶堆&#xff08;降序&#xff09; 一、选择排序 每一趟从待排序序列中找到其最小值&#xff0c;然后和待排序序列的第一个值进行交换&am…...

【KWDB 创作者计划】_深度学习篇---归一化反归一化

文章目录 前言一、归一化(Normalization)1. 定义2. 常用方法Min-Max归一化Z-Score标准化(虽常称“标准化”,但广义属归一化)小数缩放(Decimal Scaling)3. 作用4. 注意事项二、反归一化(Denormalization)1. 定义2.方法3. 应用场景三、Python示例演示四、归一化 vs. 标准…...

windows端远程控制ubuntu运行脚本程序并转发ubuntu端脚本输出的网页

背景 对于一些只能在ubuntu上运行的脚本&#xff0c;并且这个脚本会在ubuntu上通过网页展示运行结果。我们希望可以使用windows远程操控ubuntu&#xff0c;在windows上查看网页内容。 方法 start cmd.exe /k "sshpass -p passwd ssh namexxx.xxx.xxx.xxx "cd /hom…...

推荐系统(二十四):Embedding层的参数是如何在模型训练过程中学习的?

近来有不少读者私信我关于嵌入层&#xff08;Embedding层&#xff09;参数在模型训练过程中如何学习的问题。虽然之前已经在不少文章介绍过 Embedding&#xff0c;但是为了读者更好地理解&#xff0c;笔者将通过本文详细解读嵌入层&#xff08;Embedding Layer&#xff09;的参…...

【Ubuntu】关于系统分区、挂载点、安装位置的一些基本信息

在ubuntu22及以前的版本中&#xff0c;最好是手动配置分区及其挂载点&#xff0c;通常我们会配置成3/4个分区&#xff1a; 引导区&#xff0c;交换区&#xff0c;根挂载点&#xff0c;home挂载点&#xff08;有时根挂载点和home合二为一&#xff09; 配置各种环境所占用的内存 …...

概率dp总结

概率 DP 用于解决概率问题与期望问题&#xff0c;建议先对 概率 & 期望 的内容有一定了解。一般情况下&#xff0c;解决概率问题需要顺序循环&#xff0c;而解决期望问题使用逆序循环&#xff0c;如果定义的状态转移方程存在后效性问题&#xff0c;还需要用到 高斯消元 来优…...

深入解析:RocketMQ、RabbitMQ和Kafka的区别与使用场景

互联网大厂Java求职者面试&#xff1a;RocketMQ、RabbitMQ和Kafka的深入解析 故事场景&#xff1a;严肃且专业的面试官与架构师程序员马架构 在一家知名的互联网大厂&#xff0c;Java求职者正在接受一场严格的面试。面试官是一位经验丰富的技术专家&#xff0c;他将通过多轮提…...

探秘Transformer系列之(30)--- 投机解码

探秘Transformer系列之&#xff08;30&#xff09;— 投机解码 文章目录 探秘Transformer系列之&#xff08;30&#xff09;--- 投机解码0x00 概述0x01 背景1.1 问题1.2 自回归解码 0x02 定义 & 历史2.1 投机解码2.2 发展历史 0x03 Blockwise Parallel Decoding3.1 动机3.2…...

【CSS】层叠,优先级与继承(三):超详细继承知识点

目录 继承一、什么是继承&#xff1f;2.1 祖先元素2.2 默认继承/默认不继承 二、可继承属性2.1 字体相关属性2.2 文本相关属性2.3 列表相关属性 三、不可继承属性3.1 盒模型相关属性3.2 背景相关属性 四、属性初始值4.1 根元素4.2 属性的初始值4.3 得出结论 五、强制继承5.1 in…...

SpringBoot中6种自定义starter开发方法

在SpringBoot生态中,starter是一种特殊的依赖,它能够自动装配相关组件,简化项目配置。 自定义starter的核心价值在于: • 封装复杂的配置逻辑,实现开箱即用 • 统一技术组件的使用规范,避免"轮子"泛滥 • 提高开发效率,减少重复代码 方法一:基础配置类方式 …...

时间自动填写——电子表格公式的遗憾(DeepSeek)

now()/today()缘源来&#xff0c;人肉值粘胜无依。用函数抓取系统时间&#xff0c;人肉CTRLC“永葆青春”——直接时间数据存储。 笔记模板由python脚本于2025-04-23 23:21:44创建&#xff0c;本篇笔记适合想要研究电子表格日期自动填写的coder翻阅。 【学习的细节是欢悦的历程…...

AUTODL关闭了程序内存依然占满怎么办

AutoDL帮助文档 关闭了程序&#xff0c;使用nvidia-smi查看&#xff0c;内存任然爆满&#xff1a; 执行 ps -ef | grep train | awk {print $2} | xargs kill -9...

Spark集群搭建之Yarn模式

1.把spark安装包复制到你存放安装包的目录下&#xff0c;例如我的是/opt/software cd /opt/software&#xff0c;进入到你存放安装包的目录 然后tar -zxvf 你的spark安装包的完整名字 -C /opt/module&#xff0c;进行解压。例如我的spark完整名字是spark-3.1.1-bin-hadoop3.2.…...

CSS-跟随图片变化的背景色

CSS-跟随图片变化的背景色 获取图片的主要颜色并用于背景渐变需要安装依赖 colorthief获取图片的主要颜色. 并丢给背景注意 getPalette并不是个异步方法 import styles from ./styles.less; import React, { useState } from react; import Colortheif from colorthief;cons…...

一,开发环境安装

环境安装选择的版本如下 Python3.7 Anaconda5.3.1 CUDA 10.0 Pycharm Anaconda安装:下载地址 CUDA 10.0安装,包下载地址...

局部最小实验--用最小成本确保方向正确

### **将「局部最小实验」融入「简单、专注、本分」认知框架的实践方案** 你的核心认知框架是 **「简单、专注、本分」**&#xff0c;而 **「局部最小实验」**&#xff08;MVP思维&#xff09;本质上是一种 **低成本验证、快速迭代** 的方法论。二者看似矛盾&#xff08;简单…...

【网络应用程序设计】实验三:网络聊天室

个人博客&#xff1a;https://alive0103.github.io/ 代码在GitHub&#xff1a;https://github.com/Alive0103/XDU-CS-lab 能点个Star就更好了&#xff0c;欢迎来逛逛哇~❣ 主播写的刚够满足基本功能&#xff0c;多有不足&#xff0c;仅供参考&#xff0c;还请提PR指正&#xff…...

【泊松过程和指数分布】

泊松过程的均值函数与方差函数计算 1. 泊松过程的定义 泊松过程是一个计数过程 { N ( t ) , t ≥ 0 } \{N(t), t \geq 0\} {N(t),t≥0}&#xff0c;满足以下条件&#xff1a; 独立增量&#xff1a;在不相交时间段内事件发生次数相互独立&#xff1b;平稳增量&#xff1a;在时…...