- 使用 `du` 命令可以查看根目录下每个子目录占用的磁盘空间大小
abments
linux常用命令linux
使用du命令可以查看根目录下每个子目录占用的磁盘空间大小。查看根目录下子目录大小的命令sudodu-sh/*解释:du:显示文件和目录的磁盘使用情况。-s:只显示每个目录的总大小(不递归显示子目录)。-h:以人类可读的格式显示大小(如KB、MB、GB)。/*:表示根目录下的所有子目录和文件。输出示例:4.0K/bin12M/boot0/dev1.5G/etc32G/home8.0K/lib...每
- 生成目录结构(tree)
刘小二Start
编辑器
生成目录结构(tree)本操作使用场景:MacOS,Homebrew1.安装(tree)工具brewinstalltree2.Tree操作说明安装完成后,可直接运行:tree,既可自动生成当前目录文件下目录结构。输入treehelp可查看tree项目可操作命令,具体命令结构如下:$tree--helpusage:tree[-adfghilnpqrstuvxACDFNS][-HbaseHREF][-
- gradle linux配置环境变量配置,Mac OS环境变量配置(Android Studio之Gradle)
MatrixMage
gradlelinux配置环境变量配置
以gradle环境变量配置为例:AndroidStudio自带的gradle路径为:/Applications/Android\Studio.app/Contents/gradle/gradle-2.8/bin1.打开终端2.输入:vim~/.bash_profile3.进入编辑模式4.在文本末尾添加如下信息exportGRADLE_HOME=/Applications/Android\Studi
- 一文搞定postgreSQL
m0_74823595
postgresql数据库
一文搞定postgreSQLPostgreSQL全面指南一、什么是PostgreSQL?二、PostgreSQL的核心概念三、安装PostgreSQL1.在Linux上安装(例如Ubuntu)2.在macOS上安装(使用Homebrew)3.在Windows上安装四、基本操作1.启动和停止PostgreSQL服务2.连接到PostgreSQL3.创建数据库和用户4.基本SQL操作五、高级功能1.事
- macOS查看当前项目的 tree 结构
缘友一世
mac折腾记macos
文章目录使用`tree`命令macOS系统默认不包含tree命令使用tree命令使用homebrew自动安装脚本/bin/zsh-c"$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装tree:brewinstalltree查看项目的tree结构:treeyang@MacdeMac-minigradle
- iMac电脑启动ideal跑Java项目报错(Class JavaLaunchHelper is implemented in both...One of the two will be used.)
学习时长两年半的小学生
开发的小坑小洼编辑器java
第一次在iMac上面跑ideal,启动一个main方法出现报错(objc[19374]:ClassJavaLaunchHelperisimplementedinboth/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java(0x10d1cb4c0)and/Library/Java/JavaVirtualMa
- IDEA 报The selected directory is not a valid home for JDK 错误解决办法
padawan75
idea基础使用
选择jdk的安装目录时,报错提示:TheselecteddirectoryisnotavalidhomeforJDK这种情况是怎么回事呢?有三种情况会出现:jdk的最后一级安装目录需要使用jdk1.8.0_xxx这样的格式命名,别问为什么,这个是idea识别的问题安装好jdk后,直接更改目录名称成jdk1.8.0_xxx格式,这样也是不行的,依然会报错可能你安装的jdk只是安装了jre,而非jdk
- flutter鸿蒙版本mvvm架构思想原理
淼学派对
flutter_鸿蒙nextflutterharmonyos架构
目录写在前面1.整体架构概述2.各文件详细讲解2.1.main.dart2.2.CounterViewModel.dart2.3.MyHomePage.dart2.4.Model.dart3.MVVM架构思想分析3.1.分离关注点3.2.数据绑定3.3.可维护性和可测试性写在最后写在前面在Flutter中实现MVVM(Model-View-ViewModel)架构是为了将UI(视图)与业务逻辑(模
- 学习笔记081——如何备份服务器中MySQL数据库数据?
上下求索.
MySQLLinux数据库学习笔记
方法:可以通过编写sh脚本的方式,结合Linux中的crontab定时任务来实现定时备份数据的功能。sh脚本如下:#!/bin/bash#要备份的数据库DB_NAME="wms"#数据库账号DB_USER="root"#数据库密码DB_PASSWORD="123456"#数据备份存放目录BACKUP_DIR="/home/htl/backup"mkdir-p$BACKUP_DIR#备份文件名BAC
- MacOS安装nvm实现多Node版本管理和自由切换
Ceramist
NodeJS
在MacOS上安装nvm(NodeVersionManager)来实现多Node.js版本的管理和自由切换,可以按照以下步骤进行。nvm是一个管理多个Node.js版本的工具,它允许你在不同版本之间自由切换,非常适合需要在不同项目中使用不同Node.js版本的开发者。1.安装Homebrew如果你还没有安装Homebrew,请先安装Homebrew。Homebrew是一个流行的包管理工具,可以方便
- 【赵渝强老师】PostgreSQL的物理存储结构
数据库postgresql
PostgreSQL在执行initdb的数据库集群初始化时会指定一个目录。该目录通过环境变量$PGDATA来表示。当数据库集群初始化完成后,会在这个目录生成相关的子目录以及一些文件。这些生成的文件就是PostgreSQL的物理存储结构中的文件。如下图所示。如上图所示,环境变量$PGDATA指向的目录就是/home/postgres/training/pgsql/data。下表说明了其中的每个目录的
- ./yolov8_det: error while loading shared libraries: libnvinfer.so.8: cannot open shared object file:
小鲁嵌入式开发之路
YOLOlinux运维
tensorrt编译的时候报错动态链接库有问题,直接吧把libnvinfer.so.8所在文件夹下的所有文件全部复制到根目录下:/usr/lib/sudocp-rf/home/lzw/TensorRT-8.6.1.6/targets/x86_64-linux-gnu/lib/*/usr/lib/然后重新建立连接sudoln-sf/home/lzw/TensorRT-8.6.1.6/targets/
- mac python 2.7 升级为python3
做不做代码搬运工
macospython开发语言
在macOS上将Python2.7升级为Python3,可以使用Homebrew来安装和管理Python3。以下是详细步骤:1.安装Homebrew(如果还没有安装)Homebrew是macOS上常用的包管理工具,能方便地安装Python3。在终端中运行以下命令来安装Homebrew:/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/
- Nacos深度剖析:配置及高可用方案全攻略
磐基Stack专业服务团队
NacosNacos
文章目录第1章Nacos服务端配置参数1.1全局参数1.2Naming模块参数1.3Config模块参数1.4CMDB模块参数第2章NacosClient配置参数2.1通用参数2.2Naming客户端2.3Config客户端第3章Nacos单机与集群3.1Nacos端口介绍3.2容器常用属性配置第1章Nacos服务端配置参数对于Server端来说,一般是设置在{nacos.home}/conf/a
- Ubuntu系统备份与恢复
艾曦321
ubuntulinux运维
ubuntu这个系统虽然好用,但是老是出问题,也可能是我自己不懂,乱装软件导致的,所以经常需要重装系统,一重装就需要一下午才能搞定,真的挺痛苦的,所以记录一下ubuntu下的系统备份。为了系统恢复的方便,自己系统的分区为:主分区(/),home分区(/home)。备份前可以先清理一下缓存.#清理旧版本的软件缓存sudoapt-getautoclean#清理所有软件缓存sudoapt-getclea
- 自学[vue+SpringCloud]-002-配置本机java环境
搬砖天才、
vue+springcloudvue.jsspringcloudjava
文章目录前言一、本机电脑java环境配置1.mac电脑1.1安装JDK1.2查找JDK的安装路径1.3配置`JAVA_HOME`环境变量1.4加载配置文件1.5验证配置1.6多JDK版本切换(可选)2.windows电脑2.1安装JDK2.2查找JDK的安装路径2.3配置`JAVA_HOME`环境变量2.3.1设置`JAVA_HOME`2.3.2配置PATH变量2.4验证配置2.5多JDK版本切换
- 海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
web14786210723
java前端springboot
1.首先说了一下为什么要用ISUP协议来取流ISUP主要就是用来解决摄像头没有公网ip的情况,如果摄像头或者所在局域网的路由器有公网ip的话,其实采用rtsp直接取流是最方便也是性能最好的,但是项目的摄像头没有公网IP所以被迫使用ISUP,ISUP是海康自己的协议,海康官网是有对应的DEMO,我主要根据他们的java版本的demo进行改造海康DEMO地址,2.具体实现首先得设置摄像头编码格式H.2
- ubuntu创建普通用户,删除用户,修改用户密码,修改用户名
温柔如酒
linuxubuntuubuntulinux运维
创建用户名为user的用户1.进入root权限账号su2.添加普通用户名useradduser3.设置普通用户密码passwduser4.修改用户登入后所使用的shellusermod-s/bin/bashuser5.设置家目录usermod-d/home/useruser6.创建家目录目录mkdir/home/user7.改变目录拥有者和组,(将/home/user下的所有文件的用户组改成use
- Python电子书教程汇总
iteye_3941
python
From:http://bathome.net/thread-15554-1-1.html[转载教程]Python电子书教程汇总(2012-02-16更新)简明Python教程(AByteofPython)_1.20_中文版pdfhttp://www.rayfile.com/zh-cn/files/6cdcc561-58b2-11e1-ad5e-0015c55db73d/Python语言从入门到精
- 调试Hadoop源代码
一张假钞
hadoopeclipse大数据
个人博客地址:调试Hadoop源代码|一张假钞的真实世界Hadoop版本Hadoop2.7.3调试模式下启动HadoopNameNode在${HADOOP_HOME}/etc/hadoop/hadoop-env.sh中设置NameNode启动的JVM参数,如下:exportHADOOP_NAMENODE_OPTS="-Xdebug-Xrunjdwp:transport=dt_socket,addr
- docker-ubuntu-24.04安装openresty1.21.4.3全过程
司江龙
ubuntulinux运维
拉取最新的ubuntu镜像dockerpullubuntu:latest创建启动容器dockerrun-it--name容器名称-p8082:8082镜像id/bin/bash更换apt-get为阿里云镜像sed-i'
[email protected]/@/mirrors.aliyun.com/@g'/etc/apt/sources.list&&apt-getupdate创建目录cdhome
- 一文搞定postgreSQL
m0_74825172
java
一文搞定postgreSQLPostgreSQL全面指南一、什么是PostgreSQL?二、PostgreSQL的核心概念三、安装PostgreSQL1.在Linux上安装(例如Ubuntu)2.在macOS上安装(使用Homebrew)3.在Windows上安装四、基本操作1.启动和停止PostgreSQL服务2.连接到PostgreSQL3.创建数据库和用户4.基本SQL操作五、高级功能1.事
- 如何在Mac上使用Brew更新Cursor应用程序
熊明才
macos
在这篇博文中,我们将介绍如何在Mac上更新Cursor应用程序,以及一些相关的使用技巧和功能。什么是Cursor?Cursor是一款强大的工具,旨在帮助用户更好地编写、编辑和讨论代码。它结合了AI技术,使得编程过程更加高效和便捷。Cursor不仅支持代码编辑,还可以与团队成员进行实时协作。如何安装Cursor如果你还没有安装Cursor,可以通过以下步骤进行安装:使用Homebrew安装:如果你已
- mac homebrew 安装
小画家~
前端macos
Homebrewhasenabledanonymousaggregateformulaeandcaskanalytics.Readtheanalyticsdocumentation(andhowtoopt-out)here:https://docs.brew.sh/AnalyticsNoanalyticsdatahasbeensentyet.Homebrewisrunentirelybyunpai
- bash监控指定目录下的文件变动并执行相应动作
dangdanding
Bash笔记网络安全bash服务器linux运维
#!/bin/bashdir_to_monitor="/home/sub_dirprev_files=$(ls-A$dir_to_monitor)#echo"prev_files:$prev_files"prev_files_file=$(mktemp)ls-A$dir_to_monitor>$prev_files_filewhiletrue;docurrent_files=$(ls-A$dir_
- Warning logs 2024-01-04
A-ayauakai
WarningLogstomcat服务器
Warning124-Jan-202421:26:31.852WARNING[Catalina-utility-2]org.apache.catalina.webresources.Cache.getResourceUnabletoaddtheresourceat[/WEB-INF/classes/application.xml]tothecacheforwebapplication[/home]
- HarmonyOS(鸿蒙),腾讯面试java
1024创新开发
程序员面试java后端
20],21“actions”:[22“action.system.home”23]24}25],26“orientation”:“unspecified”,27“name”:“com.example.demo.MainAbility”,28“icon”:“$media:icon”,29“description”:“$string:mainability_description”,30“label
- ubuntu grub 没有windows_WIN10/Ubuntu双系统常见问题
weixin_39691968
ubuntugrub没有windowsubuntusystemctl开机时间ubuntu开机启动flaskubuntu不能输入美元符号ubuntu双系统引导梅花
我最初装双系统的时候也遇到了许多问题,基本上别人能遇到的问题我都遇到了,这里整理了我当时的解决方案。(当时的ubuntu版本为16版)当时参考的是这篇安装教程:实用教程:PC实现Win10/Ubuntu双系统-Ubuntu,双系统,Linux-IT之家www.ithome.com1.WIN10重启无法进入BIOS按照教程上的要求制作好了装机U盘,可重启后不论是F2还是F10、F12都试过了,却无法
- No compiler is provided in this environment. Perhaps you are running on a JRE?
大飞NO1
intellij-ideajavaide
mac使用idea在Terminal中执行mvnpagekage提示Nocompilerisprovidedinthisenvironment.PerhapsyouarerunningonaJRE?解决办法:在终端iterm中执行命令:/usr/libexec/java_home-V命令:vim~/.bash_profile添加:exportJAVA_HOME=/Library/Java/Java
- mac安装java17
用户昵称已存在了呢
macos前端
目录1、确保Homebrew已安装。如果没有安装,运行以下命令2、安装OpenJDK173、安装完成后,运行以下命令设置环境变量4、检查一下1、确保Homebrew已安装。如果没有安装,运行以下命令/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2、安装OpenJD
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持