
Java
文章平均质量分 66
一个热爱bug的程序猿
这个作者很懒,什么都没留下…
展开
-
Java中volatile关键字的使用
在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。 这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。 在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄原创 2013-07-18 15:43:18 · 430 阅读 · 0 评论 -
【引用】Java从控制台读入数据的几种方法
这里记录Java中从控制台读入信息的几种方式,已备后查! (1)JDK 1.4(JDK 1.5和JDK 1.6也都兼容这种方法)public class TestConsole1 { public static void main(String[] args) { String str = readDataFromConsole("Please input strin原创 2013-07-18 15:44:25 · 602 阅读 · 0 评论 -
request.setAttribute()与getParameter()
request.getParameter(),request.setAttribute()区别如下: (1)request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。 (2)request.getParamet原创 2013-07-18 15:44:27 · 643 阅读 · 0 评论 -
servlet中常用的过滤器(转)
一、字符编码的过滤器 import javax.servlet.*; import java.io.IOException; /** *//** * 用于设置 HTTP 请求字符编码的过滤器,通过过滤器参数encoding指明使用何种字符编码,用于处理Html Form请求参数的中文问题 */ public class CharacterEncodingFilter implements Fi原创 2013-07-18 15:44:45 · 610 阅读 · 0 评论 -
jdbc中preparestatement操作数据库几个应该注意的问题
利用jdbc操作数据库时,我们通常会选用preparestatement来执行预编译的sql 语句,如下语句是我们经常使用的(sql server 数据库): select top 7 from table1 where name like '%aa%' 现在我们的需求是:从数据库取出来的条数是任意的,后面的aa关键字也是动态从前台传进去的,通常情况下我们会这样写sql原创 2013-07-18 15:44:47 · 783 阅读 · 0 评论 -
深入理解jvm(转)
( 首先这里澄清两个概念:JVM实例和JVM执行引擎实例,JVM实例对应了一个独立运行的java程序,而JVM执行引擎实例则对应了属于用户运行程序的线程;也就是JVM实例是进程级别,而执行引擎是线程级别的。)一、 JVM的生命周期JVM实例的诞生:当启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的cla原创 2013-07-18 15:44:50 · 466 阅读 · 0 评论 -
Java中容易犯错的一个地方(转)
直接上代码 Java代码 public static void main(String[] args) { System.out.println(1.0 - 0.1); System.out.println(1.0 - 0.2); System.out.println(1.0 - 0.3); System.out原创 2013-07-18 15:45:01 · 740 阅读 · 0 评论 -
ireport使用教程(转)
直接把原文链接给大家,个人感觉写的还是比较全的:http://blog.163.com/liushuo216@126/blog/static/1814432020087534517426/原创 2013-07-18 15:45:03 · 559 阅读 · 0 评论 -
使用hibernate映射应注意的一个问题
数据库字段定义为char(13),hibernate映射文件定义为: 当我要将isbn取出显示在下拉列表中时,怪问题来了,显示的总是isbn的第一个数字,明明isbn有十几个数字,但是却只显示了一个数字,开始我还以为是在那些daos,services中定义的方法返回类型不对导致的,检查一遍后发现都是对的,没办法,只能使用原创 2013-07-18 15:45:17 · 622 阅读 · 0 评论 -
Class.forName() 和 ClassLoader.loadClass()的区别?
Class.forName("xx.xx")等同于Class.forName("xx.xx",true,CALLClass.class.getClassLoader()),第二个参数(bool)表示装载类的时候是否初始化该类,即调用类的静态块的语句及初始化静态成员变量。ClassLoader loader = Thread.currentThread.getContextClassLoader()原创 2013-07-18 15:45:41 · 678 阅读 · 0 评论 -
log4j配置
log4j.rootLogger 是配置log4j的根logger 具体配置方法请看下面代码 log4j.properties配置文件讲解如下: # Set root logger level to DEBUG and its only appender to A1 #log4j中有五级logger #FATAL 0 #ERROR 3 #WARN 4#INFO 6 #DEBUG 7 配置根L原创 2013-07-18 15:45:44 · 1310 阅读 · 0 评论 -
lucene+ikanalyzer实现中文同义词搜索
lucene实现索引的创建与检索;ikanalyzer实现对中文的分词;光到这里已经能够实现中文的检索了,但是光这样还不够,很多项目中的检索,应该还能够对同义词进行处理,比如索引库中有“计算机”,“电脑”这样的词条,搜索“笔记本”应该也能把“计算机”,“电脑”这样的词条匹配出来,这就涉及到对同义词的索引检索了。两种方案:1、在建立索引时,拆词建索引时就把同义词考虑进去,将同义词的词原创 2015-01-28 23:20:11 · 5569 阅读 · 1 评论 -
Java中执行存储过程
存储过程示例: CREATE proc p_upAppPda( @upNo varchar(50), @whCode varchar(50), @instockNo varchar(50), @ReturnVal int output ) as Begin原创 2013-07-18 15:44:03 · 617 阅读 · 0 评论 -
Java中的路劲问题(转)
1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个 URL绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在 Servlet中,"/"代表Web原创 2013-07-18 15:43:40 · 676 阅读 · 0 评论 -
Java中无法引用第三方控件的解决方法
想让Java播放mp3歌曲,从网上看到说要用jmf实现,到网上下了jmf的安装包,安装后还是不会用,又到网上下了个示例,拖进Eclipse后发现有好多错误提示,后来得知是未引入jar包的原因,于是引入jar包,发现还是不行,到网上搜了一下,解决方法如下:把Windows-Preferences-Java-Complicer-Errors/Warnings里面的Deprecated and rest原创 2013-07-18 15:43:23 · 631 阅读 · 0 评论 -
ResultSet和Result的区别与联系
二者的区别在于前者对于修改不敏感,而后者对于修改敏感resultSetConcurency是设置ResultSet对象能够修改的,取值如下: ResultSet.CONCUR_READ_ONLY 设置为只读类型的参数。 ResultSet.CONCUR_UPDATABLE 设置为可修改类型的参数。 以下两种方法的共性:返回可滚动的结果集,当数据库变化时,当前结果集同步改变。 不可用结果集更新数据库原创 2013-07-18 15:43:36 · 778 阅读 · 0 评论 -
判断一个字符串中含有某一字符个数新解
经常遇到要判断某一字符串中含有特定字符的个数问题,通常的做法是写一个循环来遍历字符串,但是今天看到一种更高效的做法,如下:要判断str中含有‘a‘字符的个数String str="abcdefghijklmn";char ch='a';System.out.println(str.length()-str.replace(ch,'').length());这样就可以了,相对于循环来说效率高多了!原创 2013-07-18 15:44:07 · 2222 阅读 · 1 评论 -
J2EE学习中一些值得研究的开源项目(转)
这篇文章写在我研究J2SE、J2EE近三年后。前3年我研究了J2SE的Swing、Applet、Net、RMI、Collections、 IO、JNI……研究了J2EE的JDBC、Sevlet、JSP、JNDI…..不久我发现这些好像太浮浅了:首先,我发现自己知道的仅仅是java提 供的大量的API,根本不能很好地使用它; 其次,我根本就没有学到任何有助于写程序的知识,此时我也只不过能写个几页的小原创 2013-07-18 15:41:42 · 569 阅读 · 0 评论 -
jsp页面中的<base>标签的作用
刚开始尝试ajax,就碰到了一个问题,捣鼓了半天都没结果。老是说XMLHttpReq.status==404。也就是说请求的页面没找到。百思不解。我的jsp页面和请求的文件data.txt都放在webroot路径下的ajax目录,因此在请求url时我用的路径是url="ajax/data.txt".然后用XMLHttpReq.open("POST",url,true);XMLHttpReq.sen原创 2013-07-18 15:43:38 · 1937 阅读 · 0 评论 -
Java中用smartupload实现上传下载
jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大原创 2013-07-18 15:44:11 · 760 阅读 · 0 评论 -
java实现50000的阶乘
前几天在群共享里看到一个人上传的“50000!.txt”当时觉得比较好奇就下下来了,双击打开看了下,晕,这么大个家伙,光打开就占用了好几秒的时间,也在当时明白了这个文档的特殊性了,今天心血来潮,也想试着自己写下50000的阶乘,最开始我是用递归实现的,代码如下: /** * 递归实现求阶乘 * @param n * @return */ public s原创 2013-07-18 15:44:32 · 1132 阅读 · 0 评论 -
深入理解struts2的值栈(转)
百度上的一篇文章,由于编码,转码规则不一样,转到这边后很多html标签,直接给大家一个链接: http://apps.hi.baidu.com/share/detail/31941919原创 2013-07-18 15:44:59 · 586 阅读 · 0 评论 -
struts2中jsp页面遍历map对象
MapAction.java Java代码 package com.zx.demo.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.ActionSup原创 2013-07-18 15:45:21 · 829 阅读 · 0 评论 -
java语言中的静态块
Java中自由块的执行顺序java中的自由块分为静态的自由块和非静态的自由块,这两种的执行是有区别的。非静态自由块的执行时间是:在执行构造函数之前。静态自由块的执行时间是:class文件加载时执行。执行的时间不同,造成的结果是:非静态自由块可以多次执行,只要初始化一个对象就会执行,但是静态自由块只会在类装载的时候执行一次,一般用来初始化类的静态变量的值。每次初始化一个对象,都会导致一次非静态块的执原创 2013-07-18 15:45:26 · 578 阅读 · 0 评论 -
exception、runtimeException、error
try、catch、finally均不能单独存在,有如下三种用法:(1)try{}catch(){}finally{};(2)try{}finally{};(3)try{}catch(){}在一个语句块中throw语句后不能有其他语句,因为throw后的语句是不可达的,catch块中有throw语句时,如果后面还有finally块,会先执行finally块。异常非为两种:受检查异常和运行时异常运行原创 2013-07-18 15:46:02 · 848 阅读 · 0 评论 -
Eclipse 3.3常用快捷键
Eclipse 3.3常用快捷键(转帖) 1.? 常用快捷键 Ctrl+1 快速修复(对Java很有用,具体使用方法得查一查文档) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面原创 2013-07-18 15:41:56 · 451 阅读 · 0 评论 -
tomcat 6.x下ssi(即让tomcat支持shtml)配置
tomcat 6.x下lib目录下是没有servlet-ssi之类的jar的,只需要在相应的配置文件中启用相关配置即可SSI有servlet和filter两种配置。用SSI servlet的话,去掉SSI servlet和servlet mapping的注释。若是用SSI Filter,则要修改三个地方:去掉filter ssi的注释,;去掉ssi filter原创 2015-06-29 09:33:40 · 661 阅读 · 0 评论