
Java基础解惑集
文章平均质量分 57
谐音太郎
谐音啊,只是谐音~
展开
-
JavaDoc 书写规范
在Java程序中正确使用javadoc标记是一个良好的注释习惯,将非常有助于javadoc自动从源代码文件生成完整的格式化API文档。下面就对各种标记进行详细说明。 ◇ @author name-text 指定生成文档中的作者项,从JDK/SDK 1.0开始引入。name-text可以指定多个名字(使用,隔开)。文档注释可以包含多个类。 ◇ {@docroot} 代表产生文档的根转载 2008-08-04 09:03:00 · 3770 阅读 · 0 评论 -
异常处理:Page directive has invalid attribute: trimDirectiveWhitespaces
我们经常会在JSP页面上使用:这个命令可以使jsp输出的html时去除多余的空行(jsp上使用EL和tag会产生大量的空格和空行)。但是这个命令是从JSP2.1规范以后才得到支持。所以在tomcat 6.0之前的版本上如果使用这个命令就会抛出异常:Page directive has invalid attribute: trimDirectiveWhitespaces解决方法是:1.升级tomcat至6.0以上版本2.Tomcat 5.5.x+,不要使用trimDirectiveWhitespaces,改原创 2011-05-21 11:36:00 · 12163 阅读 · 2 评论 -
tomcat集群环境下,JSP页面更新同步,页面展示未更新 的问题排查
背景:企业环境下使用域名轮询 + 多台tomcat 来平衡负载,tomcat之间共享数据库,因为没用到session所以并没有做tomcat集群的配置。多个tomcat之间会使用rsync文件同步来同步工程文件,举例说来就是,用一台服务器作为主服务器,一旦主服务器上的jsp文件更新那么会定时同步到其他服务器上去。问题描述:主服务器上jsp页面更新,主服务器访问页面更新生效,从服务器访问页面没有更新。问题猜想1:更新没有生效首先就怀疑页面文件同步出了问题。问题排查1:主从服务器上取下页面文件进行对比,发现页面原创 2011-04-08 18:41:00 · 3842 阅读 · 0 评论 -
HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
今天解决了一个HttpClient的异常,汗啊,一个HttpClient使用稍有不慎都会是毁灭级别的啊。这里有之前因为route配置不当导致服务器异常的一个处理:http://blog.youkuaiyun.com/shootyou/article/details/6415248里面的Htt原创 2011-07-18 20:11:15 · 169385 阅读 · 19 评论 -
从form的enctype属性到Content-Type再到request.getInputStream()
还是一个异常引发的故事:需要实现一个手机客户端行为分析的需求,手机客户端需要上传一些数据文件。手机客户端通过http协议post方式上传数据文件的时候,我们发现在服务器端无法通过request.getInputStream()获取到相应的数据,调用request.getInputStream()读取数据里头啥都木有。经过各种尝试我们注意到如下的情况:1.在不做任何修改的情况下,原创 2012-01-07 13:49:20 · 18951 阅读 · 1 评论 -
HttpClient4.X 升级 入门 + http连接池使用
转载请注明出处,谢谢~http://blog.youkuaiyun.com/shootyou/archive/2011/05/12/6415248.aspx 在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection原创 2011-05-12 17:09:00 · 76705 阅读 · 23 评论 -
Java clone() 浅克隆与深度克隆
以下文字转自:桔子园 http://www.blogjava.net/orangelizq/archive/2007/10/17/153573.html 现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的转载 2009-02-28 14:46:00 · 46011 阅读 · 8 评论 -
警告处理 A C3P0Registry mbean is already registered. This probably means that an application using c3p.
遇到完整的警告信息如下:WARN 2010-11-06 19:04:37,270 A C3P0Registry mbean is already registered. This probably means that an application using c3p0 was undeployed, but not all PooledDataSources were closed prio原创 2012-10-30 19:58:20 · 9830 阅读 · 0 评论 -
【简短笔记】MyBatis 3 使用内部缓存
在面对查询多而且修改少的运用场景之下,可以开启MyBatis的内部缓存。开启非常方便,但是要注意缓存刷新的逻辑。开启二级缓存,你只需要在 SQL 映射文件中加入简单的一行:这句简单的语句的作用如下:1.所有在映射文件里的 select 语句都将被缓存。2.所有在映射文件里 insert,update 和 delete 语句会清空缓存。3.缓存使用“最近很少使原创 2012-11-28 16:30:09 · 3072 阅读 · 0 评论 -
【简短笔记】Spring+Quartz的版本问题
使用Spring配置管理Quartz的时候会遇到下面的异常:Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class原创 2012-11-12 19:21:14 · 10179 阅读 · 2 评论 -
Windows 64位系统中安装Android SDK“系统找不到指定的文件Java.exe”解决方法
首先请看这里:http://blog.galois21.com/computer/galois21/2012_11_03/348如果按照上面的步骤还无法解决。那么进入你自己的C:\Windows\System32目录下,看看是不是有java.exe、javac.exe等等,有的话全部删掉。然后再执行上面的步骤。问题解决。原创 2012-12-28 22:23:11 · 11025 阅读 · 2 评论 -
异常处理:Eclipse下解决Plugin execution not covered by lifecycle configuration异常
异常描述:今天尝试导入Apache Vysper源码,使用eclipse juno+m2e插件,发现如下错误:Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:properties-maven-plugin:1.0-alpha-1:write-project-properties (exec原创 2013-01-06 10:59:52 · 59916 阅读 · 1 评论 -
【异常处理】Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现
Emoji表情字符现在在APP已经广泛支持了。但是Mysql的UTF8编码对Emoji字符的支持却不是那么好。所以我们经常会遇到这样的异常:Incorrect string value: '\xF0\x90\x8D\x83...' for column原因是Mysql里UTF8编码最多只能支持3个字节,而Emoji表情字符使用的UTF8编码,很多都是4个字节,有些甚至是6个字节。原创 2015-04-03 11:09:36 · 33577 阅读 · 4 评论 -
JSP自定义标签的页面解析生命周期及线程安全
问题描述:使用JSP自定义标签时,发现标签内的私有变量在页面第一次请求之后就不会发生变化了。而且不同的页面同样的标签变量值不一样。问题猜想:原以为JSP自定义标签在JSP编译的时候会被new出来,但是看样子JSP在编译的时候用了缓存池来存放解析后的标签的对象。并且这个缓存池针对同一个页面是共享的。问题原因跟踪:查看JSP编译成的servlet代码,发现标签的实例果然不是new出来的,而是这么创建的:com.xxx.tag.XXTag _jspx_th_xxx_005fxx_005f0 = (com.xxx.原创 2011-03-16 19:37:00 · 2996 阅读 · 0 评论 -
由Tomcat 8005端口想到的...
在阅读“tomcat启动分析” 的时候注意到server.xml配置文件有这么一行:从配置大致可以判断这个端口大致适用于关闭tomcat。于是乎telnet 到8005端口然后执行“SHUTDOWN”(区分大小写),此时也可看到tomcat后台在解析telnet上来的命令,然后果然tomcat被关闭了。一个不起眼的配置尽然可以不用验证直接关闭tomcat,如果不注意修改默认配置的话就是个安全漏洞啊。所以尽量把端口或者shutdown的命令修改掉。分享几篇tomcat的好文章:Tomcat配置的几个安全问题原创 2010-11-12 18:49:00 · 12573 阅读 · 1 评论 -
Javadoc 的书写格式和javadoc命令的使用
JAVADOC语法 我们在开发JAVA程序中, 可以使用Javadoc来进行程序文档的整理, 当程序编写完成, 利用Java自带的JavaDoc工具就可以生成规范的API说明手册. 下面是我自己整理的一些语法:书写格式:/** * ........*/public int getCount() { ....... Javadoc只能为public,protected两种权限的类成员进行处理注释文档转载 2008-08-04 09:07:00 · 1768 阅读 · 0 评论 -
Java 整数类型的使用和运算
Java 的数据分为对象(引用)类型和基本(简单)类型。 基本类型分为数值类型和布尔类型。数值类型分为浮点类型与整数类型。浮点类型分为float与double。整数类型分为byte,short,int,long,char。引用类型包括数组类型,接口类型,类类型。 整数类型: 关键字 数据类型 占用字节数 取值范围byte 字节型原创 2009-02-22 11:35:00 · 2378 阅读 · 0 评论 -
static函数使用
首先请看一个错误的例子:public class P38 { /** * @param args */ public static void main(String[] args) { String a = getStr(); } public String getStr() { return new String("asd"); }}原创 2009-02-27 18:40:00 · 2549 阅读 · 0 评论 -
assert关键字的使用
在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,则需要用开关-enableassertions或-ea来开启。 assert关键字语法很简单,有两种用法: 1、assert 如果为true,则原创 2009-02-27 19:56:00 · 1020 阅读 · 0 评论 -
循环label使用
循环的label(标记)跟臭名昭著的goto有点相似,java虽然保留了goto的关键字但是没有使用它,而循环的label却是可以使用的。 无论是对与for循环还是while,label都有以下规则: 1.一般的continue会回到内层循环的顶端,继续执行。2.labeled continue会跳跃至label所在处,然后在label之后重新进入循环。3.一般的break原创 2009-02-28 13:52:00 · 1994 阅读 · 0 评论 -
不需要import的几种情况
1.java.lang 包提供利用 Java 编程语言进行程序设计的基础类。最重要的类是 Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类)。 把基本类型的值当成一个对象来表示通常很有必要。包装器类 Boolean、Character、Integer、Long、Float 和 Double 就是用于这个目的。例如,一个 Double 类型的对象包含了一原创 2009-02-28 14:36:00 · 2229 阅读 · 0 评论 -
finalize()方法
以下转自:孙卫琴《Java面向对象编程 》 11.4.3 对象的finalize()方法简介当垃圾回收器将要释放无用对象的内存时,先调用该对象的finalize()方法。如果在程序终止之前垃圾回收器始终没有执行垃圾回收操作,那么垃圾回收器将始终不会调用无用对象的finalize()方法。在Java的Object祖先类中提供了protected类型的finalize()方法,因此任何Ja转载 2009-02-28 14:17:00 · 4461 阅读 · 0 评论 -
LinkedHashMap实现一个固定容量的基于最近最少使用算法的缓存类
固定容量的基于最近最少使用算法的LinkedHashMap.可用作简单缓存.使用方法与LinkedHashMap一致.利用LinkedHashMap实现简单的缓存,必须实现removeEldestEntry方法,具体参见JDK文档.另外还加入了一个可重入的互斥锁定.使用说明:LRU算法是LinkedHashMap本身通过双向链表来实现,当某个位置被使用(例如get操作),通过调整链表的指向原创 2009-04-24 21:15:00 · 4883 阅读 · 2 评论 -
Javadoc 导出中文乱码解决
在eclipse里面,project->Generate javadoc菜单,在第三个对话框的Extra Javadoc options文本框里面加上 -encoding UTF-8-charset UTF-8 用Maven导出javadoc的时候的配置: org.apache.maven.plugins转载 2009-04-24 21:08:00 · 2291 阅读 · 0 评论 -
Ajax 跨域请求问题
今天需要实现这么一个页面,需要同时向四台服务器发送请求。一开始考虑在服务器端实现,但是还得自己加个HttpClient的包,后来想到Ajax刚好也可以实现这个目标,于是有了如下代码: <!--var XMLHttp = { _objPool: [], _getInstance: function () { for (var i原创 2009-05-09 14:40:00 · 1340 阅读 · 0 评论 -
Tomcat 自动加载
遇到的问题是,在已部署的项目中添加一个新的Jar包,需要重启Tomcat之后才能使用该Jar包。 解决办法是开启Tomcat的自动加载选项。 tomcat4.x 之前的版本的方法是: 添加到到server.xml或者datasource.xml中去。 自tomcat5开始,已经不推荐把context放在$CATALINA_HOME/conf/server原创 2009-05-09 16:40:00 · 2218 阅读 · 0 评论 -
M2Eclipse:Maven Eclipse插件无法搜索远程库的解决方法
使用Eclipse安装了maven插件之后,创建Maven工程,发现添加依赖“Add Dependency”的时候无法自动搜索远程库。 如果不能搜索远程库那用这个插件有啥用撒。。。 查遍了所有的maven配置文件都没发现问题。 最后发现是插件本身的问题。原因是远程库的索引没有成功的建立。 很有可能安装插件之后的某一次“Update Indexes”失败之后,导致默认原创 2010-01-27 17:29:00 · 8357 阅读 · 0 评论 -
Linux平台Java环境中文编码研究
09年在原来公司做的一篇文章,现在共享出来。此次研究主要针对Linux操作系统中Java环境下可能产生的中文乱码问题展开一些试验,目的在于寻求一套无乱码的解决方案。此文档目的在于详细介绍《2 过程记录文档》中得出的相关结论,以及描述建立一个统一编码环境的具体过程。 一、 准备知识1. 字节、字符、编码从计算机对多国语言的支持角度看,大致可以分为三个阶段:原创 2015-05-12 17:14:14 · 9093 阅读 · 1 评论