这段JAVA代码什么意思

作者&投稿:黎素 (若有异议请与网页底部的电邮联系)
这段java代码是什么意思? 每行代码解释下?~

package:这个类文件在哪一个包中
import:引入这个类文件所需的其他类文件
target:这个注解可以应用在哪一个层级,本注解type是method也就是可以在方法上使用
@retention:runtime 运行时生效
public @interface 定义一个注解annotation
String code()和String name():可以在使用注解时传入的属性,后面的default是name的默认值

第一行:Goods goods=(Goods) data.getObj(); 获取Goods对象从data中获取

第二行:goods.setGoodsCount(addNum);给从data中获取的对象的GoodsCount添加一个值aaNUm

第三行:给data对象的DataType添加一个字符串“IN_STORAGE”
第四行:同上data对象的DataResult赋值

第五行:同上吧Good是添加到data对象中

求采纳!

javax.crypto.Cipher类提供加密和解密功能,该类是JCE框架的核心。

一,与所有的引擎类一样,可以通过调用Cipher类中的getInstance静态工厂方法得到Cipher对象。

public static Cipher getInstance(String transformation);

public static Cipher getInstance(String transformation,String provider);

参数transformation是一个字符串,它描述了由指定输入产生输出所进行的操作或操作集合。

参数transformation总是包含密码学算法名称,比如DES,也可以在后面包含模式和填充方式。

参数transformation可以是下列两种形式之一:

“algorithm/mode/padding”

“algorithm”

例如下面的例子就是有效的transformation形式:

"DES/CBC/PKCS5Padding"

"DES"

如 果没有指定模式或填充方式,就使用特定提供者指定的默认模式或默认填充方式。例如,SunJCE提供者使用ECB作为DES、DES-EDE和 Blowfish等Cipher的默认模式,并使用PKCS5Padding作为它们默认的填充方案。这意味着在SunJCE提供者中,下列形式的声明是 等价的:Cipher c1=Cipher.getInstance("DES/ECB/PKCS5Padding");

Cipher c1=Cipher.getInstance("DES");

当 以流加密方式请求以块划分的cipher时,可以在模式名后面跟上一次运算需要操作的bit数目,例如采用"DES/CFB8/NoPadding"和 "DES/OFB32/PKCS5Padding"形式的transformation参数。如果没有指定数目,则使用提供者指定的默认值(例如 SunJCE提供者使用的默认值是64bit)。

getInstance工厂方法返回的对象没有进行初始化,因此在使用前必须进行初始化。

通过getInstance得到的Cipher对象必须使用下列四个模式之一进行初始化,这四个模式在Cipher类中被定义为final integer常数,我们可以使用符号名来引用这些模式:

ENCRYPT_MODE,加密数据

DECRYPT_MODE,解密数据

WRAP_MODE,将一个Key封装成字节,可以用来进行安全传输

UNWRAP_MODE,将前述已封装的密钥解开成java.security.Key对象

每个Cipher初始化方法使用一个模式参数opmod,并用此模式初始化Cipher对象。此外还有其他参数,包括密钥key、包含密钥的证书certificate、算法参数params和随机源random。

我们可以调用以下的init方法之一来初始化Cipher对象:

public void init(int opmod,Key key);

public void init(int opmod,Certificate certificate);

public void init(int opmod,Key key,SecureRandom random);

public void init(int opmod,Certificate certificate,SecureRandom random);

public void init(int opmod,Key key,AlgorithmParameterSpec params);

public void init(int opmod,Key key,AlgorithmParameterSpec params,SecureRandom random);

public void init(int opmod,Key key,AlgorithmParameters params);

public void init(int opmod,Key key,AlgorithmParameters params,SecureRandom random);

必须指出的是,加密和解密必须使用相同的参数。当Cipher对象被初始化时,它将失去以前得到的所有状态。即,初始化Cipher对象与新建一个Cipher实例然后将它初始化是等价的。

二,可以调用以下的doFinal()方法之一完成单步的加密或解密数据:

public byte[] doFinal(byte[] input);

public byte[] doFinal(byte[] input,int inputOffset,int inputLen);

