
java
文章平均质量分 69
我是一只小兔纸咿呀咿呀呦
To be a better me
展开
-
Excption与Error包结构
异常处理的主要问题就是何时(when)该如何(how)使用异常。1. 异常的概念什么是异常?运行时发生的可被捕获和处理的错误。在java语言中,Exception是所有异常的父类。任何异常都扩展于Exception类,Exception就相当于一个错误类型。如果要定义一个新的错误类型就扩展一个新的Exception子类。采用异常的好处还在于可以精确的定位到导致程序出错的源代码转载 2015-09-24 21:51:09 · 3688 阅读 · 0 评论 -
B树、B-树、B+树、B*树
http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.htmlB树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字转载 2015-10-09 10:04:58 · 1046 阅读 · 0 评论 -
java SOF
还未遇到过!原创 2015-09-25 10:24:59 · 2771 阅读 · 2 评论 -
Java内存溢出的详细解决方案
本文介绍了Java内存溢出的详细解决方案。本文总结内存溢出主要有两种情况,而JVM经常调用垃圾回收器解决内存堆不足的问题,但是有时仍会有内存不足的错误。作者分析了JVM内存区域组成及JVM设置虚拟内存的方式,从而给出了一系列解决方案。AD:一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen spaceJ转载 2015-09-25 12:07:59 · 539 阅读 · 0 评论 -
java多态的实现原理
多态性是Java面向对象的一个重要机制,本文将向您详细介绍Java语言中多态性的实现原理和方法,通过多态一点带出更多Java面向对象有趣而实用的知识。AD:多态性是面向对象程序设计代码重用的一个重要机制,我们曾不只一次的提到Java多态性。在Java运行时多态性:继承和接口的实现一文中,我们曾详细介绍了Java实现运行时多态性的动态方法调度;今天我们再次深入转载 2015-09-25 12:03:29 · 6397 阅读 · 0 评论 -
Interface与abstract类的区别
接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类转载 2015-09-25 11:43:19 · 4206 阅读 · 2 评论 -
java OOM
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,不需要在为每一个new操作去写配对的delete/f转载 2015-09-25 10:22:02 · 1317 阅读 · 0 评论 -
Static class 与non static class的区别
内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。根据Oracle官方的说法:Nested classes are divided into t转载 2015-09-25 11:52:08 · 7066 阅读 · 2 评论 -
ThreadPool用法与优势
1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。转载 2015-09-26 09:34:05 · 3954 阅读 · 0 评论 -
equals与==的区别。
equals()和“==”操作用于对象的比较,检查俩对象的相等性,但是他们俩的主要区别在于前者是方法后者是操作符。由于java不支持操作符重载(overloading),“==”的行为对于每个对象来说与equals()是完全相同的,但是equals()可以基于业务规则的不同而重写(overridden )。另一个需要注意的不同点是“==”习惯用于原生(primitive)类型之间的比较,而equa转载 2015-09-24 10:59:27 · 703 阅读 · 0 评论 -
Object有哪些公用方法?
原创 2015-09-24 11:02:11 · 1319 阅读 · 0 评论 -
J2SE基础
1. 九种基本数据类型的大小,以及他们的封装类。2. Switch能否用string做参数?3. equals与==的区别。4. Object有哪些公用方法?5. Java的四种引用,强弱软虚,用到的场景。6. Hashcode的作用。7. ArrayList、LinkedList、Vector的区别。8. String、StringBuff转载 2015-09-24 10:05:14 · 875 阅读 · 0 评论 -
Map、Set、List、Queue、Stack的特点与用法2
2. 定制排序TreeSet的自然排序是根据集合元素的大小,TreeSet将它们以升序排序。如果我们需要实现定制排序,则可以通过Comparator接口的帮助(类似PHP中的array_map回调处理函数的思想)。该接口里包含一个int compare(T o1, T o2)方法,该方法用于比较大小import java.util.*;class M{ int a转载 2015-09-24 20:15:18 · 2057 阅读 · 0 评论 -
Map、Set、List、Queue、Stack的特点与用法1
1. Java集合类基本概念在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了。集合类主要负责保存、盛装其他数据,因此集合类也被转载 2015-09-24 20:14:07 · 8866 阅读 · 0 评论 -
String、StringBuffer与StringBuilder的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改转载 2015-09-24 19:56:31 · 640 阅读 · 0 评论 -
ArrayList、LinkedList、Vector的区别
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要转载 2015-09-24 19:08:24 · 713 阅读 · 0 评论 -
关于Hashcode的作用
总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一 次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多了。也就是说,如果集合中转载 2015-09-24 17:52:06 · 989 阅读 · 0 评论 -
Java的四种引用,强弱软虚,用到的场景
http://droidyue.com/blog/2014/10/12/understanding-weakreference-in-java/java中的4种reference的差别和使用场景(含理论.代码和执行结果)我们知道java语言提供了4种引用类型:强引用、软引用(SoftReference)、弱引用(WeakReference)和幽灵引用(Phantom转载 2015-09-24 17:51:10 · 24514 阅读 · 5 评论 -
Switch能否用string做参数
显然可以的!!!整形,枚举类型,boolean,字符串都可以,唯独浮点型不可以原创 2015-09-24 10:41:13 · 4620 阅读 · 2 评论 -
Java基本数据类型总结
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。1. Java的简单类型及其封装器类Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类转载 2015-09-24 10:29:47 · 561 阅读 · 0 评论 -
深入Java核心 Java内存分配原理
栈、堆、常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,详细讲解Java内存分配方面的知识。AD:Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存转载 2015-09-25 12:06:16 · 516 阅读 · 0 评论 -
Override和Overload的含义去区别
最近看了一下关于java的基础知识,对此作了一下搜集整理: java中的继承,方法覆盖(重写)override与方法的重载overload的区别 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。 重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。如果在子类中转载 2015-09-25 11:25:24 · 10003 阅读 · 0 评论 -
try catch finally,try里有return,finally还执行么?
好神奇!好神奇!!为毛执行完try的return之后还会执行finally原创 2015-09-24 21:41:47 · 1247 阅读 · 1 评论 -
常用的webservice接口
Web Service 一些对外公开的网络服务接口2011-10-29 14:12商业和贸易:1、股票行情数据 WEB 服务(支持香港、深圳、上海基金、债券和股票;支持多股票同时查询)Endpoint: http://webservice.webxml.com.cn/WebServices/StockInfoWS.asmx Disco: http://w转载 2014-08-07 16:18:11 · 460 阅读 · 0 评论 -
java socket
http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供转载 2014-07-07 11:54:22 · 363 阅读 · 0 评论 -
JAMA:Java矩阵包-JAVA调用Matlab的替代品
http://hi.baidu.com/sunnnnnnnnny/item/d03733c4076da07188ad9ebfMatlab在矩阵计算方面优势很大,Java广为编程者熟悉,而经常用到的情况是在java中调用matlab,但是这个过程是比较复杂的,网上有很多这类的实例,尤其是在传参和返回参数时,当参数是数组,需要互相转化。另外一点最重要的问题是性能。java调用matlab运转载 2014-06-26 12:14:25 · 1564 阅读 · 0 评论 -
java只能高兴bat文件盒shell文件
1。 bat文件import java.io.IOException;import java.io.InputStream;public class callbat { public static void main(String args[]){ callCmd("C:/run.bat"); } p转载 2014-04-12 09:13:58 · 543 阅读 · 0 评论 -
logger
1.简介程序开发环境中的日志记录是由嵌入在程序中以输出一些对开发人员有用信息的语句所组成。例如,跟踪语句(trace),结构转储和常见的System.out.println或printf调试语句。log4j提供分级方法在程序中嵌入日志记录语句。日志信息具有多种输出格式和多个输出级别。使用一个专门的日志记录包,可以减轻对成千上万的System.out.println语句的维护成本,因为日转载 2014-04-08 10:20:04 · 528 阅读 · 0 评论 -
java
http://gundumw100.iteye.com/blog/704311原创 2014-08-07 16:07:09 · 519 阅读 · 0 评论 -
java String类源代码
public final class String implements java.io.Serializable, Comparable, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash co转载 2014-08-07 09:27:39 · 1438 阅读 · 0 评论 -
java设计模式
高内聚低耦合:http://baike.baidu.com/view/3082578.htm?fr=aladdin转载 2014-08-08 10:57:37 · 472 阅读 · 0 评论 -
Java中Collection和Collections的区别
1、java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。 Collection ├List │├LinkedList转载 2015-09-24 21:17:15 · 739 阅读 · 0 评论 -
深入Java底层:内存屏障与JVM并发详解
本文介绍了内存屏障对多线程程序的影响,同时将研究内存屏障与JVM并发机制的关系,如易变量(volatile)、同步(synchronized)和原子条件式(atomic conditional)。AD:内存屏障,又称内存栅栏,是一组处理器指令,用于实现对内存操作的顺序限制。本文假定读者已经充分掌握了相关概念和Java内存模型,不讨论并发互斥、并行机制和原子性转载 2015-09-25 12:10:28 · 4027 阅读 · 0 评论 -
java线程同步
java线程同步:synchronized、Lock、可重入锁ReentrantLock:http://outofmemory.cn/java/java.util.concurrent/synchronized-locks-Lock-ReentrantLock一 synchronized关键字1.synchronized实现原理: ---基于对象监视器(锁)java转载 2015-09-25 14:14:41 · 844 阅读 · 0 评论 -
ThreadLocal的设计理念与作用
Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。如何创建ThreadLocal变量以下代码展示了如何创建一个ThreadLocal变量:1private ThreadLocal转载 2015-09-25 14:37:08 · 109221 阅读 · 8 评论 -
Java面向对象三大特征:封装、继承、多态
一、封装 封装这个词听起来好象是将什么东西包裹起来不要别人看见一样,就好象是把东西装进箱子里面,这样别人就不知道箱子里面装的是什么东西了。其实 JAVA 中的封装这个概念也就和这个是差不多的意思。封装是 JAVA 面向对象特点的表现,封装是一种信息隐蔽技术。它有两个含义:即把对象的全部属性和全部服务结合在一起, 形成一个不可分割的独立单位;尽可能隐藏转载 2015-09-25 10:26:11 · 919 阅读 · 0 评论 -
java 学习书籍-想精通java的必看
1. Java 语言基础 谈到Java 语言基础学习的书籍,大家肯定会推荐Bruce Eckel 的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java 语言 基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel 在网络上被称为天才的投机者,作者的《Thinking in C++》在 1995 年曾获SoftwareDevelopment转载 2015-07-23 13:27:20 · 2177 阅读 · 0 评论 -
Maven project
mavenproject 创建:1、选择建立Maven Project 选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project;点击next 2、选择项目路径 Usedefault Workspace location默认工作空间原创 2015-05-15 14:34:18 · 2940 阅读 · 0 评论 -
eclipse log4j配置
http://www.cnblogs.com/alipayhutu/archive/2012/06/21/2558249.html【1】从零开始 a). 新建Java Project>>新建package>>新建java类;b). import jar包(一个就够),这里我用的是log4j-1.2.14.jar,c). 新建log4j.pro转载 2014-08-19 09:58:57 · 415 阅读 · 0 评论 -
bat批处理文件
http://www.360doc.com/content/13/0329/10/11540187_274628015.shtml不听话的代码和转载 2014-04-16 09:49:51 · 491 阅读 · 0 评论