随笔分类 - JAVA
摘要:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽...
阅读全文
摘要:在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我...
阅读全文
摘要:JAVA,也经常用到时间,总是出错,记录一下: 例如说,以这样的形式从数据库那边拿到了消息: /* * Get System Date/Time */ pstmt = connection .prepareStatement("SELECT TO_CHAR(sysda...
阅读全文
摘要:本文转载自:http://blog.sina.com.cn/s/blog_605f5b4f0100z3bc.htmlC++中:substr(start, length);//注意第二个参数是长度,表示从start位置起,截取length这么长的字符串> cat test.cpp#include<iostream>#include<string>using namespace std;int main(){string str = "89M11S";cout << str.substr(3, 3) << endl;retu
阅读全文
摘要:我是从三点多才知道有比赛的,所以只剩下不到两个多小时,中间肚子疼,又上厕所一次,真是的。。参加吧,捡到哪到是哪到~不吉利的数字时间限制:1000ms | 内存限制:65535KB描述一些普通的数字在很多人眼里是不吉利。如数字4,谐音“死”,所以很多地方都没有带4的数字:比如新校区澡堂衣柜编号及没有4;再如数字13,在西方人眼中代表着坏运气,也是不吉利的数字,13不出远门,楼层不设第13层等等。假如某些人认为0是不吉利的数字,并且在他们以后的生活中,记录数据都在不在使用含有0的自然数。他们记录数的序列是1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,21
阅读全文
摘要:Gone Fishing这道题目运用的多次折合成一次这种思想我首次见,我想的一个思路是,每次算一下鱼量和时间代价比,这个代码我没有敲,下面的代码是一位仁兄敲得,我研读了一下,做了一个注释,应该有利于后来者进行研读。这次代码中都加了注释,应该满足博客园的规定了~~Gone Fishing时间限制:3000ms | 内存限制:65535KB难度:5描述John is going on a fishing trip. He has h hours available (1 <= h <= 16), and there are n lakes in the area (2 <= n
阅读全文
摘要:第一种方法为自己写的,第二种方法为和队友讨论后改进。附一句话:博客园是一个分享程序员知识的地方,我不明白,写的代码为啥就不算这个分享的知识呢,为什么老是移除什么首页,不符合规定,所谓云云。。代码是程序员分享的一切的思想以及细节的终极体现形式。。。如果有一个博客,都是代码,我反而高兴,终于那些繁琐的,具有二义性、甚至多义性的歧义的文字终于没有了,只剩下了简明、逻辑、有效的东西。。。本来应该用c++写的,直接使用java写了,感觉更顺手。Radar时间限制:1000ms | 内存限制:65535KB难度:3描述Assume the coasting is an infinite straight
阅读全文
摘要:今天在用java写一个程序的时候,遇到了一个小问题。写出来,一起分享。由于写的是一个简单的一段代码,并不打算长期使用,所以我用set的过滤能力,对一个较大的数组进行过滤,去掉重复的项,可是遇到了问题。出问题部分的主要代码:int n=cin.nextInt();int a[]=new int[n];for(int i=0;i<n;i++){ a[i]=cin.nextInt();} Set set = new HashSet(Arrays.asList(a));Iterator it=set.iterator();while(it.hasNext()){ System.out.print
阅读全文
摘要:这几天忙着学英语,同时在学习编译原理,对这门课很感兴趣,已经制作了词法分析器,同时还在补充这个分析器的功能,也准备着手开始写语法分析器,看到最后能不能连在一起,我想如果能够将整套编译器的流程跑下来真的很棒呢,看比尔盖茨那年龄都写出BASIC了,真是觉得与大牛差距太大,一定要追赶~~ 将前一段时间学的编译原理重新回顾一下。也与大家分享一下学习资料。翻译器:能够将一种语言转换成另一种语言的软件,而且后者与前者在逻辑上是等价的。编译与解释的区别:1.编译器:工作效率高,即时间快、空间省;交互性与动态特性差、可移植性差。大多数PL采用此种方法翻译2.解释器:工作效率低,即时间慢、空间费;交互...
阅读全文
摘要:一、java中String和StringBuffered有什么区别?--看到的一个很好的回答在我以前的了解中,String是一个final Class, StringBuffer不是。所以对于 String a = "yacht" ,String b = "yacht1" String c = a + b ; 存在一个对象拷贝构造和解析的消耗问题;对于一个StringBuffer来说,StringBuffer sb = new StringBuffer();sb.append("yacht") ; sb.append("ya
阅读全文
摘要:小玩具——单词词频统计该程序是在我学习JAVA过程中的一个偶然想法,距离现在很久了,现在回顾一下这个程序的编写过程,有一天我正在背CET-4单词,实在是很煎熬啊,看着好厚一本俞敏洪的CET-4,我实在是感到很不开心,背着背着,我在想如果能够找出所有从2000年到本年的卷子中的单词频率,是否会使背单词容易些?我简单在大脑中“验证”了一下设计方法,验证通过,也许是不想背单词,我立刻被这个很好的不背单词“借口”所打动,立刻奔向实验室,开始编码。最终的编码结果:处理的源文件截图:最终的处理结果(2003年9月四级试题):正如大家所看到,输入文件为:从网上下载的不加修改的试题,输出为处理好的,对于每一种
阅读全文
摘要:如何控制float类型小数点后的位数java.text.DecimalFormat df = new java.text.DecimalFormat("########.00");df.format(11.12356);
阅读全文
摘要:Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。Resin本身包含了一个支持HTTP/1.1的WEB服务器。虽然它可以显示动态内容,但是它显示静态内容的能力也非常强,速度直逼APACHE SERVER。许多站点都是使用该WEB服务器构建的。Resin也可以和许多其他的WEB服务器一起工作,比如Apache server和IIS等。Resin支持Servlets 2.3标准和JSP 1.2标准。熟悉ASP和PHP的用户可以发现用Resin来进行JSP编程是件很容
阅读全文
摘要:JAVA线程的缺陷【编者按】 Allen Holub 指出,Java 编程语言的线程模型可能是此语言中最薄弱的部分。它完全不适合实际复杂程序的要求,而且也完全不是面向对象的。本文建议对 Java 语言进行重大修改和补充,以解决这些问题。 访问的问题 如果缺少良好的访问控制,会使线程编程非常困难。大多数情况下,如果能保证线程只从同步子系统中调用,不必考虑线程安全(threadsafe)问题。我建议对 Java 编程语言的访问权限概念做如下限制;应精确使用 package 关键字来限制包访问权。我认为当缺省行为的存在是任何一种计算机语言的一个瑕疵,我对现在存在这种缺省权限感到很迷惑...
阅读全文
摘要:@Deprecatedpublic final void stop() 已过时。 该方法具有固有的不安全性。用 Thread.stop 来终止线程将释放它已经锁定的所有监视器(作为沿堆栈向上传播的未检查 ThreadDeath 异常的一个自然后果)。如果以前受这些监视器保护的任何对象都处于一种不一致的状态,则损坏的对象将对其他线程可见,这有可能导致任意的行为。stop 的许多使用都应由只修改某些变量以指示目标线程应该停止运行的代码来取代。目标线程应定期检查该变量,并且如果该变量指示它要停止运行,则从其运行方法依次返回。如果目标线程等待很长时间(例如基于一个条件变量),则应使用 interrup
阅读全文
摘要:java过滤特殊字符的正则表达式[转载]2010-08-05 11:06Java过滤特殊字符的正则表达式关键字: java过滤特殊字符的正则表达式// 过滤特殊字符 public static String StringFilter(String str) throws PatternSyntaxException { // 只允许字母和数字 // String regEx = "[^a-zA-Z0-9]"; ...
阅读全文
摘要:java字符编码方式总结一、概要 在JAVA应用程序特别是基于WEB的程序中,经常遇到字符的编码问题。为了防止出现乱码,首先需要了解JAVA是如何处理字符的,这样就可以有目的地在输入/输出环节中增加必要的转码。其次,由于各种服务器有不同的处理方式,还需要多做试验,确保使用中不出现乱码。二、基本概念2.1 JAVA中字符的表达 JAVA中有char、byte、String这几个概念。char 指的是一个UNICODE字符,为16位的整数。byte 是字节,字符串在网络传输或存储前需要转换为byte数组。在从网络接收或从存储设备读取后需要将byte数组转换成String。String是字符串,..
阅读全文
摘要:public static boolean isValidUtf8(byte[] b,int aMaxCount){ int lLen=b.length,lCharCount=0; for(int i=0;i<lLen && lCharCount<aMaxCount;++lCharCount){ byte lByte=b[i++];//to fast operation, ++ now, ready for the following for(;;) if(lByte>=0) continue;//>=0 is nor...
阅读全文
摘要:import java.net.MalformedURLException; import java.net.URL; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HeaderElement; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.meth.
阅读全文
摘要:ASCII码表2008-06-11 09:48美国标准信息交换标准码( American Standard Code for Information Interchange, ASCII )在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机比较傻,只有0和1两位数的二进制比较适合于它使用),同样的,象a、b、c、d这样的52个字母(包括大写)、以及0、1、2等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪个数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通讯而不造成混乱,那么大家就必须使用相同的编
阅读全文