public int doFinal(byte[] input,int inputOffset,int inputLen,byte[] output);

public int doFinal(byte[] input,int inputOffset,int inputLen,byte[] output,int outputOffset);

在多步加密或解密数据时,首先需要一次或多次调用update方法,用以提供加密或解密的所有数据:

public byte[] update(byte[] input);

public byte[] update(byte[] input,int inputOffset,int inputLen);

public int update(byte[] input,int inputOffset,int inputLen,byte[] output);

public int update(byte[] input,int inputOffset,int inputLen,byte[] output,int outputOffset);

如果还有输入数据,多步操作可以使用前面提到的doFinal方法之一结束。如果没有数据,多步操作可以使用下面的doFinal方法之一结束:

public byte[] doFinal();

public int doFinal(byte[] output,int outputOffset);

如果在transformation参数部分指定了padding或unpadding方式,则所有的doFinal方法都要注意所用的padding或unpadding方式。

调用doFinal方法将会重置Cipher对象到使用init进行初始化时的状态,就是说,Cipher对象被重置,使得可以进行更多数据的加密或解密,至于这两种模式,可以在调用init时进行指定。

三,包裹wrap密钥必须先使用WRAP_MODE初始化Cipher对象,然后调用以下方法:

public final byte[] wrap(Key key);

如果将调用wrap方法的结果(wrap后的密钥字节)提供给解包裹unwrap的人使用,必须给接收者发送以下额外信息:

(1)密钥算法名称:

密钥算法名称可以调用Key接口提供的getAlgorithm方法得到:

public String getAlgorithm();

(2)被包裹密钥的类型(Cipher.SECRET_KEY,Cipher.PRIVATE_KEY,Cipher.PUBLIC_KEY)

sourcelink: http://bbs.sdu.edu.cn/pc/pccon.php?id=1292&nid=41716&order=&tid=

为了对调用wrap方法返回的字节进行解包,必须先使用UNWRAP_MODE模式初始化Cipher对象,然后调用以下方法 :

public final Key unwrap(byte[] wrappedKey,String wrappedKeyAlgorithm,int wrappedKeyType));

其 中,参数wrappedKey是调用wrap方法返回的字节,参数wrappedKeyAlgorithm是用来包裹密钥的算法,参数 wrappedKeyType是被包裹密钥的类型,该类型必须是Cipher.SECRET_KEY,Cipher.PRIVATE_KEY, Cipher.PUBLIC_KEY三者之一。

四,SunJCE提供者实现的cipher算法使用如下参数:

(1)采用CBC、CFB、OFB、PCBC模式的DES、DES-EDE和Blowfish算法。,它们使用初始化向量IV作为参数。可以使用javax.crypto.spec.IvParameterSpec类并使用给定的IV参数来初始化Cipher对象。

(2)PBEWithMD5AndDES使用的参数是一个由盐值和迭代次数组成的参数集合。可以使用javax.crypto.spec.PBEParameterSpec类并利用给定盐值和迭代次数来初始化Cipher对象。

注意:如果使用SealedObject类,就不必为解密运算参数的传递和保存担心。这个类在加密对象内容中附带了密封和加密的参数,可以使用相同的参数对其进行解封和解密。

Cipher 中的某些update和doFinal方法允许调用者指定加密或解密数据的输出缓存。此时,保证指定的缓存足够大以容纳加密或解密运算的结果是非常重要 的

