- 00. 这里整理了最全的爬虫框架(Java + Python)
有一只柴犬
爬虫系列爬虫javapython
目录1、前言2、什么是网络爬虫3、常见的爬虫框架3.1、java框架3.1.1、WebMagic3.1.2、Jsoup3.1.3、HttpClient3.1.4、Crawler4j3.1.5、HtmlUnit3.1.6、Selenium3.2、Python框架3.2.1、Scrapy3.2.2、BeautifulSoup+Requests3.2.3、Selenium3.2.4、PyQuery3.2
- python-pcl函数_Python简介,第4章-函数
cumei1658
javawebglpythonluaios
python-pcl函数Runningthroughthedoor,Baldricfoundhimselfinanenormouscavern,itsceilinglostinshadow.Greatcolumnsofblackstonesoaredfromtheground,andpoolsoflavabubbledthroughout,lightingthecaverninadarkred.T
- java打印标签(机型TOSHIBA条码打印机B-EX4T)
嘘
JAVAjava
java打印标签实现方式标签效果代码获取更多相关资料实现rfid写入功能实现方式打印机设置网络ipjava获取socket连接,调用TPCL指令标签效果代码packageorg.jeecg.modules.invinfo.util;importorg.jeecg.modules.invinfo.vo.BatKcInventoryDetailVo;importorg.springframework.
- PCL 点云视窗类CloudViewer
LeonDL168
PCL算法计算机视觉人工智能视觉检测图像处理
点云视窗类CloudViewer是简单显示点云的可视化工具类,可以让用户用尽可能少的代码查看点云。注意:点云视窗类不能应用于多线程应用程序中。简单点云可视化如果用户想用几行代码可视化程序中所对应的地物,可以使用下面的代码:#include//...voidfoo(){pcl::PointCloud::Ptrcloud;//...为cloud添加对应的场景pcl::visualization::Cl
- PCL 怎样可视化深度图像
LeonDL168
PCL计算机视觉人工智能视觉检测图像处理算法
本小节讲解如何可视化深度图像的两种方法,在3D视窗中以点云形式进行可视化(深度图像来源于点云),另一种是,将深度值映射为颜色,从而以彩色图像方式可视化深度图像。代码首先,在PCL(PointCloudLearning)中国协助发行的书提供光盘的第7章例2文件夹中,打开名为range_image_visualization.cpp的代码文件,同文件夹下可以找到相关的测试点云文件room_scan1.
- Open3D 实现CSF布料模拟算法
今夕是何年,
单目+双目Open3d计算机视觉
目录一、算法原理二,详细过程三,环境安装四,代码实现五,结果展示6,在cloudcompare中的实现一、算法原理1、流程概述1)利用点云·滤波算法或者点云处理软件滤除异常点;2)将激光雷达点云倒置;3)设置模拟布料,设置布料网格分辨率GR,确定模拟粒子数。布料的位置设置在点云最高点以上;4)将布料模拟点和雷达点投影到水平面,为每个布料模拟点找到最相邻的激光点的高度值,将高度值设置为IHV;5)布
- WPF中图片的宫格显示
Vae_Mars
WPF-AI对话wpf
1.解释说明-使用ScrollViewer控件来达到滑动的效果-使用WrapPanel的自动换行特性,保证图片在占满横向空间后自动往下排布-使用foreach的方法来游历所有的图片url2.xaml代码示例3.cs代码示例//加载url转换成BitmapImageprivateasyncTaskLoadImageFromUrl(stringurl){try{using(HttpClientclie
- C# 网口通信(通过Sockets类)
萨达大
c#服务器网络网口通讯上位机
文章目录1.引入Sockets2.定义TcpClient3.连接网口4.发送数据5.关闭连接1.引入SocketsusingSystem.Net.Sockets;2.定义TcpClientprivateTcpClienttcpClient;//TcpClient实例privateNetworkStreamstream;//网络流,用于与服务器通信3.连接网口tcpClient=newTcpClie
- OkHttp搞定Http请求
头秃到底
文章目录OkHttp依赖包创建OkHttpClient构造UrlHeader头设定Get请求同步Get异步GetPost请求Json内容Form表单文件上传Put请求Json内容参数方式Delete请求OkHttp工具类OkHttp官方文档仓库OkHttp是一款高效的HTTP客户端框架:HTTP/2支持允许对同一主机的所有请求共享一个套接字。连接池可以减少请求延迟(如果HTTP/2不可用)。透明G
- 前端开发需要了解的算法知识
史努比的大头
算法前端
手写深拷贝functiondeepClone(obj){//处理基础数据类型和函数if(obj===null||typeofobj!=='object'){returnobj;}//处理数组if(Array.isArray(obj)){returnobj.map(item=>deepClone(item));}//处理对象constclonedObj={};for(constkeyinobj){i
- tomcat启动报错 Failed to introspect Class [org.mybatis.spring.SqlSessionFactoryBean]
alike_meng
小操作tomcatmybatisspring
java.lang.IllegalStateException:FailedtointrospectClass[org.mybatis.spring.SqlSessionFactoryBean]fromClassLoader[ParallelWebappClassLoaderpom.xml里面的一些依赖不兼容。我之前都是用的最新版的依赖,就报这个错。然后所有依赖都改成了跟教学视频一样的版本就不报错
- App Cleaner & Uninstaller Pro中文---彻底卸载Mac应用的利器
lx53mac
Mac软件macos
AppCleaner&UninstallerPro是一款专为Mac用户设计的强大应用程序清理和卸载工具。它以其全面、彻底和高效的清理能力,受到了广大用户的青睐。该软件不仅能帮助用户快速卸载不再需要的应用程序,更能彻底删除相关文件、插件和残留数据,确保Mac磁盘空间得到高效释放。AppCleaner&UninstallerPro的特色功能包括其强大的搜索能力,能快速定位并清除与应用程序相关的所有文件
- python unittest TypeError setUpClass missing 1 required positional argument cls
Kelly雨薇
python框架
pythonunittest框架使用可以用两种方法:(1)所有内容写在一个python文件里eg:https://blog.csdn.net/panyueke/article/details/85305223(2)function与主框架隔离eg:functions.pydeffun_div(x):returnx/2deffun_add(x):returnx+2deffun_minus(x):re
- android 下载txt,Android 下载文件(使用OKHttp)
weixin_39942492
android下载txt
finallongstartTime=System.currentTimeMillis();OkHttpClientokHttpClient=newOkHttpClient();Requestrequest=newRequest.Builder().url(url).addHeader("Connection","close").build();okHttpClient.newCall(reque
- 接口测试06 -- pytest接口自动化封装&Loggin实战
糯米不开花ぴ
软件测试python进阶python
1.接口关键字封装1.1基本概念接口关键字封装是指:将接口测试过程中常用的操作、验证封装成可复用的关键字(或称为函数、方法),以提高测试代码的可维护性和可复用性。1.2常见的接口关键字封装方式1.发送请求:封装一个函数,接受参数如请求方法、URL、请求头、请求体等,使用相应的库发送请求,如requests库或HttpClient库。---------------->>>>
- 【前端小技巧】不同组件中如何实现点击空白关闭自定义的弹窗
Luxine.
前端分享前端
直接上代码吧处理函数closest的参数是弹窗的类名consthandleClickOutside=(event:MouseEvent)=>{consttarget=event.targetasHTMLElement;if(!target.closest('.popUpClassName')){//控制弹窗显示隐藏的变量ispopup.value=false;}};绑定到document上docu
- Rust使用之【宏】
拐几个弯
RUST笔记rust开发语言后端
一、简单使用clapclap={version="4.5.17",features=["derive"]}其中,什么是features=["derive"]:表示你希望在添加clap依赖时启用derive特性。这通常意味着你希望使用clap的派生(derive)宏功能,这些功能可以简化创建命令行接口的代码。例如,derive特性可以让你使用#[derive(Parser)]来自动生成解析命令行参数
- java后端如何发送http请求
Lzehui
javahttp开发语言
用java后端发送请求需要用到的一个工具包为HttpClient。HttpClient是Apache的一个子项目,是高效的、功能丰富的支持HTTP协议的客户端编程工具包。引入依赖org.apache.httpcomponentshttpclient4.5.13发送GET请求后面附有代码示例第一步:用HttpClients的createDefault()方法,创建httpclient对象,用于后续发
- 探索POSTECH-CVLab的Point Transformer: 重塑3D点云处理的新篇章
尤琦珺Bess
探索POSTECH-CVLab的PointTransformer:重塑3D点云处理的新篇章在计算机视觉和深度学习领域中,3D点云处理是一个至关重要的环节,因为它能够帮助我们理解复杂环境中的三维结构。POSTECH-CVLab开源的PointTransformer项目,为这一领域的研究与应用开辟了新的道路。本文将深入探讨该项目的技术细节、应用场景及其独特优势,引导更多用户了解并使用PointTran
- 栈和帧指针使用方法
greedyhao
反汇编栈帧
这篇主要是围绕SPFPPCLR寄存器进行介绍,不理解的可以一起讨论下,我也是今天才开始学习这些汇编基础知识处理器寄存器被指定为R0、R1等。MOVE指令的源位于左侧,目标位于右侧。伪处理程序中的堆栈从高地址增长到低地址。因此,push会导致堆栈指针的递减。pop会导致堆栈指针的增量。寄存器sp(stackpointer)用于指向堆栈。寄存器fp(framepointer)用作帧指针。帧指针充当被调
- android 网络图片工具类,Android处理网络和图片的工具类详解
weixin_39787594
android网络图片工具类
1:网络的底层环境采用apache的httpClient链接池框架2:图片缓存采用基于LRU的算法3:网络接口采用监听者模式4包含图片的OOM处理(及时回收处理技术的应用)importjava.io.FilterInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.lang.ref.SoftRefere
- 『点云处理任务 』用PCL库 还是 深度学习模型?
爱钓鱼的歪猴
点云深度学习人工智能pcl库
深度学习和PCL库都可以用来做点云处理任务,但是二者侧重点有所不同。1、PCL库(点云库)是一个专门用于点云处理和三维几何分析的开源类库,常用于以下任务:1、点云滤波:用于去除噪音、下采样和平滑等操作,入统计滤波、体素滤波和高斯滤波等。2、特征提取和描述:用于捕获地点云数据的表面特征,入法线估计、曲率计算、局部特征描述子(如FPFH、SHOT)等。3、点云配准:,用于将不同视角或不同时间的点云数据
- Java HttpClient库的使用
m2fox
简介HttpClient是Apache的一个开源库,相比于JDK自带的URLConnection等,使用起来更灵活方便。使用方法可以大致分为如下八步曲:创建一个HttpClient对象;创建一个Http请求对象并设置请求的URL,比如GET请求就创建一个HttpGet对象,POST请求就创建一个HttpPost对象;如果需要可以设置请求对象的请求头参数,也可以往请求对象中添加请求参数;调用Http
- DHCP分配IP地址详细流程讲解(附图,建议PC观看)
冯富江的技术博客
tcp/ip网络协议网络DHCP分配IP地址
目录一、DHCP分配IP地址流程:第一步:DHCPClient请求IP——DHCPClient以广播的方式发出DHCPDiscover报文第二步:server响应——DHCPServer向DHCPClient发送一个DHCPOffer报文第三步:DHCPClient选择IP——DHCPClient会发出一个广播的DHCPRequest报文,在选项字段中会加入选中的DHCPServer的IP地址和需
- TCP——如何用类封装 socket 实现客户端和服务端通信(代码逐行详解)
王十二er
网络编程基础tcp/ip网络服务器
封装socket客户端部分一、完整代码客户端服务器端二、代码解析——客户端1.头文件和命名空间2.ctcpclient类定义构造函数析构函数成员函数总结3.成员函数解析3.1connect函数逐行解析——第一步:创建客户端的socket逐行解析——第2步:向服务器发起连接请求逐行解析——把域名/主机名/字符串格式的IP转换成结构体逐行解析——向服务端发起连接请求3.2send函数3.3recv函数
- c++ pcl 法向量 转机器人欧拉角
冰块啫喱水
机器人算法人工智能
一个向量是无法计算出机器人的姿态的,可以将该法向量作为机器人的z方向向量,然后指定x方向向量,一般为(0,0,-1)用于焊接姿态,具体需要什么姿态调节x的向量即可,然后根据右手定则知道y方向向量,最后调用eulerAngles方法计算出欧拉角,具体代码如下:1,向量转换矩阵Eigen::Matrix4fpclfunction::vectorToMatrix(constEigen::Vector3f
- 移动端网络框架--基于valley实现
Amrecs
androidvalley框架网络框架移动
说明:在开发Android项目时自己写的一个网络连接框架,基于valley框架的使用建立了一个支持多线程的、异步下载的、多数据格式的网络框架valley简介:在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的GoogleI/O2013上,Volley发
- OpenFeign 学习笔记
szc1767
#springcloud学习笔记
目录定义、使用超时控制重试配置配置请求压缩日志打印功能修改默认httpClien(修改为httpclient5)参考:定义、使用是一个声明式的web服务客户端;只需要创建一个Rest接口并在该接口上添加注解@FeignClient即可1、添加依赖org.springframework.cloudspring-cloud-starter-openfeign2、在SpringBoot应用程序的主类上添
- 【springboot进阶】RestTemplate集成okhttp3并自定义日志打印
reui
springboot进阶应用springbootjavaspring
目录一、依赖二、配置创建RestTemplate配置类1.实例化OkHttp3客户端2.实例化RestTemplate模板创建拦截器加入拦截器三、效果传统的java开发中,我们通常使用的连接工具为HttpClient,使用起来比较复杂,新手容易出问题。而spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,以一种更优雅的方式实现远程调用。
- 精通 Spring Cloud Feign:从理论到实战的通信优化之路
TopicOnline
springcloud
一、服务间调用的几种方式使用SpringCloud开发微服务时,在服务消费者调用服务提供者时,底层通过HTTPClient的方式访问。但实际上在服务调用时,有主要以下来实现:使用JDK原生的URLConnection;Apache提供的HTTPClient;Netty提供的异步HTTPClient;Spring提供的RestTemplate。SpringCloud的SpringCloudOpenF
- 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