Linux调试器gdb和cgdb的使用【Ubuntu】一、样例代码在介绍如何使用gdb和cgdb之前,先准备一个简单的C程序作为调试示例。假设我们有一个简单的程序example.c,它包含了一个求数组平均值的函数。#include#defineSIZE5doublecalculate_average(intarr[],intsize){intsum=0;for(inti=0;i
【论文笔记ing】Pointerformer: Deep Reinforced Multi-Pointer Transformer for the Traveling Salesman Problem
Booksort
online笔记论文论文阅读transformer深度学习
论文中使用一个PointerFormer模型编码器部分:可逆残差模型堆叠解码器部分:指针网络自回归对于一次任务而言,推理阶段:编码器部分:一次解码器部分:循环N次,直至任务结束在训练阶段,使用强化学习,对于一个N个节点的TSP实例,算法中会以不同的起点,跑N次,得到N个轨迹,以满足TSP的对称特性,表示这都是属于一个TSP问题的(真实)解然后会计算这样表示归一化奖励,得到一个advantage,然
Z-score异常值检测法
吴闹闹(●'◡'●)
人工智能算法
Z-score异常值检测法是一种基于统计学原理的异常值检测技术。它通过计算数据点与数据集平均值的标准化距离来判断该数据点是否为异常值。一、原理Z-score异常值检测法的原理是基于标准正态分布。它通过计算每个数据点与数据集平均值的差距,并将其转换为标准差的倍数,以此来评估数据点的异常程度。在标准正态分布中,大约68%的数据点位于平均值的一个标准差之内,95%的数据点位于两个标准差之内,而99.7%
【深度学习第六期深度学习中的归一化与正则化技术:原理、实践与应用】
码上有前
Python深度学习Pytorch深度学习人工智能cnn
作者:“码上有前”文章简介:深度学习欢迎小伙伴们点赞、收藏⭐、留言深度学习中的归一化与正则化技术:原理、实践与应用摘要:本文深入探讨深度学习中批量归一化(BN)、层归一化(LN)、标准化以及正则化等关键技术。详细阐述它们的基本原理,包括如何调整数据分布、控制模型复杂度等;通过丰富的实例和对应代码,展示在不同网络架构中这些技术的具体实现方式,以及对模型训练和性能的影响;同时,对比分析各项技术的特点和
DAY 8 标签编码与连续变量处理
主要内容:字典的简单介绍标签编码连续特征的处理:归一化和标准化字典字典是Python中一种非常常用的数据结构,它是一种可变容器模型,可以存储任意类型的对象。字典中的每个元素都是一个键值对创建字典#空字典empty_dict={}empty_dict2=dict()#等同于empty_dict={}#带初始值的字典person={'name':'Alice','age':25,'city':'New
数据分析-59-SPC统计过程控制XR图和XS图和IMR图和CPK分析图
皮皮冰燃
数据分析数据分析SPC
文章目录1均值极差图XR1.1适用场景1.2构造步骤1.3代码示例2均值标准差图XS2.1适用场景2.2构造步骤2.3代码示例3IMR图3.1适用场景3.2构造步骤3.3代码示例4CPK分析图4.1CPK计算4.2创建步骤4.3代码示例XR控制图:子样本数量较小。XS控制图:子样本数量较大。IMR图。CPK分析图。1均值极差图XR均值-极差图(X̄-R图,Mean-RangeChart)是统计过程
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
村北头的码农
OpenCVopencv人工智能计算机视觉
操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述OpenCV的CUDA模块(cudev)中的一个设备端内联函数,用于高效地计算两个uint类型值的带权重平均值。该函数返回两个无符号整数a和b的加权平均值,权重为:return(a*3+b)/4;函数原型__device____forceinline__uintc
window显示驱动开发—从 BGR8888 转换为 XR_BIAS
程序员王马
windows图形显示驱动开发xr
例如,从BGR8888类型格式的转换(,DXGI_FORMAT_B8G8R8A8_UNORM)到XR_BIAS是无损的。显式选择比例因子510,用于在BGR8888类型格式与XR_BIAS之间提供完全不可逆的转换,而不会导致比例系数511所暗示的非线性跳跃接近0.5。核心设计原理无损转换条件BGR8888是8位/通道的归一化格式(值范围[0,1],步长1/255)。XR_BIAS的10位精度(范围
机器学习知识点复习 上(保研、复试、面试)百面机器学习笔记
机器学习知识点复习上一、特征工程1.为什么需要对数值类型的特征做归一化?2.文本表示模型3.图像数据不足的处理方法二、模型评估1.常见的评估指标2.ROC曲线3.为什么在一些场景中要使用余弦相似度而不是欧氏距离?4.过拟合和欠拟合三、经典算法1.支持向量机SVM2.逻辑回归3.决策树四、降维1.主成分分析(PrinalComponentsAnalysis,PCA)降维中最经典的方法2.线性判别分析
Python训练营打卡Day8(2025.4.27)
2301_80505456
python算法开发语言
知识点见示例代码字典的简单介绍标签编码连续特征的处理:归一化和标准化至此,常见的预处理方式都说完了作业:对心脏病数据集的特征用上述知识完成,一次性用所有的处理方式完成预处理,尝试手动完成,多敲几遍代码。由于所给数据集已是处理过的数据集,以下将按所给数据集的处理情况对连续特征进行归一化和标准化。首先观察数据,需处理数据共有5列,分别是:age,trestbps,chol,thalach,oldpea
PyTorch笔记3----------统计学相关函数
HuashuiMu花水木
PyTorch笔记pytorch笔记人工智能
1.基础函数importtorcha=torch.rand(2,2)print("a:\n",a)print('########################')print("平均值:\n",torch.mean(a,dim=0))print("总和:\n",torch.sum(a,dim=0))print("所有元素的积:\n",torch.prod(a,dim=0))print("最大值:\
样本量计算:配对样本定量资料——平均值法
今天介绍的是配对样本定量资料采用平均值法的样本量计算。先来看一下案例。一、案例为明确某种新的训练计划是否能显著提高运动员的100米短跑成绩,欲招募一批志愿者,分别记录运动员在进行新训练计划前后的100米短跑成绩(秒)。据早期研究,两配对样本差值的标准差为5秒,若接受新的训练计划前后的100米短跑成绩平均值差为3秒,问至少需要招募多少志愿者?运动员的100米短跑成绩属于连续性数据。经正态性检验,成绩
【机器学习&深度学习】多分类评估策略
一叶千舟
深度学习【理论】深度学习【应用必备常识】大数据人工智能
目录前言一、多分类3大策略✅宏平均(MacroAverage)✅加权平均(WeightedAverage)✅微平均(MicroAverage)二、类比理解2.1宏平均(MacroAverage)2.1.1计算方式2.1.2适合场景2.1.3宏平均不适用的场景2.1.4宏平均一般用在哪些指标上?2.1.5怎么看macroavg指标?2.1.6宏平均值低说明了什么?2.1.7从宏平均指标中定位模型短板
Python 数据分析与可视化 Day 14 - 建模复盘 + 多模型评估对比(逻辑回归 vs 决策树)
蓝婷儿
pythonpython数据分析逻辑回归
✅今日目标回顾整个本周数据分析&建模流程学会训练第二种模型:决策树(DecisionTree)掌握多模型对比评估的方法与实践输出综合对比报告:准确率、精确率、召回率、F1等指标为后续模型调优与扩展打下基础一、本周流程快速回顾步骤内容第1天高级数据操作(索引、透视、变形)第2天缺失值和异常值处理第3天多表合并与连接第4天特征工程(编码、归一化、时间)第5天数据集拆分(训练集/测试集)第6天逻辑回归模
OpenCV教程——图像模糊。均值模糊,高斯模糊,中值模糊,双边模糊,高斯分布
1.图像模糊图像模糊是图像处理中最简单和常用的操作之一。⚠️使用该操作的原因之一是为了给图像预处理时降低噪声。图像模糊操作背后是数学的卷积计算。卷积操作的原理:常用的图像模糊的方法:均值模糊高斯模糊中值模糊双边模糊这四种模糊方式有时也被称为:均值滤波、高斯滤波、中值滤波和双边滤波。因为模糊属于一种滤波操作,具体关系可参照下图:其中,均值滤波、高斯滤波和中值滤波属于线性滤波;而双边滤波属于非线性滤波
机器学习宝典——第6章
爱看烟花的码农
机器学习人工智能
第6章:聚类算法(Clustering)你好,同学!欢迎来到无监督学习的世界。与监督学习不同,这里的我们没有“标准答案”(标签),我们的目标是在数据中发现隐藏的、内在的结构。聚类算法就是实现这一目标的核心工具,它试图将数据集中的样本划分为若干个不相交的子集,我们称之为“簇”(cluster)。本章我们将深入探讨三种最具代表性的聚类算法:K-均值(K-Means)、层次聚类(Hierarchical
典型的几种神经网络
Victor Zhong
AI框架神经网络人工智能深度学习
骨干网络CNN(卷积神经网络)RNN(循环神经网络)三级目录CNN(卷积神经网络)包括输入层、隐藏层、输出层:输入层一般为一张图片(w,h,d),输入层数据一般要做归一化处理;隐藏层包含特有的卷积层(卷积核有权重系数)、池化层(没有权重系数)、全连接层,还有残差块?和Inception模块?。;输出层:RNN(循环神经网络)单向的RNN示意图:三级目录
触屏输入归一化:跨设备手感统一方案
你一身傲骨怎能输
FPS射击游戏高级技术专栏触屏输入归一化
文章摘要触屏输入归一化是为了解决不同设备屏幕尺寸、分辨率差异导致的操作不一致问题。核心流程包括:获取原始触点坐标和移动距离,结合设备DPI计算物理滑动距离,再通过归一化映射到统一标准(如固定参数或[0,1]区间)。实现时需注意DPI默认值、灵敏度调节和分辨率适配。其本质是将物理滑动距离转换为一致的游戏操作参数,确保跨设备操作公平性和手感统一。一、为什么要归一化?不同设备的屏幕尺寸、分辨率、DPI(
数据分析全流程:从收集到可视化的高效实战
晨曦543210
python
1.数据收集来源:数据库、API、传感器、日志文件、社交媒体、问卷调查等。工具:Python(requests、Scrapy)、SQL、Excel、Kafka(实时流数据)。2.数据清洗处理缺失、重复、错误或不一致的数据:缺失值:删除、填充(均值/中位数/众数)、插值或预测。异常值:使用箱线图、Z-score或IQR方法检测并处理。格式标准化:统一日期、单位、文本格式(如大小写、去除空格)。去重:
CHAIN(GAN的一种)训练自己的数据集
这张生成的图像能检测吗
优质GAN模型训练自己的数据集生成对抗网络人工智能神经网络深度学习pytorch算法
简介简介:作者针对数据有限场景下GANs训练中的判别器过拟合问题,提出了CHAIN(Lipschitz连续性约束归一化)方法。作者首先从理论角度分析了GAN泛化误差,发现减少判别器权重梯度范数对提升泛化能力至关重要。然后深入研究了批归一化(BN)在GAN判别器中应用困难的根本原因,通过理论分析证明BN的中心化和缩放步骤会导致梯度爆炸。基于这些发现,CHAIN设计了两个核心模块:用零均值正则化替代中
LeetCode643. 子数组最大平均数 I
题目分析本题要求找出一个长度为k的连续子数组,使其平均值最大。由于平均值由子数组和决定,问题转化为寻找最大子数组和(再除以k)。解题思路滑动窗口技巧:先计算第一个窗口(0到k-1)的元素和。将窗口向右滑动(每次移动一位):减去窗口左侧离开的元素加上窗口右侧新增的元素在滑动过程中记录窗口和的最大值。数学优化:平均值=窗口和/k最大化平均值⇨最大化窗口和最终结果=最大窗口和÷k(注意转换为double
【信号去噪】基于NLM时间序列心电信号去噪附matlab代码
天天Matlab科研工作室
信号处理Matlab各类代码matlab开发语言fpga开发
1简介作为一种信号预处理手段,信号去噪在众多信号处理应用中发挥着重要的作用.到目前为止,信号去噪问题被大量研究,并取得了许多重要成果,涌现出了包括非局部均值(NLM)去噪算法在内的一批优秀的去噪方法.值得一提的是,相比于传统的局部去噪算法,非局部均值去噪算法有着更好的去噪性能和更好的信号细节保留能力.2部分代码function[denoisedSig,debug]=NLM_1dDarbon(sig
暑假算法日记第一天
目标:刷完灵神专题训练算法题单阶段目标:【算法题单】滑动窗口与双指针LeetCode题目:1456.定长子串中元音的最大数目643.子数组最大平均数I1343.大小为K且平均值大于等于阈值的子数组数目2090.半径为k的子数组平均值2379.得到K个黑块的最少涂色次数2841.几乎唯一子数组的最大和其他:今日总结1456.定长子串中元音的最大数目跳转:1456.定长子串中元音的最大数目学习:灵神:
关于信号降噪的一些方法
我不是哆啦A梦
故障诊断人工智能信号处理机器学习算法
在通信系统中传输信号或在接收信号的同时,一些不需要的信号被引入到通信中,使接收机信号变差,从而影响了通信质量,一般称这些干扰称为噪声。从而,可以理解噪声是一些没有模式的信号,其特点是没有恒定的频率或振幅,且随机性强,不能完全消除。常用的信号降噪方法有以下这些:(1)滑动平均法(movingaverage)也叫做移动平均法、移动平均值滤波法等等,是一种时间域思想上的信号光滑方法。算法思路为:将该点附
数字图像处理第二次实验
愚戏师
数字图像处理python图像处理
实验三技术点分析根据实验要求,需要实现以下图像空间域滤波技术:噪声生成:高斯噪声椒盐噪声空间域滤波:均值滤波(3×3,5×5,7×7)中值滤波(3×3,5×5,7×7)最大值滤波最小值滤波图像处理流程:读取原始图像添加噪声(高斯/椒盐)应用各种滤波器可视化对比结果完整示例代码importcv2importnumpyasnpimportmatplotlib.pyplotaspltfrommatplo
关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp超链接文件下载窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
linux上独立安装部署spark
daizj
linux安装spark1.4部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
Java 字节码之解析一
周凡杨
java字节码javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
Spring中事务管理浅谈
aijuans
spring事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
JDK1.5 AtomicLong实例
bijian1013
javathreadjava多线程AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
自定义的RPC的Java实现
bijian1013
javarpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
[硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms事务承认MQacknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
Centos添加硬盘完全教程
dcj3sjt126com
linuxcentoshardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
yii2 restful web服务路由
dcj3sjt126com
PHPyii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
MongoDB查询(4)——游标和分页[八]
eksliang
mongodbMongoDB游标MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
攻城狮送女友的CSS3生日蛋糕
ini
htmlWebhtml5csscss3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcatWebservlet网络应用网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
javaVOHibernatepo
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
java之18天 常用的类(一)
Luob.
MathDateSystemRuntimeRundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在