你才上初中就研究Java了,真厉害!呵呵!!
这段代码应该是一个Bean类中的一个方法,主要功能是按照你给的图片,建立一个名为kangzhw.jpg的图片,也就是说把你给的图片,复制成kangzhw.jpg,并且在复制后的文件中加了几个字(具体加什么,不清楚)。
------------------------------------
下面我们一行一行看:
Image
img
=
ImageIO.read(new
File(request.getRealPath("/")+"index\\"+fileName
));
说明:
//request.getRealPath("/"),取得当前站点的根目录.
//Image
img
=
ImageIO.read(),这里就是按照你给的文件名,读取文件到img对像中(文应该是个图片,不知道这里为什么没有做判断).
-----------------------------------------------------------
int
width
=
img.getWidth(null);
int
height
=
img.getHeight(null);
说明:
//这两句用于定义图片的宽和高。!!
------------------------------------------------------------
BufferedImage
image
=
new
BufferedImage(width,
height,
BufferedImage.TYPE_INT_RGB);
说明:
这里就是按照定义的图片宽和高,开一个缓冲区,用于日后存图片。
-------------------------------------------------------------
Graphics
g
=
image.createGraphics();
g.drawImage(img,
0,
0,
width,
height,
null);
说明:
这个是按照定义的宽和高还有上面那个img,搞一个画笔(就是Graphics),因为缓冲区都开了,总得有东西往里搞东西才行。image就是图片缓冲区。
--------------------------------------------------------------
String
stri
=
null;
//
if(addString.length()>14)
{
stri
=
addString.substring(1,14).concat("...");
}else
{
stri
=
addString;
}
//这一句,我也不知道啥意思,就是往图片里添加的字符串。
--------------------------------------------------------------
//设置要画的颜色为Green,GREEN是常量。
g.setColor(Color.GREEN);
//设置字体的大小样式。(有注释)
g.setFont(new
Font("Courier",
Font.PLAIN,
width/10));
//字体,样式,大小的设置
//字符串与字体所在的坐标。(有注释)
g.drawString(getStr(stri),
width
-
width*3/4,
height
-
height/2);
//把刚刚搞出来的画笔扔掉。销毁!
g.dispose();
说明:
以上所有操作是,先开一个图片的缓冲区(就是在内存里画出一个空的图片),然后在这个内存中的图片上添加一些字,这样就是准备出来一个模版,然后一会儿把你给的图片,再添加到这个图片上。
=====================
File
tempFile=
new
File(request.getRealPath("/")+"index\\"
,"kangzhw.jpg"
);
说明:这里新建立一个文件对象,文件名就是kangzhw.jpg,这里只是建立对象。
注:
从这里往后,我感觉代码有问题!
所以不解释!
FileOutputStream
os
=
new
FileOutputStream(request.getRealPath("/")+"index\\"+"kangzhw.jpg");
JPEGImageEncoder
encoder
=
JPEGCodec.createJPEGEncoder(os);
encoder.encode(image);
os.close();

这是js代码,jquery.get代表使用ajax来访问地址,参考如下:
使用 AJAX 的 GET 请求来改变 div 元素的文本:
$("button").click(function(){
$.get("demo_ajax_load.txt", function(result){
$("div").html(result);
});
});

那个wordordersAction.do代表的是一个地址

首先是往list集合中增加数据,然后,用迭代器循环输出list集合中的数据,代码不是很难,仔细看看分析下,很容易理解的

#footersite { /* #为CSS选择器,标示按ID来选择,此处为定义id=footersite的元素的样式 */
clear:both; /* 保证两边没有float浮动的元素,可以保证元素在float浮动元素的下方,而不是在旁边 */
display:block; /* 以块形式渲染,可指定高度,宽度 */
overflow:hidden; /* 对于超出指定宽度高度的内容,采用隐藏效果 */
text-align:center; /* 定义文字的对齐方式,中间对齐 */
margin:0px 10px; /* 相对于父元素的留白,上下0,左右10 */
padding-bottom:0; /* 元素内部的留白 */
z-index:11; /* 指定元素的层叠次序为11 */
border-top:1px #E0E0E0 solid; /* 指定顶部边框样式,1像素宽,颜色,实线 */
color:#888 /* 文本颜色 */
}

#footersite h5, #footersite h6{ /* 指定id=footersite的元素内部 h5 h6元素的样式 */
display:block; margin:0; padding:0;
line-height:normal; /* 指定文本的行高 */
font-size:12px; /* 指定文字的字号 */
font-family:Arial,Helvetica,sans-serif; /* 指定文字的字体名称 */
font-weight:normal; /* 指定文字是否加粗,不加粗 */
background:transparent /* 指定背景为透明 */
}

