- iOS内存管理简单理解
烧烤有点辣
什么是引用计数引用计数(ReferenceCount)是一个简单而有效的管理对象生命周期的方式。当我们创建一个新对象的时候,它的引用计数为1,当有一个新的指针指向这个对象时,我们将其引用计数加1,当某个指针不再指向这个对象是,我们将其引用计数减1,当对象的引用计数变为0时,说明这个对象不再被任何指针指向了,这个时候我们就可以将对象销毁,回收内存。由于引用计数简单有效,除了Objective-C和S
- ruby和python哪个好学
hakesashou
python基础知识rubypython开发语言
Ruby和python都挺好学的。建议学习Python,语法的话,Python相对更简洁。而且Python应用场合更广泛,运维、网站开发、数据处理、科学研究都可以。Ruby和Python十分相似,有很多共同点,但也有一些不同之外,以下是Python和Ruby的对比:1、Python和Ruby都是面向对象的语言,都是动态和灵活的。二者的主要区别在于他们解决问题的方式。Ruby提供了不同的方法,而Py
- webstorm报错TypeError: this.cliEngine is not a constructor
Blue_Color
点击Details在控制台会显示报错的位置TypeError:this.cliEngineisnotaconstructoratESLintPlugin.invokeESLint(/Applications/RubyMine.app/Contents/plugins/JavaScriptLanguage/languageService/eslint/bin/eslint-plugin.js:97:
- 2017.11.23打卡计划
爱跑步的coder
11.23打卡做完calculus_oneweek2的作业(暂时不学这个了,意义不大),并尽量将内容代码化。(已用python和ruby的匿名函数来表示)11.24打卡明晚学习中国人文文化导读第一周的课程。
- swift和python语法区别_Swift 基本语法
碧色将逝
Swift基本语法在上一章节中我们已经讲到如何创建Swift语言的"Hello,World!"程序。现在我们来复习下。如果创建的是OSXplayground需要引入Cocoa:importCocoa/*我的第一个Swift程序*/varmyString="Hello,World!"print(myString)如果我们想创建iOSplayground则需要引入UIKit:importUIKitva
- 端到端的自动驾驶论文与代码整理
大别山伧父
自动驾驶
LearningbyCheatinggithubcodearxivpaperconferenceonrobotlearning最新进展(May2021)Checkoutourlatestfollow-upwork:WorldonRails(2020)Checkoutoursubmissiontothe2020CARLAChallenge!pass
- GitLab安装流程及日常使用流程
爱摄影的程序猿
开发工具CICD常用工具gitlab
GitLab是一种基于Git的代码托管和协作平台,可以帮助开发团队更好地管理代码和协作开发。下面是GitLab的安装流程和使用方法的简要说明。安装流程:安装依赖:首先,确保你的服务器上已经安装了Git、Ruby和RubyGems。还需要安装一些其他的依赖库,比如curl、libkrb5-dev等。下载安装包:到GitLab官方网站上下载最新的GitLab安装包。安装GitLab:使用命令行进入下载
- Objective-C 静态方法可以重写吗
赵哥窟
首先来看一段代码#import@interfacePerson:NSObject+(void)pringName:(NSString*)name;@end#import"Person.h"@interfacePerson()@end@implementationPerson+(void)pringName:(NSString*)name{NSLog(@"Person-%@",name);}@end
- 整洁架构SOLID-依赖反转原则(DIP)
贾欣晓
架构架构依赖倒置原则java
文章目录定义String类稳定的抽象层工厂模式具体实现组件小结定义依赖反转原则(DIP)主要想告诉我们的是:如果想要设计一个灵活的系统,在源代码层次的依赖关系中就应该多引用抽象类型,而非具体实现。也就是说,在Java这类静态类型的编程语言中,在使用use、import、include这些语句时应该只引用那些包含接口、抽象类或者其他抽象类型声明的源文件,不应该引用任何具体实现。同样的,在Ruby、P
- 「iOS学习」——Masonry学习
归辞...
ios学习cocoa
iOS学习前言Masonry的属性Masonry的使用基础APIAutoBoxing修饰语倍数中心点设置边距优先级使用总结前言暑假我们学习了使用CocoaPods引入第三方库,实现使用SVG图片。而Masonry作为一个轻量级的布局架构,在使用中可以节省很多时间。故进行简单学习。Masonry的属性UI设计是iOS开发的必须一环,直接影响了app的观感和使用体验。我们通常使用frame框架直接确定
- Node.js的学习与简单使用
学习Java的唐唐
前端技术学习javajsnodejs
一、简介1、什么是Node.js简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。2、Node.js有什么用如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个
- 在m1 Mac上配置Ruby3.1.2+Rails7.0.3开发环境
转生成为海嗣一号
开发环境搭建macosruby3.1.2ruby
在m1Mac上配置Ruby3.1.2+Rails7.0.3开发环境前置条件一个Arm架构的homebrew查看brew位置:whichbrew设置brew国内源:#brewgit-C"$(brew--repo)"remoteset-urloriginhttps://mirrors.ustc.edu.cn/brew.git#coregit-C"$(brew--repohomebrew/core)"r
- AWS SES 开源项目教程
强苹旖
AWSSES开源项目教程aws-sesProvidesaneasyrubyDSL&interfacetoAWSSES项目地址:https://gitcode.com/gh_mirrors/aw/aws-ses项目介绍aws-ses是一个用于与AmazonSimpleEmailService(SES)进行交互的开源Ruby库。AmazonSES是一个灵活且成本效益高的电子邮件服务,适用于数字营销人员
- 前端框架有哪些?
赎罪゛
前端框架前端javascript
熟悉掌握HTML、服务器端脚本语言、CSS和JavaScript之后,学习Web框架可以加快Web开发速度,节约时间。PHP程序员可选的框架包括CakePHP、CodeIgniter、Zend等,Python程序员喜欢使用Django和webpy,Ruby程序员常用RoR。随着Web越来越规范和标准的统一,Web组件化技术不断革新,移动端开发不断升华,以下是一些常见开源前端框架:Bootstrap
- MacOS升级ruby版本
wangyue4
macos
要在macOS上升级Ruby版本,可以使用以下方法。macOS系统默认自带Ruby,但是版本可能较旧,因此如果你想升级到最新版本或特定版本,通常可以使用Homebrew或rbenv来进行管理和升级。以下是详细步骤。1.使用Homebrew升级RubyHomebrew是macOS上流行的软件包管理工具,可以轻松安装和管理各种软件包,包括Ruby。1.1安装Homebrew如果你还没有安装Homebr
- Xcode 打包报错Command PhaseScriptExecution failed with a nonzero exit code
fendoudexiaoniao_ios
xcodemacoscocoapods
解决办法:1、在Xcode项目中Pods->TargetsSupportFiles->Pods-项目名->Pods-项目名-frameworks中(大约在第44行)加上-f2、CocoaPods版本太旧了,可以尝试升级CocoaPods版本使用sudogemupdatecocoapods更新cocoapods,问题将在1.12.1版本已修复。删除项目根目录下的Podfile.lock、项目名.xc
- 常见的Python Web框架
机定胜人
Perl/Python技术pythonweb框架djangopylonsweb.py框架
常见Pythonweb框架浅谈说到webframework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework、framework不可胜数,不完全列表见:http://wiki.python.org/moin/WebFrameworks。虽然另一大脚本语言PHP也有不少框架,但远没有Python这么夸张,也正是因为Pythonwebframe
- Rails101 课外作业 3.13
RealAnalysis
第一个要求加一个“扣分”按钮,做的事跟加分按钮相反很容易,把controller定义改了以后,routes也加好,View也参考upvote的写法,分分钟搞定.但是一直不成功...也是郁闷了半天,后来用railsconsole试了一下,model的设置是没有问题的,能改变count的数据,也能成功删掉一票vote...最后盯着controller的定义研究,感觉问题在这里搞了半天,最后参考了教程里
- 2018-04-05
awsome365
日期:05-04-2018Objective关于今天的课程,你记得什么?完成了什么?今天练习rails101。理解了RESTful。Reflective你要如何形容今天的情绪?今天的高峰是什么?今天的低点是什么?感冒,练习过程中身体有点不舒服。不过还是体会理解了REST设计、运用,但是练习速度还是很慢,进度差好多。Interpretive我们今天学到了什么?今天一个重要的领悟是什么?学到了REST
- iOS OC 基础知识整理
孤独的浪客
ios
1@synthesize和@dynamic的区别在Objective-C中,@synthesize和@dynamic用于实现属性(property)的自动或手动合成。它们告诉编译器如何处理类中声明的属性。@synthesize@synthesize指令用于告诉编译器自动生成getter和setter方法。在早期的Objective-C版本中,如果你声明了一个属性,你需要使用@synthesize来
- Objective-C高级特性浅析与实践指南
小鹿撞出了脑震荡
objective-c学习
OC的学习笔记(二)文章目录OC的学习笔记(二)@property访问控制符点语法自定义`init`方法内存管理retain和release@class处理发生异常的方法NSSrting的常用方法类方法对象方法lengthcharacterAtIndexisEuqalStringcompare@autorelease和自动释放池自动释放池Category类别与扩展category的运用NSNumb
- isa 底层结构分析
远方竹叶
OC对象的本质在我们日常的开发中,会创建很多个自定义的对象,大部分是继承自NSObject,但是具体到源码实现,就看不到了,怎么办呢?编译器clang就要登场了ClangClang是一个有Apple主导编写,基于LLVM的C/C++/Objective-C的编译器主要用于底层编译,将一些文件输出为C++文件,可以更好的查看底层的结构以及实现逻辑探索在main函数中创建一个LCPerson类,添加n
- $(SRCROOT)和$(PROJECT_DIR)和$(inherited)和${PODS_ROOT}
arcadia188
iOS
$(PROJECT_DIR)代表的是整个项目$(SRCROOT)代表的是项目根目录下左边的animationDemo是PROJECT_DIR右边的animationDemo是SRCROOT$(inherited)是什么?在Xcode项目中很多地方都有$(inherited),$(inherited)的意思就是继承上一级或依赖项的配置。通过CocoaPods集成的项目,$(inherited)将会包
- SpringBoot中如何使用RabbitMq
shenzhenNBA
Java管理者/开发者java-rabbitmqspringbootrabbitmq
一,RabbitMQ简介和基本概念RabbitMQ是一个开源的消息中间件,基于AMQP(高级消息队列协议)实现。它由Erlang语言开发,并且支持多种编程语言,包括Java、Python、Ruby、PHP和C#等,下载并安装Erlang:因此在安装RabbitMQ之前必须先安装并配置好Erlang环境,安装完成后,需要将Erlang的bin目录添加到系统的PATH环境变量中,这样可以在命令行中直接
- 如何从MongoDB迁移到MySQL?这有现成经验!
36大数据
作者:小码哥最近的一个多月时间都在做数据库的迁移工作,我目前在开发的项目在上古时代是使用MySQL作为主要数据库的,后来由于一些业务上的原因从MySQL迁移到了MongoDB,使用了几个月的时间后,由于数据库服务非常不稳定,再加上无人看管,同时MongoDB本身就是无Schema的数据库,最后导致数据库的脏数据问题非常严重。目前团队的成员没有较为丰富的Rails开发经验,所以还是希望使用Activ
- AES加密类库教程
马安柯Lorelei
AES加密类库教程AES-Encryption-ClassesAESencryptioninPython,PHP,C#,Java,C++,F#,Ruby,Scala,Node.js项目地址:https://gitcode.com/gh_mirrors/ae/AES-Encryption-Classes项目介绍本教程将详细介绍GitHub上的一个开源项目——AES-Encryption-Classe
- iOS之运行时机制(三)
奋拓达
前言Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。对于Objective-C来说,这个运行时系统就像一个操作系统一样:它让所有的工作可以正
- 【量化分析】Python、JavaScript(Node.js)、Java、C#和Ruby五种主流语言的实例代码给大家演示一下如何获取股票实时交易数据
309556666
python股票数据API股票数据接口股票API服务股票市场数据实时股票数据
最近一两年,股票量化分析越来越受欢迎了。想要入行,首先得搞定股票数据。毕竟,所有量化分析都是建立在数据之上的,实时交易、历史交易、财务、基本面,这些数据咱们都得有。咱们的目标就是挖掘这些数据中的价值,来指导咱们的投资策略。为了找数据,我可是尝试了各种方法,自己动手写过网易、申万行业的爬虫,还试过同花顺问财的,连聚宽的免费API都用过。但爬虫这东西,数据总是不稳定,给量化分析带来不少困扰。在量化分析
- Swift笔记:可选类型
du_90
Swift学习swift可选类型nil
C和Objective-C中并没有可选类型这个概念。最接近的是Objective-C中的一个特性,一个方法要不返回一个对象要不返回nil,nil表示“缺少一个合法的对象”。然而,这只对对象起作用——对于结构体,基本的C类型或者枚举类型不起作用。对于这些类型,Objective-C方法一般会返回一个特殊值(比如NSNotFound)来暗示值缺失。这种方法假设方法的调用者知道并记得对特殊值进行判断。然
- RabbitMQ 入门:基本概念、特性及简单示例
Lill_bin
javarabbitmq分布式云计算springbootjava后端中间件
什么是RabbitMQ?RabbitMQ是一个开源的消息代理和队列服务器,用Erlang语言编写。它支持多种消息协议,包括AMQP0-9-1,并提供了可靠性、灵活的路由、消息持久性等功能。RabbitMQ是易于使用的,支持多种编程语言,包括Python、Ruby、Java、JavaScript、PHP、.NET等。RabbitMQ的主要特性异步消息处理:RabbitMQ允许系统组件通过消息传递异步
- 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