Java基础
Java基础知识以及常见错误
debugmoney
金融菜鸟
展开
-
xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence说简单点当你解析别人的xml格式出现这个错误可能就是别人在生成xml时没有保存为utf-8的字符编码格式。在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以GBK格式来保存的,所以这也就是为什么能够我们使用GBK、G转载 2014-01-02 09:30:29 · 627 阅读 · 0 评论 -
@Override错误
一、java @override 报错处理做项目的时候,同事那边电脑上编译通过的java代码,或者是网上下载的样例代码,导入工程后却是编译不通过,总是@override报错,把@override去掉就好了,有时候@Override出现的地方很多,要全部删除@Override很繁琐很吐血,不能从根本上解决问题。网上找了一下原因,才知道:据说这是jdk的问题,@Override是JDK转载 2013-07-10 10:07:12 · 555 阅读 · 0 评论 -
URL路径中含有中文
如果传递参数中含有中文,这是我们经常遇到的问题,只需要在接收端对接收变量进行转码就可以了以下是我们经常用到的String cmdType = request.getParameter("CmdType");try { cmdType = new String(cmdType.getBytes(),"gbk");} catch (UnsupportedEncodingException原创 2014-03-25 15:14:28 · 8239 阅读 · 1 评论 -
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
今天忽然调整项目时,忽然发现MyEclipse6.5没有安装tomcat7的集成插件,但是可以配置成功也就没在意,但是启动tomcat后报错如下:java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 从网上查到是因为tomcat7跟MyEclipse内核不匹配造成的,从网上查到整理如下: 原因:原创 2013-07-10 17:08:29 · 855 阅读 · 0 评论 -
请慎用java的File#renameTo(File)方法
以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名、移动文件的目的。不过后来经常发现问题:File#renameTo(File)方法会返回失败(false),文件没有移动,又查不出原因,再后来干脆弃用该方法,自己实现一个copy方法,问题倒是再也没有出现过。 昨天老板同学又遇到这个问题,File#renameTo(File)方法转载 2013-12-31 09:24:06 · 641 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: org/jaxen/JaxenException
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式,标题都写的这么阔气:Powerful Navigation with XPath。方法是使用Document的selectNodes(String XPath)方法,代码写法:List l = doc.selectNodes("//COLS/COL1转载 2013-12-28 15:19:30 · 724 阅读 · 0 评论 -
Excel异常Cannot get a text value from a numeric cell
在使用POI进行导入数据时,出现如下错误:Cannot get a text value from a numeric cell原因:我们试图从一个数字格式的CELL中读取字符串解决办法:设置单元格格式 HSSFCell cell = row.getCell(keyIndex); cell.setCellType(HSSFCell.CELL_TYPE_STRIN原创 2013-07-19 15:43:10 · 11376 阅读 · 0 评论 -
基础篇--findbugs for idea
一、FindBugs简介(盗取百度知道)FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式(请参阅 参考资料)。图 1 显示了分析一个匿名项目的结果(为防止可怕的犯罪,这里原创 2016-08-31 15:17:38 · 2651 阅读 · 0 评论 -
基础篇--ArrayList扩容
首先,我们来看ArrayList的继承关系如下,从表面上我们可以看到它支持抽象对象的方法public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable我们来看看都继承了哪些方法 AbstractList 一原创 2016-08-22 19:21:17 · 3079 阅读 · 0 评论 -
基础篇--StringBuffer、StringBuilder、String
长久以来,我们被教导字符串的连接最好用StringBuffer、StringBuilder,但是我们却不知道这两者之间的区别.跟字符串相关的一些方法中总是有CharSequence、StringBuffer、StringBuilder、String,他们之间到底有什么联系呢?1、从类的定义看CharSequence、StringBuffer、StringBuilder、String的关系下转载 2016-08-23 19:16:19 · 381 阅读 · 0 评论 -
基础篇--Serializable
一直说序列化,但是为什么要实现序列化?它都实现了什么东西?在实际中的应用是什么?为什么实现接口也可以不定义序列码serialVersionUID的默认值?不定义序列码会出现什么问题?1.序列化的定义是什么?Serializable的介绍如下/** * Serializability of a class is enabled by the class implementi原创 2016-08-24 17:07:01 · 24825 阅读 · 0 评论 -
Integer的计算比较
请判断如下题目的输出结果 public class IntegerTest { public static void main(String[] args) { Integer a=100, b = 100, c=500, d=500; System.out.println(a == b); System.out.println(c == d); }}你可能会认为...原创 2017-02-14 11:25:27 · 24640 阅读 · 0 评论 -
Java实现数组翻转
1.Java提供了一些工具包实现了数组翻转,这里就不在赘述了 reverse。。。2.还可以通过倒叙循环,重新new一个数组进行赋值,例如private static String[] reverseArray(String[] Array) { String[] new_array = new String[Array.length]; f原创 2017-02-22 17:32:03 · 41507 阅读 · 2 评论 -
Java基础之集合移除元素(Iterator)
题目:存在一个集合List,需要剔除其中的值为设定值“2”的对象,如何实现一、题目AList list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5");1.1 分析这还用想么,直接循环元素如果val原创 2017-05-10 08:05:22 · 651 阅读 · 0 评论 -
Map中有序存储
我们都知道,Map中是以key-value形式存储的,通常java.util.Map是无序的,例如: Map map=new HashMap(); map.put("yi","壹");map.put("er","贰");map.put("san","叁");map.put("si","肆"); 这样存储的值,不一定是按顺序的,如果我们要想让它像List那样是不可转载 2016-05-26 14:50:09 · 5475 阅读 · 0 评论 -
java自带线程池和队列详细讲解
一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。转载 2015-02-03 11:42:13 · 576 阅读 · 0 评论 -
线程安全之ConcurrentHashMap
ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读写会发生冲突,我说必须要加锁,我和面试官也因此发生了冲突,结果可想而知。还是闲话少说,通过仔细阅读源代码转载 2014-03-13 16:39:29 · 3227 阅读 · 0 评论 -
Servlet线程安全的解决方法
Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。这样的话,当两个或多个线程同时访问同一个Servlet时,可能会发生多个线程同时转载 2014-03-15 11:07:18 · 505 阅读 · 0 评论 -
JAVA之BigInteger
用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂。用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的来处理。下面是写的一些Java中一些基本的函数的及其……头文件:import java.io.*; import java.util.*; import java.math.*;读入: Scanner转载 2014-04-17 08:48:23 · 477 阅读 · 0 评论 -
jdk与jre的区别
工作也有两年多了,但是忽然今天看到了转载 2014-04-16 14:30:08 · 529 阅读 · 0 评论 -
Tasklist命令详解
“Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。作用:结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程。语法格式:TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI fi转载 2014-07-28 16:16:07 · 14167 阅读 · 0 评论 -
Java中获取进程ID以及杀死进程的方法
最近在写一些Windows平台的自动化脚本,其中涉及到杀死某一个eclipse.exe 进程的功能。在网上搜索了半天,发现用Windows自带的tasklist和taskkill命令可以实现。下面做一个简单的介绍。tasklist介绍Tasklist命令用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数。使用格式为:Tasklist [/S system [/U user转载 2014-07-28 16:11:53 · 14146 阅读 · 0 评论 -
从jar包中读取与写入配置文件
package com.test;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.ne转载 2014-07-30 15:14:36 · 2046 阅读 · 0 评论 -
java操作生成jar包 和写入jar包
//利用jarInputStream生成jar文件写入内容 public static void writeJar()throws Exception{//定义一个jaroutputstream流 JarOutputStream stream=new JarOutputStream(new FileOutputStream("E://tomcat//webapps//bdlp//转载 2014-07-29 16:22:08 · 553 阅读 · 0 评论 -
Java for循环的几种用法分析
J2SE 1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题。在Java程序中,要“逐一处理”――或者说,“遍历”――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不转载 2014-07-31 15:43:58 · 530 阅读 · 0 评论 -
this super
this和super的区别No.区别thissuper1操作属性this.属性:表示调用本类中的属性,如果本类中的属性不存在,则从父类查找super.属性:表示调用父类中的属性2操作方法this.方法():表示调用本类中的方法,如果本类中的方法转载 2014-12-03 15:43:36 · 434 阅读 · 0 评论 -
StringUtils中isEmpty 和isBlank的区别
StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils中一共有130多个方法,并且都是s转载 2015-01-28 12:12:01 · 464 阅读 · 0 评论 -
几种通讯协议的比较RMI > Httpinvoker >= Hessian >> Burlap >> web service
一、综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任转载 2015-02-02 14:33:14 · 562 阅读 · 0 评论 -
RMI、Hessian、Burlap、Httpinvoker、WebService的比较
Java远程调用方法性能比较 【IT168技术】现在,Java远程调用方法很多,各种方法的优缺点网络上也有很多的参考文章,这次我对几个典型的Java远程调用方法做了一个简单的性能分析比较,可供大家参考。 测试环境 CPU:奔腾双核 T4500,内存:DDR3-10672G,Web容器:Tomcat6.0.33,操作系统:WinXP-sp3 测试项目 ①RMI:用Spri转载 2015-02-02 14:32:14 · 601 阅读 · 0 评论 -
关于Integer大小比较的问题
昨天跟朋友一起吃饭,他说到两个Integer类型值比较是否相等的问题。经理也在这里把java的Integer值比较的问题拿出来说一说。因为在面试的时候这个是经常遇到的问题。首先给大家看一个例子: 1public class Test { 2 3 /** *//** 4 * 关于Integer大小比较问题 5 * @author 经理 6转载 2013-08-14 09:58:28 · 639 阅读 · 0 评论