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

javaSE————网络编程套接字

网络编程套接字~~~~~

好久没更新啦,蓝桥杯爆掉了,从今天开始爆更嗷;

1,网络编程基础

为啥要有网络编程呢,我们进行网络通信就是为了获取丰富的网络资源,说实话真的很神奇,想想我们躺在床上,通过网络,访问到世界上成千上万的人做好的网络资源,我们甚至能看到一辈子都看不到的景色,这些资源本质上都是二进制资源或者是文本资源,我们通过网络可以让很多人来访问,这个就是网络编程,当年的网络就是个看报的,谁能想到发展到这样呢?

网络编程的概念:网络上的主机,通过不同的进程,以编程的方式实现网络通信;

同一个主机下的不同进程实现网络通信也是网络编程;

网络编程的基本概念:

接收端:数据接收端进程,目标主机;

发送端:数据发送端进程,源主机;

收发端:发送接收两端;

请求:请求数据的发送;

响应:响应数据的发送;

就像我们去餐厅点一份蛋炒饭就是请求,厨师给我们拿来蛋炒饭就是回应;

服务端:提供服务的一方,返回服务资源;

客户端:获取服务的一方;


2,Socket套接字

Socket就是套接字,啥是套接字,这名起的,Socket套接字是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本单元,基于Socket套接字的网络程序开发就是网络编程;

Socket套接字主要针对传输层协议划分为三类:

我们这里就学两个核心协议

1,TCP,有连接,可靠传输,面向字节流,全双工;

2,UDP,无连接,不可靠传输,面向数据报,全双工;

这里的有连接和无连接都是抽象的概念,虚拟上的连接;

TCP协议保存了对端的信息,A和B通信,A和B先建立连接,A保存了B的信息,B也保存了A的信息,他们彼此都知道谁与自己建立的连接,而UDP不保存对方的信息;

可靠传输和不可靠传输是什么呢?

网络上,数据的传输是会发生丢包的情况的,可能会受到外界的干扰,那么可靠传输就能避免这样的丢包吗,事实上是不能的,可靠传输只是保证尽可能提高传输成功的概率,如果出现了丢包,也能感知到,不可靠传输的话就是把数据发送之后就不管了,那么这样的话我们就使用可靠传输就好了呀,还要UDP干嘛呢,凡是必有代价,UDP的话速度会更快;

面向字节流和面向数据报呢?

面向字节流:读写数据的时候,以字节为单位;

面向数据报:读写数据的时候,以一个数据报为单位;

全双工和半双工呢?

全双工:一个通信联络,能读也能写;

半双工:只支持单向通信,要么读,要么写;

我们使用Socket api来进行网络编程,我们之前提到计算机中的“文件”有狭义和广义的概念,硬件设备可以抽象成文件,统一管理;电脑上的网卡就是Socket文件;


3,UDP数据报套接字编程

我们先来介绍UDP需要的API:

DatagramSocket

UDP的Socket用于接收和发送UDP数据报;

构造方法:

方法签名方法说明
DatagramSocket()创建一个UDP数据报套接字的Socket,绑定到本机任意一个端口,一般用于客户端
DatagramSocket(int port)创建一个UDP数据报套接字的Socket,绑定到本机指定的端口,一般用于服务端

方法:

方法签名方法说明
void receive(DatagramPacket p)从此套接字接收数据报,如果没有收到数据报就会阻塞等待;
void send(DatagramPacket p)从此套接字发送数据报,不会阻塞等待,直接发送;
void close()关闭此数据报套接字

DatagramPacket

datagramPacket是UDP socket发送和接收的数据报;

构造方法:

方法签名方法说明
DatagramPacket(byte[] bytes, int length)

构造一个DatagramPacket用来接收数据报,接收的数据呢保存在字节数组中,接收指定的长度

DatagramPacket(byte[] bytes, int offset, int length, SocketAddress address)构造一个DatagramPacket用来发送数据报,发送的数据为字节数组,从0开始,到指定长度,address指定制定目的主机的IP和端口号

方法:

方法签名方法说明
InetAddress  getAddress()

从接收的数据报中,获取发送端主机IP;或者从发送的数据报中,获取接收端主机IP;

int getPort()从接收的数据报中,获取接收端主机的端口号;或者从发送的数据报中,或缺发送端主机的端口号;
byte[] getData()获取数据报中的数据; 
getSocketAddress()直接获取到当前数据报的IP和端口号;

 

