- Cuda编程注意小事项
混元太极马保国
CUDAcudac++
1、函数执行空间标识符用__global__修饰的函数称为核函数,般由主机调用,在设备中执行。如果使用动态并行,则也可以在核函数中调用自己或其他核函数。用__device__修饰的函数称为设备函数,只能被核函数或其他设备函数调用,在设备中执行。用__host__修饰的函数就是主机端的普通C++函数,在主机中被调用,在主机中执行。对于主机端的函数,该修饰符可省略。之所以提供这样一个修饰符,是因为有时
- 记录 | CUDA编程中的 __host__ & __device__ 双重修饰
极智视界
踩坑记录CUDAC++hostdeviceCUDA编程
通过__host__和__device__双重修饰符,可以把函数同时定义在CPU和GPU上,这样CPU和GPU都可以调用比如:#include#include__host____device__voidsay_hello(){printf("Hello,world!\n");}__global__voidkernel(){say_hello();}intmain(){kernel>>();cuda
- 记录 | CUDA编程中 __host__ 标识符可以省略的情况
极智视界
踩坑记录CUDACUDA编程__host__标识符CPU
CUDA完全兼容C++,因此任何函数如果没有指明修饰符,则默认就是__host__,而如果是CPU上的函数,由于本身就是host的,所以__host__是可以省略的。比如:#include#include__device__voidsay_hello(){printf("Hello,worldfromGPU!\n");}__host__voidsay_hello_host(){printf("He
- CUDA简介——For循环并行化
mutourend
基础理论基础理论
1.引言前序博客:CUDA简介——基本概念CUDA简介——编程模式kernel相关语法定义为:kernel函数定义,与常规C函数定义类似。不同之处在于,有__global__关键字。为说明符,告诉编译器该函数应编译运行在device上,由device调用。kernel函数范围类型必须为void:kernel中计算的任何结果都存储在device内存中。传递给kernel操作的变量,必须为refere
- ") from a __global__ function("judgeIsTouche..." target="_blank">CUDA编程出现calling a __host__ function("sqrt ") from a __global__ function("judgeIsTouche...
hTangle
Errorcallinga__host__function("sqrt")froma__global__function("judgeIsTouched")isnotallowedcuda07E:\program\cplus\cuda07\cuda07\kernel.cu255错误的代码如下floatdistanceM=std::sqrt(2)*LENGTH;做出如下更改floatdistance
- CUDA学习笔记1——核函数与线程
阿卡蒂奥
CUDA学习CUDA
CUDA安装并配置环境后,使用VS新建工程时会出现对应选项:CUDA核函数调用CUDA核函数必须用限定词global修饰,返回类型必须为void,二者次序随意。函数名与()之间用三括号>>指明核函数中线程数目与排列情况;cudaDeviceSynchronize()函数用于同步主机与设备;#include#include"cuda_runtime.h"//如何调用cuda核函数__global__
- CUDA学习笔记4——自定义设备函数
阿卡蒂奥
CUDA学习笔记
自定义设备函数核函数:__global__修饰;在设备中执行;设备函数:__device__修饰;在设备中执行;只能被核函数或其他设备函数调用;主机函数:__host__修饰(可省略);在主机中执行;#include#include"cuda_runtime.h"#include"device_launch_parameters.h"#include#include#include#include
- cuda编程 常见面试题
运气好到爆
人工智能
cuda文件编译的流程:CUDA(ComputeUnifiedDeviceArchitecture)文件的编译过程涉及到将CUDAC/C++代码转化为可在NVIDIAGPU上执行的可执行代码。以下是CUDA文件编译的基本流程:源代码编写:首先,您需要编写包含CUDA核函数的源代码文件。CUDA核函数是在GPU上执行的函数,通常在代码中以__global__修饰符来声明。选择目标架构:您需要确定要针
- CUDA学习笔记0929
m0_46521579
CUDA学习笔记
一、GPU缓存和变量作用域1.缓存类型(1)GPU缓存是非可编程存储区域(2)GPU包含4类缓存:L1缓存,每个流处理器一个L2缓存,全部流处理器共享一个L1和L2都可用于存储本地和全局内存中的数据,包括寄存器溢出数据(3)只读常量缓存,每个流处理器一个(4)只读纹理缓存,每个流处理器一个二、静态全局内存传递静态全局内存声明:__device__主机代码不能直接访问静态全局内存为静态全局内存赋值:
- CUDA修饰符,运算符<<<>>>及变量的介绍
命中缺汤
CUDA编程学习cuda函数
1.函数类型限定符:用来确定函数是在CPU还是在GPU上执行,以及这个函数是从CPU调用还是从GPU调用。1.1__device__,表示从GPU上调用,在GPU上执行;也就是说其可以被__global__或者__device__修饰的函数调用。此限定符修饰的函数使用有限制,比如在G80/GT200架构上不能使用递归,不能使用函数指针等。1.2__global__,表示在CPU上调用,在GPU上执
- CUDA Bug<三>当__global__函数出现里面所有输出的数组都随机赋值了
Lsuper11
bug算法c++
问题具体描述:eg.__global__voidUpdata_HomJm(float*H,float*HJm,float*fr,float*gr,float*ur,float*urgrJm,float*wpd,float*w,float*wJm,intn){intidx=blockIdx.x*blockDim.x+threadIdx.x;floatt=0.0;//H*zpintidx_Ai=idx
- 《CUDA C++ Programming Guide》第二章 CUDA 编程模型概述
小鹏AI
CUDAGPU编程语言人工智能深度学习
2.1内核CUDAC++通过允许程序员定义称为kernel的C++函数来扩展C++,当调用内核时,由N个不同的CUDA线程并行执行N次,而不是像常规C++函数那样只执行一次。使用__global__声明说明符定义内核,并使用新的>>执行配置语法指定内核调用的CUDA线程数。每个执行内核的线程都有一个唯一的线程ID,可以通过内置变量在内核中访问。作为说明,以下示例代码使用内置变量threadIdx将
- cuda GPU 写helloworld 程序
咸鱼一大只
CUDAvisualstudioc语言windows
下载好了cuda10.0+vs2017,配置好环境后,写一个helloworld开始测试一下详细代码如下:#include"cuda_runtime.h"#include"device_launch_parameters.h"#include"stdio.h"#include"string.h"#include"stdlib.h"/*修饰符__global__表明这个函数是将会从CPU中调用,在G
- CUDA编程(二):核函数与线程层级
cv-player
CUDA人工智能CUDANVIDIA
核函数与线程层级函数限定CUDA核函数线程层级线程排布blockId和threadId的计算函数限定GPU是异构模型,所以需要区分host和device上的代码,在CUDA中是通过函数类型限定词来区分host和device上的函数,主要的三个函数类型限定词如下:__global__:声明的核函数是在CPU端调用,在GPU里执行。__device__:声明的函数调用和执行都在GPU中。__host_
- cuda编程的规约策略-MINRES算法的进阶优化
Galerkin码农选手
传统数值方法高性能计算算法python开发语言
详细内容可以先参考本人知乎了解细节添加链接描述CUDA编程的常见问题1:Error:CUDAdriverversionisinsufficientforCUDAruntimeversion,这个问题一般是任务在登录节点运行出现的,如果放到计算节点(slurm提交)就会消失。2:__global__开头的函数没有被GPU调用,这种情况可能是slurm文件有问题,比如说没有指定分区gpu(许多人直接拿
- 深度学习部署(十一): CUDA RunTime API 核函数
智障学AI
部署深度学习人工智能
1.核函数的核函数是cuda编程的关键通过xxx.cu创建一个cudac程序文件,并把cu交给nvcc编译,才能识别cuda语法__global__表示为核函数,由host调用。__device__表示为设备函数,由device调用__host__表示为主机函数,由host调用。__shared__表示变量为共享变量host调用核函数:function>>(args…);Stream:流gridD
- cuda从入门到精通(三)之核函数和参数配置
nudt_qxx
并行计算CUDACUDA从入门到精通
本系列博客配备github代码,本小节代码见:https://github.com/qixuxiang/cuda_zero_to_one/blob/master/thread_print.cu这里继续讲上一节cuda从入门到精通(二)之函数关键字的一个遗留问题:__global__修饰函数中的>>到底是什么。CUDA程序的执行流程中,最重要的一步是调用CUDA的核函数来执行并行计算,kernel是
- CUDA C Programming Guide
凉凉zz
本篇文章作为学习CUDA官方文档的学习笔记。CUDACProgrammingGuide1.ProgrammingModel本章介绍了CUDA编程模型背后的主要概念。1.1KernelsCUDAC通过允许程序员定义称为内核的C函数来扩展C,这些函数在被调用时由N个不同的CUDA线程并行执行N次,而不是像常规C函数那样只执行一次。使用__global__声明说明符定义内核,并使用新的>>执行配置语法为
- cuda编程入门笔记
CV科研随想录
cuda编程笔记c++vscodec语言
1.HelloCuda一个基本的hellocuda程序包含以下三个部分:GPU函数前加__global__前缀,且核函数必须为void类型调用GPU函数时指定资源:>>使用同步函数#includevoidcpu(){printf("hellocpu\n");}//1.加上__global__前缀__global__voidgpu(){printf("hellogpu\n");}intmain(){
- CUDA编程之入门
USTC暖暖
CUDA编程CUDA入门CUDA入门笔记
CUDA代码中的函数CUDA程序文件后缀为.cu。一个.cu文件内既包含CPU程序(称为主机程序),也包含GPU程序(称为设备程序)。凡是挂有“__global__”或者“__device__”前缀的函数,都是在GPU上运行的设备程序,不同的是__global__设备程序可被主机程序调用,而__device__设备程序则只能被设备程序调用。没有挂任何前缀的函数,都是主机程序。主机程序显示声明可以用
- CUDA10.0 官方手册 阅读笔记 章二 CUDA编程模型
lvxiangyu11
CUDA并行计算
以下为本人读CUDA10.0的programmingguide的读书笔记,部分为直接翻译重点内容。2.1kernelKernel函数是CUDAC拓展了C,使用户可以通过定义C函数来编写CUDA函数。与只执行一次的C函数不同,如果kernel执行N次,则它会被分配到N个不同的CUDAthread中。kernel通过”__global__”来定义,”>>”来配置并调用kernel。每一个执行kerne
- CUDA+VS2017+win环境下 cuda工程环境搭建(解决标识符未定义或申明)
Lcarus__
CUDA+VS2017+win环境下cuda工程环境搭建引言前提准备(CUDA和VS的安装)VisualStudio配置测试Reference引言在学习CUDA并行计算原理时,在VS下新建了一个CUDA工程,但是对加载函数定义中的一些CUDA标识符无法正常识别。错误如下:__device__错误:该符号未定义这个标识符的作用是声明函数从设备端调用并在设备端执行前提准备(CUDA和VS的安装)Vis
- 学习cuda(1)
冷锋老师
cudagpuc++
参考书籍《GPU高性能编程cuda实战》我们将CPU以及主存称为主机,将GPU以及显存称为设备。来看第一个cuda程序#include__global__voidkernel(){}intmain(){kernel>>();printf("helloworld\n");return0;}和普通的C代码很相似,也有所不同。kernel()函数带有修饰符__global__;主函数中对kernel()
- CUDA11.8编程学习
Meditation-
学习c++开发语言CUDA
__global__用于定义核函数kernel,核函数在GPU上执行,从CPU端通过三重尖括号语法调用,可以有参数,不可以有返回值。有的编译器在三重尖括号处有报错,没有太大的影响,具体为啥会报错,原因不知。//核函数的声明方式__global__voidkernel(){....}intmain(){kernel>>();//核函数调用,在CPU中以三重尖括号的方式调用}__device__用于定
- CUDA----.cpp文件和.cu文件应用区别
进击の攻城狮
CUDA学习c++cuda边缘计算人工智能
(1).cu文件可以定义cuda操作的基本流程,包括:数据由host向device的传输、device进行的运算、数据由device向host的传输,函数定义包括核函数(__global__)、设备函数(__device__)和主机函数(__host__),内存分配和线程块儿分配定义了cuda编程模型的文件必须以.cu文件作为文件名后缀,用nvcc编译形成库或文件(2)定义头文件和库链接.cu文件
- CUDA By Example(三)——CUDA C并行编程
hhhcbw
GPU高性能编程CUDA实战c语言算法c++
前面的章节可以看到把一个标准C函数放到GPU设备上运行是很容易的。只需在函数定义前面加上__global__修饰符,并通过一种特殊的尖括号语法来调用它,就可以在GPU上执行这个函数。但之间的案例是串行执行,是很低效的,下面学习如何启动一个并行执行的设备核函数。文章目录矢量求和运算基于CPU的矢量求和基于GPU的矢量求和绘制Julia集的曲线基于CPU的Julia集基于GPU的Julia集遇到的问题
- CUDA 矩阵乘法优化
tt姐whaosoft
人工智能
这个完全是基础知识啊~~哪不对大佬们帮忙指出啊CUDA矩阵乘法优化手段详解Naive实现的分析:到底差在哪里?笔者面试过不少具有CUDA编程经验的校招同学,当提问使用CUDA编写一个SGEMMKernel的时候,通常会获得这么一个答案:__global__ void matrixMul(const float *A, const float *B, float *C,
- CUDA编程入门
qq_42775938
C++c++
参考:CUDA编程原理1CUDA编程原理2矩阵乘法我们用host指代CPU及其内存,而用device指代GPU及其内存。global:在device上执行,从host中调用(一些特定的GPU也可以从device上调用),返回类型必须是void,不支持可变参数参数,不能成为类成员函数。注意用__global__定义的kernel是异步的,这意味着host不会等待kernel执行完就执行下一步。dev
- 《基于GPU加速的计算机视觉编程》学习笔记(2)
HitStuHan
计算机视觉机器学习tensorflow
《基于GPU加速的计算机视觉编程》学习笔记(2)笔记(1)得到的结论CUDA的开发环境拥有Ubuntu16.04系统linux下查看显卡信息linux下安装CUDA工具包一个基本的CUDAC程序对如上CUDAC程序解释__global__前缀main函数运行在哪里呢?尖括号和数值的意思回看整个函数使用CUDAC进行并行编程配置内核参数CUDAAPI函数笔记(1)得到的结论当时使用的是win10系统
- kernel launch from __device__ or __global__ functions requires separate compilation mode错误解决办法
Alden He
CUDAC++cudavs
cuda基于的环境是win10+cuda10.0+visualstudio2017在编译cuda代码时出现如下错误SeverityCodeDescriptionProjectFileLineSuppressionStateErrorkernellaunchfrom__device__or__global__functionsrequiresseparatecompilationmodeRayTra
- 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