- 红队内网攻防渗透:内网渗透之内网对抗:隧道技术篇&防火墙组策略&HTTP反向&SSH转发&出网穿透&CrossC2&解决方案
HACKNOE
红队攻防内网渗透研究院web安全系统安全安全
红队内网攻防渗透1.内网隧道技术1.1HTTP隧道搭建内网穿透:(解决目标出站限制做信息收集)1.1.1项目Neo-reGeorg1.1.2HTTP隧道搭建上线C2:(解决目标出站限制上线C2)1.1.3哥斯拉&冰蝎自带http上线1.1.3.1冰蝎1.1.3.2哥斯拉1.1.3.3CS上线http隧道1.1.3.3.1reverse反向连接1.1.3.3.2bind正向连接1.1.3.3.3ht
- Android 架构MVC MVP MVVM+实例
2401_89284222
android架构mvc
1.View接收用户交互请求2.View将请求转交给ViewModel3.ViewModel操作Model数据更新4.Model更新完数据,通知ViewModel数据发生变化5.ViewModel更新View数据View/Model的变动,只要改其中一方,另一方都能够及时更新到MVVM的优点1.提高可维护性。DataBinding可以实现双向的交互,使得视图和控制层之间的耦合程度进一步降低,分离更
- 深入浅出C++ STL:统领STL全局
有梦想的电信狗
《C++语法精粹》——c++stl数据结构算法开发语言idevisualstudio
深入浅出C++STL:统领STL全局深入浅出C++STL:统领STL全局github主页地址前言一、STL的前世今生1.1什么是STL?1.2STL版本演进二、STL六大核心组件详解2.1容器(Containers)容器性能对照表2.2算法(Algorithms)2.3迭代器(Iterators)2.4仿函数(Functors)2.5适配器(Adapters)2.6空间配置器(Allocators
- 机器学习中的梯度下降是什么意思?
yuanpan
机器学习人工智能
梯度下降(GradientDescent)是机器学习中一种常用的优化算法,用于最小化损失函数(LossFunction)。通过迭代调整模型参数,梯度下降帮助模型逐步逼近最优解,从而提升模型的性能。1.核心思想梯度下降的核心思想是利用损失函数的梯度(即导数)来指导参数的更新方向。具体来说:梯度:梯度是损失函数对模型参数的偏导数,表示损失函数在当前参数点上的变化率。下降:通过沿着梯度的反方向(即损失函
- MVVM架构在Android中的DataBinding实现案例
朱佳顺
本文还有配套的精品资源,点击获取简介:本实例展示了如何利用Google官方DataBinding库在Android应用中实现MVVM架构模式。通过DataBinding库,开发者能够简洁地将数据绑定到UI元素,从而提高代码的可读性和可维护性。实例中包括了MVVM架构的核心概念,以及如何使用表达式语言、Observable对象、BindingAdapter、Layout文件和DataBindingU
- zerotier 组网+moon+dns服务器
月落乌啼霜满天@3760
zerotierblog服务器运维
zerotier组网+moon+dns服务器zerotier搭建虚拟局域网整体可以分成三步:zerotier创建网络,各个客户端加入网络。软件下载:Download-ZeroTier国内公网服务器,搭建moon节点。教程:打洞不成功?来试试ZeroTier自建Moon中转吧~|Lufs'sBlog搭建dns服务器(zeronsd)教程:ZeroTier组网:使用zeronsd作为其私有网段DNS_
- 深度学习-服务器训练SparseDrive过程记录
weixin_40826634
深度学习服务器人工智能
1、cuda安装1.1卸载安装失败的cuda参考:https://blog.csdn.net/weixin_40826634/article/details/127493809注意:因为/usr/local/cuda-xx.x/bin/下没有卸载脚本,很可能是apt安装的,所以通过执行下面的命令删除:apt-get--purgeremove"cuda*"apt-getautoremove然后执行f
- 【原创】Linux上普通用户安装、运行nmap功能扫描指定IP地址上的端口
赵庆明老师
Linuxlinuxtcp/ip运维
由于是普通用户,因此权限受限,基本上不用考虑常规途径安装了。加上服务器操作系统可能比较老,如果使用源码编译的话,可能会有一大堆编译错误,且由于权限问题,无法解决。这里我要用到一个工具:nmap,扫描某主机。登录nmap官网https://nmap.org/点击下载https://nmap.org/download.html点击Linux版的nmap,下载rpm安装包下载完后,上载到服务器。使用以下
- Cannl 数据同步-ES篇
小Ti客栈
中间件中间件
Cannl数据同步目录Cannl数据同步一、概述1、简介2、原理3、模块二、配置MySQL1、使用版本使用版本2、环境要求1)操作系统2)MySQL要求三、配置Canal-server1、下载安装2、**修改配置****单机配置****集群配置****分库分表配置**四、配置canal-adapter1.同步ES配置1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步启动4.验证2.注意
- doris:Hudi Catalog
向阳1218
大数据doris
使用限制Hudi表支持的查询类型如下:表类型支持的查询类型CopyOnWriteSnapshotQuery,TimeTravel,IcrementalReadMergeOnReadSnapshotQueries,ReadOptimizedQueries,TimeTravel,IcrementalRead目前支持HiveMetastore和兼容HiveMetastore类型(例如AWSGlue/Al
- 从零基础开始实现一个Spring Boot + Vue 项目的详细步骤指南
软件职业规划
springspringbootvue.js后端
一、准备工作1.开发环境搭建安装JDK(JavaDevelopmentKit):前往Oracle官网(https://www.oracle.com/java/technologies/javase-jdk11-downloads.html,以JDK11为例)下载适合你操作系统的JDK安装包,按照安装向导完成安装。安装完成后,配置系统环境变量,确保在命令行中能通过java-version命令查看到正
- FastAPI教程——并发async/await
雾重烟秋
大语言模型实战fastapi
本文参考FastAPI教程https://fastapi.tiangolo.com/zh/tutorial并发async/await有关路径操作函数的asyncdef语法以及异步代码、并发和并行的一些背景知识。通过asyncdef声明你的路径操作函数:@app.get('/')asyncdefread_results():results=awaitsome_library()returnresul
- ROS2基础——Linux
A_lvvx
ROS2linuxROS2
Ctrl+Alt+T:打开一个新终端1.查看终端目录命令$pwd#查看终端当前目录---/home/lvvx2.切换终端目录到根目录$cd/#从当前进入根目录$pwd---/3.查看当前目录下文件$ls#查看当前目录下文件---bindevhomeliblib64lost+foundmntprocrunsnapsysusrbootectinitlib32libx32mediaoptrootsbin
- vite静态资源压缩-图片压缩
安装插件:pnpmivite-plugin-imagemin-Dvite.config.ts中使用import{defineConfig,loadEnv}from"vite";importvuefrom"@vitejs/plugin-vue";importviteImageminfrom"vite-plugin-imagemin";//省略其它....return{plugins:[vue(),v
- 《Operating System Concepts》阅读笔记:p309-p330
操作系统
《OperatingSystemConcepts》学习第29天,p309-p330总结,总计22页。一、技术总结1.Python中的并发编程(1)semaphoreclassthreading.Semaphore(value=1)。(2)conditionvariableclassthreading.Condition(lock=None)书上使用的是Java,因本人在开发工作中使用的是Pytho
- 2.Nginx常用命令和配置文件
极客奇点
#nginxlinux
1.Nginx常用命令(1)查看nginx版本号:[root@localhostsbin]#./nginx-vnginxversion:nginx/1.20.2[root@localhostsbin]#(2)关闭Nginx命令:[root@localhostsbin]#./nginx-sstop[root@localhostsbin]#ps-ef|grepnginxroot26152053009:
- 【ARM系列】ARM常用汇编指令
阿兹尔猫
ARM系列arm开发汇编
本文目录前言数据传送指令MOV算数运算指令ADD(不带进位加法指令)SUB(不带进位减法指令)MUL(32位乘法指令)比较和跳转指令CMP(直接比较指令)BEQBNQBBL加载-存储指令LDRSTR移位指令LSLLSR系统寄存器访问指令MSRMRS逻辑运算指令AND(逻辑与指令)ORR(逻辑或指令)BIC(位清除指令)UBFXBFI前言在调试芯片启动代码或者分析ARMcore运行流程的过程中,尝尝
- fetch java_拦截Java语言中的Fetch()API响应和请求
就大概是这样
fetchjava
我想拦截Javascript中的提取API请求和响应。例如:在发送请求之前,要拦截请求URL,一旦获得响应,就要拦截响应。以下代码用于拦截所有XMLHTTPRequest的响应。(function(open){XMLHttpRequest.prototype.open=function(XMLHttpRequest){varself=this;this.addEventListener("read
- 【eNSP实战】基本ACL实现网络安全
敲键盘的Q
网络
拓扑图要求:PC3不允许访问其他PC和Server1PC2允许访问Server1服务器,不允许其他PC访问各设备IP配置如图所示,这里不做展示AR1接口vlan配置vlanbatch102030#interfaceVlanif10ipaddress192.168.1.254255.255.255.0#interfaceVlanif20ipaddress192.168.2.254255.255.25
- 【eNSP实战】配置NAPT(含动态NAT)
敲键盘的Q
网络
拓扑图要求:10.0.1.10和10.0.1.11这两个地址给内网计算机做NAPT使用设置地址如图所示AR1接口配置interfaceGigabitEthernet0/0/0ipaddress10.0.1.1255.255.255.0#interfaceGigabitEthernet0/0/1ipaddress192.168.0.1255.255.255.0#iproute-static0.0.0
- 使用git reset --hard FETCH_HEAD后如何恢复
Victoria Zhu
gitjava
今天终于写完了项目,然后创建了gitee仓库想上传备份,结构遇到分支上传拒绝,然后我就去网上寻找解决方法,找了半天我竟然莫名其妙找到了这个命令gitreset--hardFETCH_HEAD,我也没仔细看这串命令就去执行了,结果可想而知,我一个多星期的成果没了。。。要想解决这个问题我们首先得了解gitreset--hardFETCH_HEAD这串命令的作用一、理解FETCH_HEAD的作用FETC
- 【数据结构】数据结构,算法 概念
王_哈_哈 Jw
数据结构(考研知识点)数据结构
0.本篇问题:数据、数据元素、数据对象、数据项之间的基本关系?ADT是什么?数据结构的三要素?数据的逻辑结构有哪些?数据的存储结构有哪些?算法的五个特征?O(1)O(logn)O(n^n)O(n)O(n^2)O(n^3)O(2^n)O(n!)O(nlogn)大小关系?★错题&典型题1.可以用()定义一个完整的数据结构A.数据元素B.数据对象C.数据关系D.抽象数据类型2.以下属于逻辑结构的是()A
- Linux驱动开发IO操作之阻塞与非阻塞
暗夜之眼007
Linux驱动驱动开发
阻塞IO当应用程序通过read读取或write写入设备文件的某些数据时,就会调用驱动程序的read或者write函数,此时可能会遇到没有数据可读或者写满的情况,这时如果驱动程序会进入睡眠,当有数据可读或者可写的时候唤醒再返回,我们称这种操作为阻塞IO。下图是阻塞式IO访问示意图:阻塞IO相关函数init_waitqueue_head函数init_waitqueue_head是Linux内核中用于
- 负载均衡中四层和七层协议区别
LeonNo11
nginx负载均衡运维
https://www.cnblogs.com/liuzhongkun/p/17046936.html在负载均衡(LoadBalancing)中,四层(L4)负载均衡和七层(L7)负载均衡是两种常见的方式,它们的区别主要体现在工作层级、处理方式、功能特性等方面。1.L4(四层)负载均衡基于TCP/UDP传输层的负载均衡协议层:工作在OSI模型的第4层(传输层)。工作方式:主要依据IP地址和端口号进
- 8051汇编--条件转移指令
wperseverance
51单片机51单片机
在8051汇编语言中,控制转移指令用于改变程序的执行顺序,主要包括无条件转移、条件转移和调用/返回指令。以下是对这些指令的总结:一、无条件转移指令LJMP(LongJump)•功能:长转移,可以跳转到同一程序空间中的任何地址。•指令格式:LJMPaddr16,其中addr16是16位的目标地址。•特点:跳转范围大,适用于跨段跳转。•使用场景:当需要跳转到较远的地址时使用。SJMP(ShortJum
- 【eNSP实战】使用ACL实现路由器安全
敲键盘的Q
网络
拓图要求:允许10.0.0.0网段telent登录AR1,不允许其他主机telnet登录路由器设置接口如图所示AR1接口配置interfaceGigabitEthernet0/0/0ipaddress30.0.0.1255.255.255.0#iproute-static0.0.0.00.0.0.030.0.0.2AR2接口配置interfaceGigabitEthernet0/0/0ipaddr
- 零基础小白如何系统学习Spring Boot
Victoria Zhu
学习springboot后端
零基础小白如何系统学习SpringBoot一、学习前的准备1.必备基础知识✅Java基础:掌握Java8+的核心语法(类/对象/集合/异常处理)✅Maven/Gradle:理解依赖管理工具的基本使用(pom.xml配置)✅HTTP协议:了解RESTfulAPI设计理念(GET/POST/PUT/DELETE)环境要求公式环境要求公式环境要求公式推荐配置:JDK≥11,IDE=IntelliJIDE
- 前台实时获取数据
爱吃虾的五花肉
前端ajaxwebsocketjavascript前端
实现网站实时通信·四种方式,第二三四种方式需要服务器端做操作的写计时器进行Ajax轮询//每秒调用一次http请求setInterval(function(){varxhr=newXMLHttpRequest();xhr.open('POST','url',true);xhr.setRequestHeader('Content-Type','application/json');xhr.send(
- argparse.ArgumentParser args AttributeError: ‘Namespace‘ object has no attribute ‘xxx‘
城俊BLOG
Python报错#DL-基础标签
文章目录报错解决参数不需要写全更多要求已经添加了命令参数,但还是报这个错误。报错解决原因可能是参数添加顺序不对。正确的顺序:#先创建parserparser=argparse.ArgumentParser(description='xxx')#再添加参数parser.add_argument('--model',default=
- vue 动态加载插件及插件样式 解决插件样式造成的全局污染问题
看客随心
vue.js前端javascript
1工具方法/***动态加载第三方js.css*@param{*}src路径*@param{*}isCss是否为css文件*/exportfunctionasynLoad(src,isCss=false){returnnewPromise(res=>{if(isCss){letlist=Array.from(document.documentElement.getElementsByTagName(
- ztree设置禁用节点
3213213333332132
JavaScriptztreejsonsetDisabledNodeAjax
ztree设置禁用节点的时候注意,当使用ajax后台请求数据,必须要设置为同步获取数据,否者会获取不到节点对象,导致设置禁用没有效果。
$(function(){
showTree();
setDisabledNode();
});
- JVM patch by Taobao
bookjovi
javaHotSpot
在网上无意中看到淘宝提交的hotspot patch,共四个,有意思,记录一下。
7050685:jsdbproc64.sh has a typo in the package name
7058036:FieldsAllocationStyle=2 does not work in 32-bit VM
7060619:C1 should respect inline and
- 将session存储到数据库中
dcj3sjt126com
sqlPHPsession
CREATE TABLE sessions (
id CHAR(32) NOT NULL,
data TEXT,
last_accessed TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
<?php
/**
* Created by PhpStorm.
* User: michaeldu
* Date
- Vector
171815164
vector
public Vector<CartProduct> delCart(Vector<CartProduct> cart, String id) {
for (int i = 0; i < cart.size(); i++) {
if (cart.get(i).getId().equals(id)) {
cart.remove(i);
- 各连接池配置参数比较
g21121
连接池
排版真心费劲,大家凑合看下吧,见谅~
Druid
DBCP
C3P0
Proxool
数据库用户名称 Username Username User
数据库密码 Password Password Password
驱动名
- [简单]mybatis insert语句添加动态字段
53873039oycg
mybatis
mysql数据库,id自增,配置如下:
<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
parameterType=&
- struts2拦截器配置
云端月影
struts2拦截器
struts2拦截器interceptor的三种配置方法
方法1. 普通配置法
<struts>
<package name="struts2" extends="struts-default">
&
- IE中页面不居中,火狐谷歌等正常
aijuans
IE中页面不居中
问题是首页在火狐、谷歌、所有IE中正常显示,列表页的页面在火狐谷歌中正常,在IE6、7、8中都不中,觉得可能那个地方设置的让IE系列都不认识,仔细查看后发现,列表页中没写HTML模板部分没有添加DTD定义,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3
- String,int,Integer,char 几个类型常见转换
antonyup_2006
htmlsql.net
如何将字串 String 转换成整数 int?
int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成Integer ?
Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ?
1.
- PL/SQL的游标类型
百合不是茶
显示游标(静态游标)隐式游标游标的更新和删除%rowtyperef游标(动态游标)
游标是oracle中的一个结果集,用于存放查询的结果;
PL/SQL中游标的声明;
1,声明游标
2,打开游标(默认是关闭的);
3,提取数据
4,关闭游标
注意的要点:游标必须声明在declare中,使用open打开游标,fetch取游标中的数据,close关闭游标
隐式游标:主要是对DML数据的操作隐
- JUnit4中@AfterClass @BeforeClass @after @before的区别对比
bijian1013
JUnit4单元测试
一.基础知识
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次
- 精通Oracle10编程SQL(12)开发包
bijian1013
oracle数据库plsql
/*
*开发包
*包用于逻辑组合相关的PL/SQL类型(例如TABLE类型和RECORD类型)、PL/SQL项(例如游标和游标变量)和PL/SQL子程序(例如过程和函数)
*/
--包用于逻辑组合相关的PL/SQL类型、项和子程序,它由包规范和包体两部分组成
--建立包规范:包规范实际是包与应用程序之间的接口,它用于定义包的公用组件,包括常量、变量、游标、过程和函数等
--在包规
- 【EhCache二】ehcache.xml配置详解
bit1129
ehcache.xml
在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!
ehcache.xml : http://ehcache.org/ehcache.xml
ehcache.xsd : http://ehcache.org/ehcache.xsd
ehcache配置文件的根元素是ehcahe
ehcac
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
白糖_
javaeclipsespringtomcatWeb
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
随后启动
- angular.element
boyitech
AngularJSAngularJS APIangular.element
angular.element
描述: 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.e
- java-给定两个已排序序列,找出共同的元素。
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommonItemInTwoSortedArray {
/**
* 题目:给定两个已排序序列,找出共同的元素。
* 1.定义两个指针分别指向序列的开始。
* 如果指向的两个元素
- sftp 异常,有遇到的吗?求解
Chen.H
javajcraftauthjschjschexception
com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:460)
at com.jcraft.jsch.Session.connect(Session.java:154)
at cn.vivame.util.ftp.SftpServerAccess.connec
- [生物智能与人工智能]神经元中的电化学结构代表什么?
comsci
人工智能
我这里做一个大胆的猜想,生物神经网络中的神经元中包含着一些化学和类似电路的结构,这些结构通常用来扮演类似我们在拓扑分析系统中的节点嵌入方程一样,使得我们的神经网络产生智能判断的能力,而这些嵌入到节点中的方程同时也扮演着"经验"的角色....
我们可以尝试一下...在某些神经
- 通过LAC和CID获取经纬度信息
dai_lm
laccid
方法1:
用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度
方法2:
发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=&
- JAVA的困难分析
datamachine
java
前段时间转了一篇SQL的文章(http://datamachine.iteye.com/blog/1971896),文章不复杂,但思想深刻,就顺便思考了一下java的不足,当砖头丢出来,希望引点和田玉。
-----------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第二课
dcj3sjt126com
englishword
money 钱
paper 纸
speak 讲,说
tell 告诉
remember 记得,想起
knock 敲,击,打
question 问题
number 数字,号码
learn 学会,学习
street 街道
carry 搬运,携带
send 发送,邮寄,发射
must 必须
light 灯,光线,轻的
front
- linux下面没有tree命令
dcj3sjt126com
linux
centos p安装
yum -y install tree
mac os安装
brew install tree
首先来看tree的用法
tree 中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式
- Map迭代方式,Map迭代,Map循环
蕃薯耀
Map循环Map迭代Map迭代方式
Map迭代方式,Map迭代,Map循环
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年
- Spring Cache注解+Redis
hanqunfeng
spring
Spring3.1 Cache注解
依赖jar包:
<!-- redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
- Guava中针对集合的 filter和过滤功能
jackyrong
filter
在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子:
@Test
public void whenFilterWithIterables_thenFiltered() {
List<String> names = Lists.newArrayList("John"
- 学习编程那点事
lampcy
编程androidPHPhtml5
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
- 架构师之流处理---------bytebuffer的mark,limit和flip
nannan408
ByteBuffer
1.前言。
如题,limit其实就是可以读取的字节长度的意思,flip是清空的意思,mark是标记的意思 。
2.例子.
例子代码:
String str = "helloWorld";
ByteBuffer buff = ByteBuffer.wrap(str.getBytes());
Sy
- org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 1
Everyday都不同
$转义el表达式
最近在做Highcharts的过程中,在写js时,出现了以下异常:
严重: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1,
- 用Java实现发送邮件到163
tntxia
java实现
/*
在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。
本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。
此篇仅介绍用
- 探索实体类存在的真正意义
java小叶檀
POJO
一. 实体类简述
实体类其实就是俗称的POJO,这种类一般不实现特殊框架下的接口,在程序中仅作为数据容器用来持久化存储数据用的
POJO(Plain Old Java Objects)简单的Java对象
它的一般格式就是
public class A{
private String id;
public Str