讲完方法了,我们来模拟一个回显服务器,这里就是模拟,回显服务器就是自问自答;

我们来用UDP模拟一下:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Socket;
import java.net.SocketException;public class UdpEchoServer {private DatagramSocket socket = null;public UdpEchoServer(int port) throws SocketException {socket = new DatagramSocket(port);//指定端口号,让服务器来使用}public void start() throws IOException {//启动服务器while(true){//循环一次,就意味着处理了一次请求//1读取请求并解析DatagramPacket packet = new DatagramPacket(new byte[4090],4090);socket.receive(packet);String request = new String(packet.getData(),0,packet.getLength());//2根据请求计算响应String response = process(request);//3把响应返回给客户端DatagramPacket packet1 = new DatagramPacket(response.getBytes(),response.getBytes().length,packet.getSocketAddress());socket.send(packet1);//4打印日志System.out.printf("[%s:%d] req: %s, resp: %s\n",packet.getAddress().toString(), packet.getPort(), request, response);}}public String process(String request){return request;}public static void main(String[] args) throws IOException {UdpEchoServer udpEchoServer = new UdpEchoServer(9090);udpEchoServer.start();}
}

模拟服务器:难点用注释标注了,看不明白就来私信我! 

接下来实现客户端代码:

import java.io.IOException;
import java.net.*;
import java.util.Scanner;public class UdpEchoClient {private DatagramSocket socket = null;private String SeverIp;private int SeverPort;public UdpEchoClient(String IP,int port) throws SocketException {this.SeverIp = IP;this.SeverPort = port;socket = new DatagramSocket();}public void start() throws IOException {Scanner scanner = new Scanner(System.in);while(true){System.out.println("请输入要发送的内容");while(!scanner.hasNext()){break;}String request = scanner.nextLine();DatagramPacket datagramPacket = new DatagramPacket(request.getBytes(),request.getBytes().length, InetAddress.getByName(SeverIp),SeverPort);socket.send(datagramPacket);DatagramPacket datagramPacket1 = new DatagramPacket(new byte[4090],4090);socket.receive(datagramPacket1);String response = new String(datagramPacket1.getData(),0,datagramPacket1.getLength());System.out.println(response);}}public static void main(String[] args) throws IOException {UdpEchoClient udpEchoClient = new UdpEchoClient("127.0.0.1",9090);udpEchoClient.start();}}

我们把两个代码的都运行下 

客户端

服务器


4,TCP流套接字编程

接下来我们来实现TCP的网络编程,还是先来学习一下方法:

SeverSocket

SeverSocket呢是创建TCP服务端Socket的ApI;

构造方法:

方法签名方法说明
SeverSocket(int port)创建一个服务端流套接字Socket,并绑定到指定端口

方法:

方法签名方法说明
Socket accept()开始监听指定端口(创建时绑定的端口),有客户端连接后,返回一个服务端Socket对象,并基于该Socket建立与客户端的连接,否则阻塞等待;
void close()关闭此套接字;

Socket

socket是客户端Socket,或服务端中接收到客户端建立连接(accept)的请求后,返回的服务端Socket;

构造方法:

方法签名方法说明
Socket(String host,int port)创建一个客户端流套接字Socket,并与对应IP的主机上,对应端口的进程建立连接;

方法:

方法签名方法说明
inerAddress  getInetAddress()返回套接字所连接的地址
inputStream  getInputStream()返回此套接字的输入流
OutputStream  getOutputStream()返回此套接字的输出流

服务端

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class TcpEchoServer {private ServerSocket serverSocket = null;public TcpEchoServer(int port) throws IOException {serverSocket = new ServerSocket(port);}public void start() throws IOException {System.out.println("启动服务器");ExecutorService executorService = Executors.newCachedThreadPool();while(true){Socket socketClient = serverSocket.accept();executorService.submit(()->{try {processConnection(socketClient);} catch (IOException e) {throw new RuntimeException(e);}});}}public void processConnection(Socket socketClient) throws IOException {System.out.println("客户端上线"+ socketClient.getInetAddress()+socketClient.getPort());try(InputStream inputStream = socketClient.getInputStream();OutputStream outputStream = socketClient.getOutputStream()){Scanner scanner = new Scanner(inputStream);PrintWriter printWriter = new PrintWriter(outputStream);while (true){if(!scanner.hasNext()){System.out.println("客户端下线"+ socketClient.getInetAddress()+socketClient.getPort());break;}String request = scanner.nextLine();String response = process(request);printWriter.println(response);printWriter.flush();System.out.printf("[%s:%d] req: %s, resp: %s\n", socketClient.getInetAddress(), socketClient.getPort(),request, response);}}}public String process(String request){return request;}public static void main(String[] args) throws IOException {TcpEchoServer tcpEchoServer = new TcpEchoServer(9090);tcpEchoServer.start();}
}


这里引入线程池来处理多个请求,避免其他请求发来处理不了的情况;

客户端:
 

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;public class TcpEchoClient {private Socket socket = null;public TcpEchoClient(String IP,int port) throws IOException {socket = new Socket(IP,port);}public void start() throws IOException {Scanner scanner = new Scanner(System.in);try(InputStream inputStream = socket.getInputStream();OutputStream outputStream = socket.getOutputStream()){Scanner scanner1 = new Scanner(inputStream);PrintWriter printWriter = new PrintWriter(outputStream);while(true){System.out.println("请输入要发送的信息");String request = scanner.nextLine();printWriter.println(request);printWriter.flush();String response = scanner1.nextLine();System.out.println(response);}}}public static void main(String[] args) throws IOException {TcpEchoClient tcpEchoClient = new TcpEchoClient("127.0.0.1",9090);tcpEchoClient.start();}
}

相关文章:

javaSE————网络编程套接字

网络编程套接字~~~~~ 好久没更新啦,蓝桥杯爆掉了,从今天开始爆更嗷; 1,网络编程基础 为啥要有网络编程呢,我们进行网络通信就是为了获取丰富的网络资源,说实话真的很神奇,想想我们躺在床上&a…...

力扣349 == 两个数组交集的两种解法

目录 解法一:利用 Set 特性高效去重 解法二:双重遍历与 Set 去重 方法对比与总结 关键点总结 题目描述 给定两个整数数组 nums1 和 nums2,要求返回它们的交集。输出结果中的每个元素必须是唯一的,且顺序不限。 示例 输入&…...

笔试专题(十)

文章目录 对称之美(双指针)题解代码 连续子数组最大和(线性dp)题解代码 最长回文子序列(区间dp)题解代码 对称之美(双指针) 题目链接 题解 1. 双指针 2. 用left标记左边的字符串…...

YOLOv12即插即用---RFAConv

1.模块介绍 接受域注意卷积(RFAConv):更聪明地感知空间特征 在传统卷积神经网络中,卷积核参数的共享机制虽有效提升了模型的泛化能力与计算效率,但却忽略了不同空间位置特征在感知范围(即接受域)内的重要性差异。为此,我们提出了一种更具感知能力的模块 —— 接受域注…...

使用datax通过HbaseShell封装writer和reader同步hbase数据到hbase_踩坑_细节总结---大数据之DataX工作笔记008

最近在做大数据相关功能,有个需求,使用datax同步hbase到hbase中,其中还是有很多细节值得记录: 首先来看一下datax的源码中,如果你使用phoenix创建的表,那么 你就需要使用对应的hbase带有sql字样的,reader和writer. 然后如果你使用datax-web来进行测试的,那么,他默认使用的是h…...

Python解决“小D的abc字符变换”问题

小D的“abc”变换问题 问题描述测试样例解题思路代码 问题描述 小D拿到了一个仅由 “abc” 三种字母组成的字符串。她每次操作会对所有字符同时进行以下变换: 将 ‘a’ 变成 ‘bc’ 将 ‘b’ 变成 ‘ca’ 将 ‘c’ 变成 ‘ab’ 小D将重复该操作 k 次。你的任务是输…...

C++学习:六个月从基础到就业——面向对象编程:重载运算符(下)

C学习:六个月从基础到就业——面向对象编程:重载运算符(下) 本文是我C学习之旅系列的第十三篇技术文章,是面向对象编程中运算符重载主题的下篇。本篇文章将继续深入探讨高级运算符重载技术、特殊运算符、常见应用场景和…...

电压模式控制学习

电压模式控制 在开关电源中,大的可分为三大控制模式,分别是电压模式控制,电流模式控制,迟滞模式控制。今天简要介绍下电压模式控制的优缺点。 原理 架构图如下 如图所示,电压模式控制可以分为三部分:误…...

vue3 Ts axios 封装

vue3 Ts axios 封装 axios的封装 import axios, { AxiosError, AxiosInstance, InternalAxiosRequestConfig, AxiosResponse, AxiosRequestConfig, AxiosHeaders } from axios import qs from qs import { config } from ./config import { ElMessage } from element-plus// …...

GPT,Bert类模型对比

以下是对 BERT-base、RoBERTa-base、DeBERTa-base 和 DistilBERT-base 四个模型在参数量、训练数据、GPU 内存占用、性能表现以及优缺点方面的对比: 模型参数量与训练数据 模型参数量训练数据量BERT-base110MBookCorpus(8亿词) 英文维基百科…...

3.Rust + Axum 提取器模式深度剖析

摘要 深入解读 Rust Axum 提取器模式,涵盖内置提取器及自定义实现。 一、引言 在 Rust 的 Web 开发领域,Axum 作为一款轻量级且高效的 Web 框架,为开发者提供了强大的功能。其中,提取器(Extractor)模式…...

Dify vs n8n vs RAGFlow:2025年AI应用与自动化工作流平台的终极对决

我将为大家整理一份关于 Dify、n8n 和 Ragflow 的最新研究分析,涵盖以下六个方面:功能对比、应用场景、架构设计、集成能力、和使用门槛。我会尽可能引用其官方文档、GitHub 仓库以及社区讨论等权威信息来源。 我整理好后会第一时间通知你查看。 1.Dify、n8n 和 RAGFlow 最新…...

ffmpeg无损转格式的命令行

将ffmpeg.exe拖入命令行窗口 c:\users\zhangsan>D:\ffmpeg-2025-03-11\bin\ffmpeg.exe -i happy.mp4 -c:v copy -c:a copy 格式转换后.mkv -c:v copy 仅做拷贝视频,不重新编码 -c:a copy 仅做拷贝音频 ,不重新编码...

Flutter 常用命令

1、创建项目 flutter create <项目名称> 示例&#xff1a; flutter create my_app 1.1 参数说明 --org&#xff1a;设置包名&#xff08;默认 com.example&#xff09; flutter create --org com.yourcompany my_app -a/-i&#xff1a;指定语言&#xff08;Kotlin…...

【零基础】基于DeepSeek-R1与Qwen2.5Max的行业洞察自动化平台

自动生成行业报告,通过调用两个不同的大模型(DeepSeek 和 Qwen),完成从行业趋势分析到结构化报告生成的全过程。 完整代码:https://mp.weixin.qq.com/s/6pHi_aIDBcJKw1U61n1uUg 🧠 1. 整体目的与功能 该脚本实现了一个名为 ReportGenerator 的类,用于: 调用 DeepSe…...

UE5 关卡序列

文章目录 介绍创建一个关卡序列编辑动画添加一个物体编辑动画时间轴显示秒而不是帧时间轴跳转到一个确定的时间时间轴的显示范围更改关键帧的动画插值方式操作多个关键帧 播放动画 介绍 类似于Unity的Animation动画&#xff0c;可以用来录制场景中物体的动画 创建一个关卡序列…...

1.凸包、极点、极边基础概念

目录 1.凸包 2.调色问题 3.极性(Extrem) 4.凸组合(Convex Combination) 5.问题转化(Strategy)​编辑 6.In-Triangle test 7.To-Left-test 8.极边&#xff08;Extream Edges&#xff09; 1.凸包 凸包就是上面蓝色皮筋围出来的范围 这些钉子可以转换到坐标轴中&#xff0…...

MahApps.Metro:专为 WPF 应用程序设计的 UI 框架

推荐一个WPF 应用程序设计的 UI 框架&#xff0c;方便我们快速构建美观、流畅的应用程序。 01 项目简介 MahApps.Metro 是一个开源的 UI 框架&#xff0c;它可以让开发者快速构建现代化、美观的 WPF 应用程序。 提供了一套完整的 UI 组件和主题&#xff0c;支持流畅的动画效…...

【LangChain4j快速入门】5分钟用Java玩转GPT-4o-mini,Spring Boot整合实战!| 附源码

【LangChain4j快速入门】5分钟用Java玩转GPT-4o-mini&#xff0c;Spring Boot整合实战&#xff01; 前言&#xff1a;当Java遇上大模型 在AI浪潮席卷全球的今天&#xff0c;Java开发者如何快速拥抱大语言模型&#xff1f;LangChain4j作为专为Java打造的AI开发框架&#xff0c…...

乐言科技:云原生加速电商行业赋能,云消息队列助力降本 37%

深耕 AI SaaS&#xff0c;助力数万电商客户数智化转型 上海乐言科技股份有限公司&#xff08;以下简称“乐言科技”&#xff0c;官网&#xff1a;https://www.leyantech.com/&#xff09;自 2016 年成立以来&#xff0c;专注于利用自然语言处理和深度学习等核心 AI 技术&#…...

vscode构建简单编译和调试环境

一、设置环境变量‌ 将bin目录路径&#xff08;如D:\DevTools\mingw64\bin&#xff09;加入系统环境变量PATH‌34 ‌二、VS Code插件配置‌ ‌核心插件安装‌ ‌C/C‌&#xff08;微软官方扩展&#xff0c;提供语法高亮、智能提示&#xff09;‌‌Code Runner‌&#xff0…...

STM32控制DRV8825驱动42BYGH34步进电机

最近想玩一下人工智能&#xff0c;然后买了个步进电机想玩一下&#xff0c;刚到了一脸懵逼&#xff0c;发现驱动器20多块&#xff0c;有点超预算&#xff0c;然后整了个驱动板&#xff0c;方便自己画线路板&#xff0c;经过各种搜索&#xff0c;终于转起来了&#xff0c;记录一…...

系统清理专家,一键释放磁盘空间!

打工人们你们好&#xff01;这里是摸鱼 特供版~ 今天给大家带来一款超实用的系统清理工具——Glary Disk Cleaner&#xff0c;帮助你快速清理系统中的垃圾文件&#xff0c;释放磁盘空间&#xff0c;提升系统运行速度&#xff01; 推荐指数&#xff1a;★★★★★ 软件简介 G…...

识别法院PDF文件特定字段并插入数据库【正则表达式+本地化部署】

pdf解析法院协助单特定字段&#xff0c;开源项目&#xff0c;结合若依项目进行开发&#xff0c;不连互联网&#xff0c;本地开发部署&#xff0c;前端使用vue3技术,后端用若依分离版spring botot技术&#xff0c;实现将pdf法院协助执行通知书中的特定字段如&#xff1a;时间、文…...

探索智能体开发新范式:Cangjie Magic深度解析与实践指南

引言&#xff1a;智能体开发的新纪元 2025年3月&#xff0c;仓颉社区开源了基于仓颉编程语言原生构建的LLM Agent开发平台——Cangjie Magic&#xff0c;为智能体开发领域带来了革命性的变革。作为一名长期关注AI技术发展的开发者&#xff0c;我有幸在第一时间体验了这一创新平…...

计算机网络 - UDP协议

通过一些问题来讨论 UDP 协议 什么是 UDP&#xff1f;举几个应用了 UDP 协议的例子UDP 与 TCP 有啥区别&#xff1f;&#xff08;PS&#xff1a;介绍三四个就可以了&#xff0c;不用说太多&#xff09;具体 UDP 是不可靠的&#xff0c;那你觉得如何实现一个可靠的 UDP &#x…...

阿里云ECS访问不了

使用xshell连接阿里云ECS&#xff0c;下载nginx&#xff0c;然后启动 sudo systemctl start nginx 查看状态是 sudo systemctl status nginx 输入公网ip访问实例访问不到&#xff0c;出现 可以查看阿里云实例中的安全组&#xff0c;是否对外开放了80端口和443端口 添加入方向…...

Starrocks添删改查数据(二)

先安装好Starrocks&#xff0c;参考&#xff1a;Starrocks入门&#xff08;二&#xff09;_backend node not found. check if any backend node -CSDN博客 1、建立库 建库成功。 2、建立表 参考&#xff1a;表概览 | StarRocks 执行如下SQL&#xff1a; CREATE TABLE user_…...

RT-Thread学习笔记(一)

RT-Thread学习笔记 AIotMMUCPU架构RT-Thread版本工程创建时钟配置FinSH内核RT-Thread内核启动流程 RT-Thread是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统 全称Real Time Thread AIot AIot&#xff1a; Artificial Intelligence of Things…...

【源码】30个Python小游戏

下载链接&#xff1a;https://github.com/pyGuru123/Python-Games 本站下载链接&#xff1a;【免费】源码30个Python小游戏资源-CSDN文库 包含&#xff1a;飞机大战、愤怒的墙、圆弧冲刺、行星游戏、弹跳的球、汽车避障、洞穴物语、愤怒的小鸟、丛林探险、扫雷、俄罗斯方块、…...

【Web前端技术】第二节—HTML标签(上)

hello&#xff01;好久不见—— 做出一个属于自己的网站&#xff01; 云边有个稻草人-个人主页 Web前端技术—本篇文章所属专栏 目录 一、HTML 语法规范 1.1 基本语法概述 1.2 标签关系 二、HTML 基本结构标签 2.1 第一个 HTML 网页 2.2 基本结构标签总结 三、网页开发…...

Android开发协调布局滑动悬停

Android开发协调布局滑动悬停 直接给个xml&#xff0c;防止下次忘了怎么写。 <?xml version"1.0" encoding"utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android"http://schemas.android.com/apk/res/android…...

R语言简介与下载安装

1.R语言简介与下载安装 R语言其诞生于新西兰奥克兰大学&#xff0c;由Ross Ihaka 和Robert Gentleman开发&#xff0c;属于商业软件S语言的替代品&#xff1b;R语言是一款开源的编程类工具&#xff0c;专门用于数据清洗、整理、统计分析、可视化以及数据挖掘等方面&#xff0c…...

CGAL边折叠edge_collapse的问题

使用edge_collapse对一个模型简化&#xff0c;之后回收垃圾&#xff0c;collect_garbage 处理之前的顶点和三角形数量&#xff1a; number_of_vertices: 955730 number_of_faces: 1903410 num_vertices: 955730 num_faces: 1903410 处理之后的顶点和三角形数量&#xff1a;…...

2025 全球分布式云大会演讲实录 | 沈建发:智启边缘,畅想未来:边缘计算新场景落地与 Al 趋势新畅想

4 月 9 日&#xff0c;2025 全球分布式云大会暨 AI 基础设施大会在深圳成功举办&#xff0c;火山引擎边缘云产品解决方案高级总监沈建发出席并以《智启边缘&#xff0c;畅想未来&#xff1a;边缘计算新场景落地与 Al 趋势新畅想》为主题&#xff0c;分享了边缘计算在 AI 技术趋…...

【ELF2学习板】OpenCL程序测试

目录 引言 OpenCL简介 主要特点 编程模型 应用场景 测试程序 代码说明 构建编译环境 头文件 库文件 程序编译 测试结果 结语 引言 ELF2开发板采用的是RK3588处理器&#xff0c;它是瑞芯微推出的一款高性能 SoC。RK3588 集成了 ARM Mali-G610 MP4 GPU&#xff0c;…...

EtherCAT转ProfiNet边缘计算网关配置优化:汽车制造场景下PLC与机器人协同作业案例

1.行业背景与需求分析 智能汽车焊装车间是汽车制造的核心工艺环节&#xff0c;某德国豪华品牌在其上海MEB工厂新建的焊装车间中&#xff0c;采用西门子S7-1500PLC作为ProfiNet主站&#xff0c;负责整线协调与质量追溯&#xff1b;同时部署KUKAKR1500Titan机器人&#xff08;Eth…...

AI 推理与训练优化的核心理论体系建构及关键技术分析框架

AI 推理与训练优化的核心理论体系建构及关键技术分析框架 一、推理加速的动态系统理论建模与算法设计 &#xff08;一&#xff09;基于MDP的动态计算图理论 生物启发的决策框架&#xff1a;模拟灵长类视觉系统的注意力分配机制&#xff0c;构建马尔可夫决策过程&#xff08;M…...

Jupyter 中 Markdown 邂逅 LaTeX:一场知识的绮梦

引言&#xff1a; 在日常编程和数据分析工作中&#xff0c;我们经常需要记录和分享信息。传统的注释方式功能有限&#xff0c;而富文本编辑器又过于臃肿。Markdown作为一种轻量级标记语言&#xff0c;完美解决了这个问题。 为什么选择Markdown&#xff1f; Markdown具有两大优势…...

AI 对话高效输入指令攻略(二):关于豆包的指令

免责声明&#xff1a;该文章的所有样例只是测试&#xff0c;没有唆使大家利用AI抄袭作业&#xff01;更没有宣传豆包。 前言 没有听不懂话的AI&#xff0c;只有不会调教AI的人。&#xff08;自己瞎说的&#xff09;当你把AI当人看之后&#xff0c;你就会发现&#xff0c;他是多…...

Apache Atlas构建安装(Linux)

一、环境准备 maven 3.6.3python 2.7nodejs 12java 1.8 注意环境一定要对&#xff0c;不然一堆问题 1. python2.7 安装 参考文章&#xff1a;https://blog.csdn.net/weixin_42081389/article/details/101276251 打开链接&#xff1a;https://www.python.org/downloads/sourc…...

【JAVA】在idea新加artifact时,点击Build-Build Artifacts时,新加的artifact不能选中

首先保证添加artifact无问题&#xff0c;比如依赖都正确、无重复命令的情况等 办法 一 File > Invalidate Caches / Restart。 重启IDEA后&#xff0c;重新检查Artifact是否可选 办法 二 打开 Project Structure&#xff08;CtrlShiftAltS&#xff09;。 进入 Artifacts 选…...

【杂谈】-自动驾驶变革:货运革新与机器人出租车崛起

自动驾驶变革&#xff1a;货运革新与机器人出租车崛起 文章目录 自动驾驶变革&#xff1a;货运革新与机器人出租车崛起一、市场主导力量二、机器人出租车的崛起三、货运运输的变革四、商业视角下的分析五、责任归属问题 汽车行业&#xff0c;凭借其在道路状况、车辆性能及整体环…...

吊顶上的灯线怎么预留?是提前到位还是后期随意拉拽?

业主问家里的灯线怎么预留&#xff1f; 问业主灯线指的是主灯还是射灯&#xff1f; 业主说他家里边要做边吊&#xff0c;边吊上边要放一些射灯。 在射灯上方对应的留灯线就可以&#xff0c;不用特别的精确&#xff0c;把线头放的稍微长一点即可。 这位业主又说为什么要这样预留…...

网易游戏 x Apache Doris:湖仓一体架构演进之路

导读&#xff1a;网易游戏引入 Apache Doris 升级架构&#xff0c;先是替换 Elasticsearch、Hbase、Clickhouse 构建了实时数仓&#xff0c;而后基于 Apache Doris 和 Iceberg 构建了湖仓融合架构&#xff0c;实现架构的大幅简化及统一。目前&#xff0c;网易游戏 Apache Doris…...

大模型会不会取代人类工作

大模型是否会取代人类工作&#xff1f; 随着人工智能技术的迅猛发展&#xff0c;尤其是大型语言模型&#xff08;如GPT-4、BERT等&#xff09;的出现&#xff0c;人们开始担忧这些先进的技术是否会在未来取代人类的工作。这种担忧并非空穴来风&#xff0c;历史上每一次技术革命…...

深入理解 Linux 权限管理:从 Shell 到文件权限

&#x1f33c;&#x1f33c; 在 Linux 系统中&#xff0c;权限是保障系统安全与稳定的核心之一。每个操作都可能涉及权限的管理和控制&#xff0c;特别是当你开始以不同用户的身份进行操作时。本文将通过生动的比喻与详细的技术解析&#xff0c;带你一起深入理解 Linux 权限系统…...

.net core 项目快速接入Coze智能体-开箱即用-全局说明

目录 一、Coze智能体的核心价值 二、开箱即用-效果如下 三 流程与交互设计 为什么要分析意图&#xff0c;而不是全部交由AI处理。 四 接入前的准备工作 五&#xff1a;代码实现----字节Coze 签署 JWT和获取Token .net core 项目快速接入Coze智能体-开箱即用 .net core快…...

React 开放封闭原则详解,构建可扩展的应用

开放封闭原则 React 采用了一些面向对象编程的原则和概念&#xff0c;其中之一就是开放封闭原则&#xff08;Open-Closed Principle&#xff0c;OCP&#xff09;&#xff0c;它是面向对象编程的一个基本原则。本文将详细解释开放封闭原则的概念和在 React 中的应用&#xff0c;…...

【并行分布计算】Hadoop完全分布搭建

Hadoop完全分布搭建 1.为了使机器都处于同一个局域网中&#xff0c;先要修改机器的ip地址分配方式为固定ip&#xff0c;并为其固定分配一个ip地址。 [rootlocalhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 问题&#xff1a;修改ip地址后&#xff0c;网络无法正常…...