#footersite a, #footersite a:hover{ /* 指定id=footersite的元素内部 a元素的样式以及当鼠标悬停在a元素上的样式 */
text-decoration:none; /* 文本下划线,不使用下划线 */
color:#444;
cursor:pointer; /* 鼠标指针样式,链接小手 */
padding-left:2px; padding-right:2px
}

#footersite a:hover{color:#F60}/* 指定id=footersite的元素内部 鼠标悬停在a元素上的样式,改变颜色 */

.footer{ /* 定义CSS伪类,可以被任何HTML元素使用,通过指定class=footer,即可使用该样式 */
display:block; overflow:hidden; width:970px; margin:0 auto; padding-bottom:3px; padding-top:3px
}
/* 指定class=footer元素内部 span元素的样式 */
.footer span{border-left:1px solid #E0E0E0; padding-left:5px}


帮我看看这段Java GUI代码
你好,在构造方法FrameOut()中调用setLayout()方法加入一种控件布局形式,例如加入setLayout(new FlowLayout());即可以流布局的形式显示控件。完整代码如下:import java.awt.*;import java.awt.event.*;public class ApplicationInOut{ public static void main(String args[ ]){ new FrameInOut();} }...

求一段JAVA代码(实例代码)
import java.awt.event.*;import java.util.ArrayList;import java.util.List;import javax.swing.*;public class FrameTest { public static void main(String[] args) { new F();} } class F extends JFrame implements ActionListener { JCheckBox[] jCheckBoxs;JRadioButton[] JRadioButtons;...

谁能帮我解释一下这段Java加密代码的原理,自己分析了一下不是很懂_百 ...
^是取异或,0^0=0,1^1=0 ,1^0 = 1,0^1=1;方法中编码是将字符串的每一位字符和其所对应在字符串中的位置取异或,解码是再次将每一位字符与其所在位置取异或

一段java中数据库代码解释
这里是降序 \/\/后面的语句要看上下文,那个pb不知是什么 List<Row> list = null ;pb.isRequireTotalRow(true);String sqlStr=sqlq.toString();list = pb.getInfo(sqlStr,null,DtoMapGroupOptions.DATA_SOURCE_ID);\/\/可能是把结果集放入list中,根据sqlStr中的sql语句 ...

请把下列一段java代码加上注释: 谢谢哈
这个是给你看的注释版:import java.util.LinkedList;import java.util.Scanner;public class Test6 { int[][] array;int m = 0, n = 0;LinkedList<String> quere = new LinkedList<String>();public Test6() { quere.add("r");quere.add("d");quere.add("l");quere.add("u");}\/\/...

[高分]安卓开发中一段JAVA代码求翻译。翻译越详细越好。万分感谢...
= localStringBuffer1.append(str3);} catch (NoSuchAlgorithmException localNoSuchAlgorithmException){ localNoSuchAlgorithmException.printStackTrace(); break label66: } } 完成的大体功能应该是;生成一个摘要,把摘要中的数据按照某种方式存储。具体干什么我没大看懂 ...

求一段JAVA代码(实例代码)
import java.awt.event.*;import java.util.ArrayList;import java.util.List;import javax.swing.*;public class FrameTest { public static void main(String[] args) { new F().setVisible(true);} } class F extends JFrame implements ActionListener { JCheckBox[] jCheckBoxs;JRadioButton ...

一段java代码的不理解,希望高手能具体解释下,下面的代码的意思!个人觉 ...
符合则修改为false 最后return flag 避免了直接设置为真 然后忘记做处理 然后就直接通过了的错误情况出现,因为它默认是false的;我觉得这段代码应该就是一个单元测试的小例子 只是示范一下assert而已 具体代码意思上面几位已经讲得很清楚了;楼主不用太去在意,代码意思很简单 不要想多了 ...

这JAVA段代码主要讲了什么意思?求指教。。
显然你这段代码是和球的位置有关的,每个球都有一个X,Y坐标.让一个球用这样的方式运动 tmpX = ball[i].getCurrentX() + ball[i].getStepX() * timeLast \/ 100d;tmpY = ball[i].getCurrentY() + ball[i].getStepY() * timeLast \/ 100d 如果球没有进袋,就让球的下一个位置设为...

下面自己写的一段JAVA代码(如下):不知道错在了,求高手指导下。_百度...
public class Statistic { private String str;private char chr;private int count = 0;private char ch[];public void setStr(String s){ this.str = s;} public String getStr(){ return str;} public void setChr(char c){ this.chr=c;} public char getChr(){ return chr;} public...

文圣区15128516133: 这段JAVA代码是什么意思? -
倚罡灯银: 这个inclass应该是实现了myinterface 的一个类.所以返回值类型可以是myinterface.在调用返回对象的时候还是调用inclass的方法.这样可以对调用者隐藏实际使用的对象,修改会比较方便.

文圣区15128516133: JAVA这段代码啥意思 -
倚罡灯银: 这个方法是验证一个字符串数组存在和不为空,如果数组不存在或者数组为空(长度为0)则返回false,否则返回true,boolean result = true ;刚进来默认是真,if(values == null || values.length == 0)当数组不存在或者长度为0,则返回非真,for(...

文圣区15128516133: 这段java代码是什么意思? -
倚罡灯银: x=0x=5x=2这个代码主要考java代码执行顺序,顺序如下:static静态代码块最先加载,然后就是非静态代码块,然后到构造方法

文圣区15128516133: 帮我解释一下这段java代码的意思?
倚罡灯银: 这就是构造一个数列,数列的差逐渐增大,属于奇异数列.值为:0,-1,-3,-6,-10,-15,-16··· 定义了一个数组类型来存放这个数列的前500001个值,for循环就是用来给这个数组赋值的,同时用一个哈希表来标记数组是否被赋值.然后通过外设输入一个数字来查询数组中的第n项,输出在外设.

文圣区15128516133: 新手,求问这段java代码大概啥意思,谢谢啦
倚罡灯银: 这段代码应该是一个JS表单判断,完整代码如下,骚年自己感受一下 function checkspace(checkstr) { var str = ''; for(i = 0; i < checkstr.length; i++) { str = str + ' '; } return (str == checkstr); } function check() { if(checkspace(document.form1.client.value))...

文圣区15128516133: 解释一下这段Java代码 -
倚罡灯银: 这是spring中的一个字符集设置过滤器 setCharacterEncoding过滤器名称 org.springframework.web...

文圣区15128516133: JAVA 请问这段代码的意思是: -
倚罡灯银: 这段代码是用来给成绩划分等级的:如果输入的成绩比0小或比100大,要求重新输入这个区间内数字另外在60,80,90三个节点设置了四个等级A B C D.

文圣区15128516133: Java这段代码是什么意思啊,特别是那个%号,在这里有什么用呢?. -
倚罡灯银: 这段代码是格式化输出(保留4位小数)自然对数的底数e 格式化输出(保留3位小数)x和x的平方根 其中的%表示后面跟的是格式化字符串%.4f表示自然对数的底数e要保留4位小数以浮点小数的形式输出,结果是2.7183%n表示行分隔符,就是换行.第一个%.3f表示double x的值要以保留3位小数的浮点小数的形式输出,结果是11.635 第二个%.3f表示double x的平方根的值要以保留3位小数的浮点小数的形式输出,结果是3.411

文圣区15128516133: 请问这段java代码是什么意思,跪求解释清楚一点 -
倚罡灯银: sheetNum= rowd/10 向上取整for循环 次数= sheetNum的值里面的代码不是很清楚,定义了 sourceFirstRow sourceLastRow beginClumnIndex columnNum 四个属性 sourceSheet targetSheet sheetn 三个对象,好像是要进行分页操作!但是又不像,分页不需要循环!那个操作要去看这个的源码 aexcel.sheetclone(sourceSheet,sourceFirstRow, sourceLastRow, beginClumnIndex,columnNum, targetSheet, targetFirstRow);}

文圣区15128516133: 请教这段java代码什么意思
倚罡灯银: 这个是从控制台输入的~假如你的类的类名为sss,那么在控制台输入javac %filepath%/sss.java编译,java sss空格asd sadg gsdg shs 后面是乱输的,就是说把这堆乱输的放入args这个数组中,你的代码的意思是如果args中没有东西怎样怎样~

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网