- 用java 实现 Longest Substring Without Repeating Characters 无重复字符的最长子串(leetCode 算法)
用心去追梦
算法javaleetcode
无重复字符的最长子串(LongestSubstringWithoutRepeatingCharacters)是LeetCode上一个非常经典的滑动窗口问题。这个问题要求我们找到给定字符串中没有重复字符的最长子串的长度。下面是一个使用Java实现的解决方案,它使用了滑动窗口和哈希集合来跟踪当前窗口内的字符:importjava.util.HashSet;importjava.util.Set;pub
- 用java 实现 Longest Palindromic Substring 最长回文子串(leetCode 算法)
用心去追梦
算法javaleetcode
最长回文子串(LongestPalindromicSubstring)是LeetCode上一个经典的问题,它要求我们找到给定字符串中最长的回文子串。这个问题可以通过多种方法来解决,其中一种高效的方法是中心扩展法。该算法的基本思想是遍历每个字符,并以该字符为中心尝试向两边扩展,寻找最长的回文子串。下面是用Java实现这个算法的方法:publicclassLongestPalindromicSubst
- Java 查询最大最小值 详解
飞滕人生TYF
javajava算法
在Java中,查询最大值和最小值是常见需求。以下将详细介绍最大值和最小值的查询方法,包括适用于数组、集合、以及更复杂的数据结构的解决方案。1.使用Math类Java提供了Math.max和Math.min方法,可用于直接比较两个值。适用场景比较两个或少量的值。示例代码publicclassMaxMinWithMath{publicstaticvoidmain(String[]args){inta=
- HarmonyOS使用Grid网格实现计算器功能实现
青椒1013
harmonyos
使用Grid网格处理,实现了计算器的加减乘除功能@Entry@ComponentstructGridPage{@Statestr:string="";//暂存区@Statenum:string="0";//输入区@StateflagNum:boolean=false;//标识build(){Column(){Grid(){GridItem(){Text(this.str)//默认为空}.colum
- 【python 正则表达式:太复杂了所以通过练习-3(URL 统一资源定位器)】编写常见格式的字符串的正则表达式来由浅入深的认识它
flos chen
pythonpython正则表达式开发语言
5.URL统一资源定位器编写一个程序,从字符串中匹配URL。URL的格式为:协议名可以是http、https、ftp。域名可以是任意长度。端口号可以是任意数字。路径可以是任意长度。参数可以是任意长度。锚点可以是任意长度。代码如下:importredefmatch_url(string):pattern=r"^(http|https|ftp)://[a-zA-Z0-9]+\.[a-zA-Z0-9]+
- 2266. 统计打字方案数
咔咔咔的
leetcodec++
2266.统计打字方案数题目链接:2266.统计打字方案数代码如下:classSolution{public:intcountTexts(stringpressedKeys){vectorf(pressedKeys.size()+1);f[0]=f[1]=1;for(inti=1;i=2&&pressedKeys[i]==pressedKeys[i-2]){f[i+1]+=f[i-2];}if(i
- C# 中的委托事件和回调函数
「已注销」
C#c#开发语言后端
委托委托通俗的讲就是将自己所不能做的事情交给其他人去做,但怎样才知道帮你做事情的人的名字呢,因此需要名字这个和特性。简单的委托在C#中委托就像是一个函数的指针,在程序运行时可以使用他们来调用不同的函数。首先是委托存储了方法名,还有参数列表(方法签名),以及返回的类型:delegatestringProcessDelegate(inti);在程序中使用委托来运行程序的话,需要满足以下几点:返回类型和
- php链接oracle乱码,尝试把一个php的项目转成java,
slm311
java
最近有个新需求,OA上的考勤信息确认,开始的时候搞了个php的版本,莫名其妙的数据库会乱码(oracle)(等有时间再写一篇php链接oracle数据库)折腾了将近一个周,乱码莫名其妙的出现,代码啥也不动,多请求两遍又正常了。准备搞个java来替换php,在gpt的协助下,搞成了。上代码连接数据库:privatestaticfinalStringDB_URL="jdbc:oracle:thin:@
- axios与request的区别
懒大王、
前端小常识前端js
axios与request的区别发送数据类型的区别axios会根据要发送的数据来设置合理的Content-type,默认是application/json//data是作为请求主体被发送的数据//只适用于这些请求方法‘PUT’,‘POST’,和‘PATCH’//在没有设置transformRequest时,必须是以下类型之一://-string,plainobject,ArrayBuffer,Ar
- string.replace()默认只替换第一个
懒大王、
JavaScriptjs
varstr='200,234,455'console.log(str.replace(/,/g,'-'))//200-234-455//当然可以用下面方法console.log(str.split(',').join('-'))//200-234-455
- Java成员变量和局部变量
qq_43332825
java
成员变量是指在一个类中定义的变量,比如publicclassDog{Stringbreed;Stringname;Stringcolor;intage;}这些都是成员变量,用于描述类本身所具有的一些属性局部变量是指在方法中定义的变量,例如:publicvoideat(){inta=0;}用于辅助实现方法中的相关操作。在一个方法中,不允许有同名的局部变量,而在不同的方法中,允许有同名局部变量。静态成
- Python字符串对齐的几种方法、Python填充与对齐、Python中英文对齐
五月天的尾巴
pythonpython字符串对齐中英文对齐填充与对齐
文章目录一、简单字符串对齐1.1、使用str.ljust()、str.rjust()、str.center()方法进行对齐1.2、使用format()方法1.2.1、python2与3对齐与填充的区别1.3、f-string二、高级字符串对齐(中英文对齐)2.1、wcwidth库在Python中,我们经常会遇到需要对字符串进行对齐的情况,比如左对齐、右对齐或者居中对齐。这在处理文本输出、日志格式化
- 字符串知识总结1
竣子好逑
初级javajava
字符串是Java开发中最常用的数据类型,它是双引号括起来的一系列字符的组合。例如:"helloworld","请输入密码"等。在Java中,String类、StringBuffer类、StringBuilder类都能表示字符串。1、String类String是Java中最常用的字符串类,双引号括起来的数据都是String类的对象。因为String类是java.lang包中的类,所以使用的时候无需导
- 在小小的花园里呀挖啊挖啊挖
王旭·wangxu_a
开发语言学习c++函数
来娱乐一下:想必大家都知道“在小小的花园里呀挖啊挖啊挖”吧。那么大家会不会用C++函数实现呢?学过C++的人都知道,函数是把某一代码括起来,最终在主函数显示结果的。废话不多说,上代码:C++函数代码#includeusingnamespacestd;strings[10]={"一个钻石","一根草","一个宝箱","一个化石","一张火车票","一根骨头","一部废手机","一台新电脑","一本书
- Java之Class类&面向对象
苏-言
java开发语言
Class类概念:类是具有相同属性或者行为的一类事物类本身可以再被抽象,因为类也有共同的属性和行为(比如类都有属性、构造器、方法,都能调用方法),所以把类们右抽象成一个类Class。Java中有一个Object类,是所有Java类的继承根源,其内部声明了数个应该在所有Java类中被改写的方法:hashCode()、equals()、toString()、getClass()等。其中getClass
- 最长回文字串的多种解法(java)
心 -
java
文章目录1.暴力解法2.中心扩散法3.动态规划法题目要求:给你一个字符串s,找到s中最长的回文子串1.暴力解法列举所有子串;将字符串分解为字符数组char[]arr,方便后续判断是否为回文字符串,接着使用两层for循环去跑字符串s,使用maxf初始化为1去记录最长回文字符串的长度,min记录最长字符串的起始下标。代码如下:publicStringlongestPalindrome(Strings)
- Qt开发技术【C++ 实现类的二进制序列化与反序列化】
增援未来章北海
QTC++学习qtc++数据库
一、思考Qt本身的QByteArray和QDataStreamQDataStream和QByteArray是Qt框架中用于数据序列化和反序列化的类。QDataStream可以将Qt数据类型(如QString、QByteArray等)序列化为二进制格式,并写入文件或网络流中。同时,也可以从文件或网络流中读取二进制数据并反序列化成相应的数据类型。但是在嵌入式中使用代码比较冗余二、实现一个比较简单的仅对
- Python_算术运算符
Ww_Sid
pythonpython算术运算符
两个数字相加sumNumber=1+2print(sumNumber)>>>3两个字符串相加sumString="Nicework"print(sumString)>>>Nicework两个数字相减subNumber=2-1print(subNumber)>>>1两个数字相乘或者multiplicationNumber=2*3print(multiplicationNumber)>>>6字符串重复
- 记录 io.springfox 3.0.0 整合 spring boot 2.6.x 由于 springfox bug 引发问题
树懒_Zz
Springspringbootbugwindows
首先第一个问题就是不兼容:解决方案:@BeanpublicstaticBeanPostProcessorspringfoxHandlerProviderBeanPostProcessor(){returnnewBeanPostProcessor(){@OverridepublicObjectpostProcessAfterInitialization(Objectbean,StringbeanNa
- java调用webservice,restful
ams77019
javajson
java调用webservicepublicStringredoEsb(Stringloguid,Stringuser,Stringcomments,StringnewMsg,StringipLocation)throwsException{//StringredoEsb=VariableStore.getValue("redoEsb");StringredoEsb="D:\Admin\"Stri
- Java ‘URL(java. lang. String)‘ 自版本 20 起已弃用
空灵宫(Ethereal Palace)
Javajava开发语言
在Java20及更高版本中,不推荐直接使用newURL(Stringspec)构造方法。官方建议通过更加安全和明确的方式来创建URL。下面示例给出两种常见替代方案:使用URI转化为URL,或使用多参数构造方法。原始写法(已弃用)publicclassUrlDemo{publicstaticvoidmain(String[]args){try{//自Java20起已弃用URLurl=newURL("
- 头歌C语言数据结构课程实验(字符串)
zzj_262610
头歌C语言数据结构数据结构c语言算法
第1关:子串插入任务描述本关任务:编写一个将子串插入到主串的第i(i>=1)个位置的函数,当参数错误时返回0,成功插入时返回1。相关知识为了完成本关任务,你需要掌握:1.串的定义,2.串的存储结构。串的定义串(string)是零个或多个字符组成的有限序列。一般记为s="a1a2…an"(n≥0)其中,s是串的名,用双引号括起来的字符序列是串的值。串的长度:串中字符的个数n。子串和主串:串中任意
- NPOI导出表格信息,导出图片
天堂镇的幽灵
C#
StringBuilderstrTemp=newStringBuilder();strTemp.Append(@"select*,dbo.fu_GetCompanyNameById(company_id)asCompanyNamefromInvoiceSpecialwheredeleted=0");//stringcompStr=";//站点,公司权限管理控制筛选if(manager.role_i
- java实现word转html(支持docx及doc文件)
WAZYY0619
javawordhtmlword转htmldocx转htmldoc转html
privatefinalstaticStringtempPath="C:\\Users\\xxx\\Desktop\\Word2Html\\src\\test\\";//图片及相关文件保存的路径publicstaticvoidmain(Stringargv[]){try{JFileChooserfileChooser=newJFileChooser();fileChooser.setDialogT
- Redis分布式锁-解锁操作
Ocean@上源码
Redis分布式redisjava
本章重点讨论解锁操作问题。案例使用RedisTemplate完成redis操作。1.简单加解解锁@ResourceprivateRedisTemplateredisTemplate;publicvoidtestLock(){Stringkey="xx_lock";Stringuuid=UUID.randomUUID().toString();try{booleanlock=redisTemplat
- 第十四届蓝桥杯三月真题刷题训练——第 18 天
不摘月亮
蓝桥杯蓝桥杯c++职场和发展算法
第1题:排列字母思路:直接调用sort函数对字符串进行排序#includeusingnamespacestd;intmain(){stringarr;cin>>arr;sort(arr.begin(),arr.end());cout#definelllonglongusingnamespacestd;intmain(){lln,m,k,res;cin>>n>>m;if(n>m)swap(n,m);
- 【Vim Masterclass 笔记14】S07L29 + L30:练习课08 —— Vim 文本对象同步练习(含点评课内容)
安冬的码畜日常
VimMasterclassvim笔记vim习题课vim文本对象练习文本对象自学笔记
文章目录L29Exercise08-TextObjects1训练目标2操作指令2.1.打开textobjectspractice.txt文件2.2.单词对象练习WordObjects2.3.区块对象`()`练习BlockObject()2.4.引用字符串练习QuotedStrings2.5.区块对象`[]`练习BlockObject[]2.6.区块对象`2.7.标签对象练习TagObjects2.
- 每日 Java 面试题分享【第 4 天】
fly spider
【2025最新版】Java面试宝典-日更java开发语言
欢迎来到每日Java面试题分享栏目!订阅专栏,不错过每一天的练习今日分享3道面试题目!评论区复述一遍印象更深刻噢~目录问题一:什么是Java内部类?它有什么作用?问题二:JDK8有哪些新特性?问题三:Java中String、StringBuffer和StringBuilder的区别是什么?问题一:什么是Java内部类?它有什么作用?满分回答在Java中,内部类(InnerClass)是定义在另一个
- 网络编程之接收端和发送端
青木川崎
java
packagemyclass;importjava.net.;/需求:通过UDP传输方式,将一段文字数据发送出去思路:1.建立updSocket服务2.提供数据,并将数据封装到数据包中。3.通过socket服务发送功能,将数据包发出去4.关闭资源*///发送端classUdpSend{publicstaticvoidmain(String[]args)throwsException{//1.建立S
- 2018年关于包、方法和接口、常量的命名规则 单行注释(能够嵌套)和多行注释(不能嵌套)
青木川崎
java
2018年关于包、方法和接口、常量的命名规则单行注释(能够嵌套)和多行注释(不能嵌套)classHello//这是一个类的声明,类名是Hello//单行注释可以嵌套的{publicstaticvoidmain(String[]args)//这是主方法,是程序的入口{System.out.println(“HelloWorld!”);//这是输出语句,会在控制台输出一句话。}}/*故人西辞黄鹤楼,烟
- jdk tomcat 环境变量配置
Array_06
javajdktomcat
Win7 下如何配置java环境变量
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可)
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。)
3。分别配置高级环境变量。
电脑-->右击属性-->高级环境变量-->环境变量。
分别配置 :
path
&nbs
- Spring调SDK包报java.lang.NoSuchFieldError错误
bijian1013
javaspring
在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l
- LeetCode[位运算] - #136 数组中的单一数
Cwind
java题解位运算LeetCodeAlgorithm
原题链接:#136 Single Number
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进
- qq登陆界面开发
15700786134
qq
今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下:
public class First { public void initul(){ jf=ne
- Linux的程序包管理器RPM
被触发
linux
在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的
- socket通信遇到EOFException
肆无忌惮_
EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:
- 基于spring的web项目定时操作
知了ing
javaWeb
废话不多说,直接上代码,很简单 配置一下项目启动就行
1,web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="h
- 树形结构的数据库表Schema设计
矮蛋蛋
schema
原文地址:
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,
- maven将jar包和源码一起打包到本地仓库
alleni123
maven
http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository
<project>
...
<build>
<plugins>
<plugin>
<groupI
- java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!
百合不是茶
类 File
File是指文件和目录路径名的抽象表示形式。
1,何为文件:
标准文件(txt doc mp3...)
目录文件(文件夹)
虚拟内存文件
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都
- Spring注入有继承关系的类(2)
bijian1013
javaspring
被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类
package com.bijian.spring.test4;
public class AClass {
private String a;
private String b;
public String getA() {
retu
- 30岁转型期你能否成为成功人士
bijian1013
成长励志
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
- 【Velocity四】Velocity与Java互操作
bit1129
velocity
Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础,
POJO
package com.tom.servlets;
public
- 【Hive十一】Hive数据倾斜优化
bit1129
hive
什么是Hive数据倾斜问题
操作:join,group by,count distinct
现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。
原因:key分布不均匀
倾斜度衡量:平均记录数超过50w且
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua csrf
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-3.求子数组的最大和
bylijinnan
java
package beautyOfCoding;
public class MaxSubArraySum {
/**
* 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,
- Netty源码学习-FileRegion
bylijinnan
javanetty
今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder:
//pipeline(没有诸如“FileRegionEncoder”的handler):
public ChannelPipeline ge
- 使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
cngolon
跨浏览器复制到粘贴板Zero Clipboard
Zero Clipboard的实现原理
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。
Zero Clipboard的安装方法
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js
- 单例模式
cuishikuan
单例模式
第一种(懒汉,线程不安全):
public class Singleton { 2 private static Singleton instance; 3 pri
- spring+websocket的使用
dalan_123
一、spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
- 细节问题:ZEROFILL的用法范围。
dcj3sjt126com
mysql
1、zerofill把月份中的一位数字比如1,2,3等加前导0
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, -> day
- Android开发10——Activity的跳转与传值
dcj3sjt126com
Android开发
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。
一、Activity跳转
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent)
方法二Intent intent = new Intent();intent.setCla
- jdbc 得到表结构、主键
eksliang
jdbc 得到表结构、主键
转自博客:http://blog.csdn.net/ocean1010/article/details/7266042
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt
- Android 应用程序开关GPS
gqdy365
android
要在应用程序中操作GPS开关需要权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办?
1、方法一:将项目放到Android源码中编译;
2、方法二:网上有人说cl
- Windows上调试MapReduce
zhiquanliu
mapreduce
1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b
- 如何看待一些知名博客推广软文的行为?
justjavac
博客
本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621
互联网上的两种典型心态:
当初求种像条狗,如今撸完嫌人丑
当初搜贴像条犬,如今读完嫌人软
你为啥感觉不舒服呢?
难道非得要作者把自己的劳动成果免费给你用,你才舒服?
就如同 Google 关闭了 Gooled Reader,那是
- sql优化总结
macroli
sql
为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢!
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。
一、简单的统计语句执行时间
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id
- Linux Oracle中常遇到的一些问题及命令总结
超声波
oraclelinux
1.linux更改主机名
(1)#hostname oracledb 临时修改主机名
(2) vi /etc/sysconfig/network 修改hostname
(3) vi /etc/hosts 修改IP对应的主机名
2.linux重启oracle实例及监听的各种方法
(注意操作的顺序应该是先监听,后数据库实例)
&nbs
- hive函数大全及使用示例
superlxw1234
hadoophive函数
具体说明及示例参 见附件文档。
文档目录:
目录
一、关系运算: 4
1. 等值比较: = 4
2. 不等值比较: <> 4
3. 小于比较: < 4
4. 小于等于比较: <= 4
5. 大于比较: > 5
6. 大于等于比较: >= 5
7. 空值判断: IS NULL 5
- Spring 4.2新特性-使用@Order调整配置类加载顺序
wiselyman
spring 4
4.1 @Order
Spring 4.2 利用@Order控制配置类的加载顺序
4.2 演示
两个演示bean
package com.wisely.spring4_2.order;
public class Demo1Service {
}
package com.wisely.spring4_2.order;
public class