随笔分类 -  J2SE

Java中非静态方法是否共用同一块内存?
摘要:将某 class 产生出一个 instance 之后,此 class 所有的 instance field 都会新增一份,那么所有的 instance method 是否也会新增一份?答案是不会,我们用field表示字段,用method表示方法,那么加上static区分后就 有四种: class field:有用static修饰的fieldclass method:有用static修饰的metho... 阅读全文
posted @ 2011-10-07 11:52 dartagnan 阅读(883) 评论(0) 推荐(0)
try-catch-finally的执行顺序,catch中有return呢?
摘要:try-catch-finally是这样执行的:先执行try中的语句,如果有异常,在相应的catch中执行,然后再执行finally中的语句,如果在catch中有return语句,那么,在这个return这个地方,程序先暂停一下,去执行finally 里面的东西,执行完毕了,再来执行return语句的。 阅读全文
posted @ 2011-10-05 11:05 dartagnan 阅读(242) 评论(0) 推荐(0)
Java内存回收机制全解(算法+内存分配)
摘要:JAVA内存分配 阅读全文
posted @ 2011-09-25 21:57 dartagnan 阅读(8801) 评论(1) 推荐(4)
[ERR]com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行
摘要:java获取结果集,if(rs!=null),和while(rs.next())区别com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行。st = conn.createStatement();ResultSet rs = st.executeQuery(sql);if(rs!=null) {//rs.next();System.out.println(rs.getRow());System.out.println(rs.getString("name")); }st = conn.createStatement 阅读全文
posted @ 2011-03-25 20:30 dartagnan 阅读(7041) 评论(0) 推荐(0)
防止java反编译的一些常用方法
摘要:常用的保护技术由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已,因为这些方法都有自己的使用环境和弱点。1. 隔离Java程序 最简单的方法就是让用户不能够访问到Java Class程序,这种方法是最根本的方法,具体实现有多种方式。例如,开发人员可以将关键的Java Class放在服务器端,客户端通过访问服务器的相关接口来获得服务,而不是直接访问Class文件。这样黑客就没有办法反编译Class文件。目前,通过接口提供服务的标准和协议也越来越多,例如 HTTP、 阅读全文
posted @ 2011-03-24 21:18 dartagnan 阅读(2630) 评论(1) 推荐(1)
HttpClient容易忽视的细节---关闭连接,觉得有用,就转过来了!
摘要:大部分人使用HttpClient都是使用类似下面的事例代码,包括Apache官方的例子也是如此:HttpClient client = new HttpClient();HttpMethod method = new GetMethod("http://www.apache.org");try { client.executeMethod(method); byte[] responseBody = null; responseBody = method.getResponseBody(); } catch (HttpException e) { // TODO Auto- 阅读全文
posted @ 2011-03-21 20:24 dartagnan 阅读(1148) 评论(0) 推荐(0)
java.lang.OutOfMemoryError异常解决方法
摘要:From:http://hi.baidu.com/cjxgotofly/blog/item/ef981434e2e112355ab5f55f.htmljava.lang.OutOfMemoryError异常解决方法原因:常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存值设定的过小;常见错误提示:1.tomcat:java.lang.OutOfMemoryError: PermGen space2.tomc 阅读全文
posted @ 2010-12-24 17:56 dartagnan 阅读(117268) 评论(2) 推荐(4)
Linux下不用终端命令打开.jar文件的方法
摘要:大家都知道在windows下,系统可以直接识别.jar文件(如果装有jre)从而可以直接运行;在linux环境下就没有这么lucky了,我们对.jar文件就不能直接doubleclick了;麻烦!其实绕个弯还是可以直接doubleclick的可以这样:右键.jar文件-》使用其它程序打开->使用自定义命令->/usr/bin/java -jar(/usr/bin/java怎么来的,which java试试!)还记得勾“记住打开Java归档文件类型文件使用的程序”;然后还不能双击打开,但是右键上多了个”用java -jar打开“了;然后,我们就可以不用每次都那么麻烦的进入命令行界面去 阅读全文
posted @ 2010-12-14 21:18 dartagnan 阅读(2752) 评论(0) 推荐(0)
[收集]JAR转EXE的几种工具和方法
摘要:jsmooth: 作者分了有JRE和没JRE两种情况进行转换,可以参考下。http://www.blogjava.net/JAVA-HE/archive/2009/06/03/102219.htmlj2ewiz和jsmooth,讲得很细致:http://student.csdn.net/space.php?uid=48560&do=blog&id=4173当然,还有EXE4J,Installanywhere;以上四个软件就够用了。不过还是建议直接按如下方法操作,更为方便妥当:1. 我们可以把JRE包和JAR文件一起放进一个压缩包里面,要用时就解压;我的机子上JRE大概100M, 阅读全文
posted @ 2010-12-10 21:42 dartagnan 阅读(984) 评论(0) 推荐(0)
就这么一个例子,教你编译+运行+打包java文件
摘要:以下内容来自互联网,经过试验后觉得此文简单可行,于是记录于此;有些地方与我的试验结果不符,于是修改了下。向原作者致谢!首先,手工建立好我的工程MyProject,其实就是建立一个名为MyProject的文件夹,然后在该文件夹下再创建source文件夹,然后就是你喜欢的包名,我地是com.jo 那么就是在source下再创建com文件夹,com下再创建jo文件夹,然后就是源文件了,我建一个名为Test.java的源文件,简单的写下代码做测试:------------------------------------------------------------------------------ 阅读全文
posted @ 2010-12-10 20:41 dartagnan 阅读(771) 评论(0) 推荐(0)
JAR项目的打包
摘要:总体思路是先打成jar再把jar打成exe。主要看1.3和2.3里的内容就可以了。1.将项目打成jar:1.1要将项目打包成jar文件,方法很多,可以用Eclipse自带的打包工具Ant打包,也可以用Eclipse的Export生成jar。经过尝试后,我不推荐用Ant打包,因为要自己编写xml脚本语言,还要增加一些外部的jar,所以我打了好几次都没打成。1.2在这里介绍两种方法生成jar,第一种是用Eclpise的Export功能。在要打包的项目上击右键,选择Export,在窗口中选择Java里的JAR file。Next后的窗口中已经自动选好了要打包的项目,用户可以点击加号查看项目里被打包的 阅读全文
posted @ 2010-12-10 20:21 dartagnan 阅读(902) 评论(0) 推荐(0)
JDK常用命令选项详解(javac, java, javadoc)
摘要:来源:http://pcedu.pconline.com.cn/empolder/gj/java/0507/665443_3.htmljar功能说明: Java归档工具语法: jar [ 命令选项 ] [manifest] destination input-file [input-files]补充说明: jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而,设计jar的主要目的是便于将java applet或应用程序打包成单个归档文件。将applet或应用程序的组件(.class 文件、图像和声音)合并成 阅读全文
posted @ 2010-12-10 20:07 dartagnan 阅读(795) 评论(0) 推荐(0)
java中获取路径的几种方法
摘要://当前的classpathSystem.out.println(Thread.currentThread().getContextClassLoader().getResource("./").getPath());//Test.class文件所在路径 即包路径System.out.println(Test.class.getResource(""));1. 在Servlet\Filter等Servlet web环境中,只要获得javax.servlet.ServletContext类型,则可以通过 getRealPath("..." 阅读全文
posted @ 2010-12-10 19:14 dartagnan 阅读(685) 评论(0) 推荐(0)
【总结】java命令解析以及编译器,虚拟机如何定位类
摘要:1、运行class文件Java代码java<包名>class2、运行jar里面的一个class(含有main方法)需要先设定classpath:Java代码java-cpxxx.jarclass3、javac编译到指定目录javac -d 目录 源文件编译当前目录下所有java文件到e盘java/classes目录下:Java代码javac-de:\\java\\classes./*.java4、javadocJava代码javadoc[options][package][sourcecode]javadoc-d./doc-encodingutf-8-charsetutf-8cjl 阅读全文
posted @ 2010-12-10 18:45 dartagnan 阅读(412) 评论(0) 推荐(0)
如何阅读源代码
摘要:从网上看到别人总结的如何阅读源代码,感觉很有道理,记下来,以备不时只需开源项目已阅读了不少,总结下来按照下面的steps来操作比较恰当: 1)阅读features。以此来搞清楚该项目有哪些特性 2)思考。想想如果自己来做有这些features的项目该如何构架 3)下载并安装demo或sample。通过demo或sample直观地感受这个项目 4)搜集能得到的doc,尽快地掌握如何使用这个项目 5)如果有介绍项目架构的文档,通过它了解项目的总体架构,如果没有,通过api-doc了解源码包的结构 6)分两遍来阅读源码。第一遍以应用为线索,以总体结构为基础,阅读在应用中使用到的类和方法,但不用过深挖 阅读全文
posted @ 2010-12-10 09:47 dartagnan 阅读(492) 评论(0) 推荐(0)
将jar文件做成exe可运行文件
摘要:用Java 开发程序,发布时总要考虑的问题就是怎么在使用者的机器上装好JRE。要考虑的问题很多:使用者有没有能力独自安装JRE,使用者已有的JRE和我们需要 的版本是不是一致,会不会出现版本问题,等等。使用.NET要考虑的问题就少些。现在.NET CLR似乎已经很普及了,看好多D版的Win XP都会自己安装最新的.NET CLR,而且似乎它的安装界面也比JRE友好些。彻底解决安装JRE的问题的方案,就是让我们的应用程序自己背着JRE!这样,我们的程序就像传统的 Win32应用程序一样,双击就可以执行,不用管所在的机器上是否有JRE,是什么版本的JRE,无论怎样,我有我自己的!要做到这一点,其. 阅读全文
posted @ 2010-12-09 11:11 dartagnan 阅读(831) 评论(0) 推荐(0)