Java
文章平均质量分 56
youhan26
这个作者很懒,什么都没留下…
展开
-
用违例做下面这些事情:
用违例做下面这些事情:(1) 解决问题并再次调用造成违例的方法。(2) 平息事态的发展,并在不重新尝试方法的前提下继续。(3) 计算另一些结果,而不是希望方法产生的结果。(4) 在当前环境中尽可能解决问题,以及将相同的违例重新“掷”出一个更高级的环境。(5) 在当前环境中尽可能解决问题,以及将不同的违例重新“掷”出一个更高级的环境。(6) 中止程序执行。(7) 简化编码原创 2014-09-09 12:55:01 · 440 阅读 · 0 评论 -
java equals method
1. 检测this与otherObj是否引用同一个对象.If(this== otherObj) return true;2. 检测是否为null,null返回false.3. 比较this与otherObj是否为同一个类:a) Equals语义在每个子类中都不尽相同,使用getClass()进行检测.b) 子类相同,使用原创 2015-03-31 00:16:57 · 916 阅读 · 0 评论 -
对象包装器 自动装箱
包装器(wrapper):其实就是指Integer之类的类。对象包装器类是不可变的,即一旦构造了包装器,就不允许更改其中的值。对象包装器还是final类型的,因此不允许定义它们的子类。ArrayList 的效率远远低于int[ ] : 由于每个值都分别包装在对象中.自动拆箱:Integer --> int自动装箱: int --> Integer原创 2015-03-31 20:56:33 · 481 阅读 · 0 评论 -
java marker interface
标识接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情.使用标记接口的唯一目的是使得可以用instanceof进行类型查询java.io.Serializable未实现此接口的类将无法使其任何状态序列化或反序列化.为保证 serialVersionUID 值跨不同 java 编译器实现的一致性,序列化类必须声明一个明确的 se原创 2015-05-07 23:10:19 · 1500 阅读 · 0 评论 -
Maven dependency scope
Dependency scope is used to limit the transitivity of a dependency, and also to affect the classpath used for various build tasks.There are 6 scopes available:compileThis is the default scop原创 2015-05-20 19:11:17 · 735 阅读 · 0 评论 -
Maven Dependency mediation
Dependency mediation - this determines what version of a dependency will be used when multiple versions of an artifact are encountered. Currently, Maven 2.0 only supports using the "nearest definiti原创 2015-05-21 10:06:40 · 517 阅读 · 0 评论 -
深入解析String intern
引言在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。8种基本类型的常量池都是系统协调的,String类型的常量池比较特殊。它的主要使用方法有两种:直接使用双引号声明出来的String对象会直接存储在常量池中。如果不是用双引号声明的St转载 2015-06-17 11:38:49 · 345 阅读 · 0 评论 -
toplink unitwork
Exception Description: The object [VVVVVVVVVV@21dd188], of class [class XXXXXXXXXXXXXXXX], with identity hashcode (System.identityHashCode()) [35,508,616], is not from this UnitOfWork object spa原创 2015-06-25 01:53:14 · 472 阅读 · 0 评论 -
Hashmap
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义 HashMap实现了Map接口,继转载 2015-05-25 11:39:28 · 366 阅读 · 0 评论 -
OS 线程模型 及JVM线程模型的实现
关于线程, 有内核级线程和 用户级线程(user land)内核级线程是OS设定的,用户(开发者)没有权利更改, 而用户级线程是用户可以进行实现和处理的。然后内核级线程和用户级线程的对应关系有 1:1 , M: 1, M:N 三种。--------线程模型这里有一个误区就是,只有1:1的比例才会发挥出用户级线程的多线程好处。这个要看具体的模型的实现。、在JVM规范里是没有规定的—原创 2015-07-25 15:34:41 · 903 阅读 · 0 评论 -
Java内存模型
处理器内存模型顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM和处理器内存模型在设计时会对顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影响。根据对不同类型读/写操作组合的执行顺序的放松,可以把常见处理器的内存模型划分为下面几转载 2015-07-18 10:29:14 · 339 阅读 · 0 评论 -
Volatile
引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通转载 2015-07-18 10:50:32 · 388 阅读 · 0 评论 -
concurrentHashmap
总体描述:concurrentHashmap是为了高并发而实现,内部采用分离锁的设计,有效地避开了热点访问。而对于每个分段,ConcurrentHashmap采用final和内存可见修饰符Volatile关键字(内存立即可见:Java 的内存模型可以保证:某个写线程对 value 域的写入马上可以被后续的某个读线程“看”到。注:并不能保证对volatile变量状态有依赖的其他操作的原子转载 2015-07-18 10:09:36 · 529 阅读 · 0 评论 -
BeanUtils与PropertyUtils区别
BeanUtils与PropertyUtils区别以及java.util.Date发生异常问题:除BeanUtils外还有一个名为PropertyUtils的工具类,它也提供copyProperties()方法,作用与BeanUtils的同名方法十分相似,主要的区别在于后者提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,在支持的数据类型范围内进行转换,而前者不支持这个功转载 2015-08-13 17:02:03 · 697 阅读 · 0 评论 -
java session 监听
相应的在web.xml配置 ....essionHandler原创 2015-10-07 14:26:14 · 1043 阅读 · 0 评论 -
Inheritance
super不是一个对象的引用,不能将super赋给另一个对象变量,它只是一个指示编译器调用超类方法的关键字。使用super调用构造器的语句必须是子类构造器的第一条语句。this的两个用途: 引用隐式参数调用该类的其他构造器方法 -原创 2015-03-23 00:04:23 · 390 阅读 · 0 评论 -
Java basic ---Class
使用包的主要原因是确保类名的唯一性。import语句不仅可以导入类,还可以导入静态方法和静态域。 import static java.lang.System.*; then you can use: out.println(‘XXX’);java 编译器对文件进行操作;java解释器加载类: ·javac com/mycompany/PayrollApp.java java c原创 2015-03-20 00:49:21 · 364 阅读 · 0 评论 -
StringBuilder 与 StringBuffer 区别
/** * A mutable sequence of characters. This class provides an API compatible * with StringBuffer, but with no guarantee of synchronization. * This class is designed for use as a drop-in replac转载 2014-09-21 17:34:27 · 377 阅读 · 0 评论 -
String s = null ; String s = "" ; String s ;
String abc=null;String abc="";String abc;三种写法有什么区别?1:创建一个空字符串对象, 2:创建一个字符串为空的字符串对象。 3:声明一个字符串对象,但并没有分配内存,而1,2已经分配了内存 对于最后一种表示,你不能if(abc==null),或者 int length = abc.length();编译的时候会提示可能没原创 2014-09-10 09:13:48 · 1009 阅读 · 0 评论 -
Extjs 一
1. renderer 写z renderer : function(val) { if (val > 0) { return ' + '#73b51e' + ';">' + val + ''; } else if (val 0) {原创 2014-09-21 15:30:29 · 452 阅读 · 0 评论 -
Enum 类型的介绍
http://www.ibm.com/developerworks/cn/java/j-lo-enum/枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。举个例子来说明一下,转载 2014-10-29 16:43:49 · 517 阅读 · 0 评论 -
内部类(待补充)
1、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。2、在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。3、创建内部类对象的时刻并不依赖于外围类对象的创建。 4、内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。 5、内部类提供了更好的封装,除了该外围类,其他类都不能访原创 2014-11-18 08:52:35 · 472 阅读 · 0 评论 -
equals()和hashCode()
在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当一个对象被加入集合对象(collection object)时,这两个函数必须自己设计。更 细化的定义是:如果你想将一个转载 2014-10-14 17:34:27 · 416 阅读 · 0 评论 -
float && double
浮点类型 :(1)float 型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38例float x=123.456f,y=2e20f; 注意float型定义的数据末尾必须 有"f "或"F",为了和double区别(2)double 型 内存分配8个字节,范围从10^-308到10^308 和 -10^-308到-10^-308例do转载 2014-11-19 13:20:08 · 708 阅读 · 0 评论 -
深入理解abstract class和interface
深入理解abstract class和interfaceabstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstrac转载 2014-11-20 15:39:50 · 429 阅读 · 0 评论 -
Java date日期操作
/**日期类* @date * @version 1.0*/import java.util.*;import java.text.*;import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss转载 2015-02-03 09:26:20 · 614 阅读 · 0 评论 -
Java 热部署
原文链接 简介 在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。虽然 osgi 架构的出现,让模块重启成为可能,但是如果模块之间有调用关系的话,这样的操作依然会让应用出现短暂的功能性休克。本文将探索如何在不转载 2015-03-02 10:31:35 · 446 阅读 · 0 评论 -
抽象工厂 工厂方法
工厂方法UML图: 抽象工厂UML图: ---------------------------------对于java来说,你能见到的大部分抽象工厂模式都是这样的:它的里面是一堆工厂方法,每个工厂方法返回某种类型的对象。比如说工厂可以生产鼠标和键盘。那么抽象工厂的实现类(它的某个具体子类)的对象都可以生产鼠标和键盘,但可能工转载 2015-03-03 17:04:13 · 373 阅读 · 0 评论 -
建造者模式
没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。8.1 游戏角色设计Sunny软件公司游转载 2015-03-03 17:29:31 · 446 阅读 · 0 评论 -
适配器模式
现实生活中的适配器本文讨论适配器模式。适配器模式是23中设计模式之一,它的主要作用是在新接口和老接口之间进行适配。它非常像我们出国旅行时带的电源转换器。为了举这个例子,我还特意去京东上搜了一下电源转换器,确实看到了很多地方的标准不一样。我们国家的电器使用普通的扁平两项或三项插头,而去外国的话,使用的标准就不一样了,比如德国,使用的是德国标准,是两项圆头的插头。如果去德国旅游,那么我们使转载 2015-03-04 17:30:36 · 532 阅读 · 0 评论 -
static initialization block
public class hello{ static{ System.out.println('hello,World!'); System.exit(0); }}no main method.原创 2015-03-19 23:13:46 · 593 阅读 · 0 评论 -
默认Spring DispatcherServlet 不支持 OPTIONS方法
For default Spring DispatcherServlet supports GET, HEAD, POST, PUT, PATCH and DELETE only; if you want to support TRACE and OPTIONS you have to put "dispatchOptionsRequest" and "dispatchTraceRequest"原创 2016-01-21 11:05:05 · 2147 阅读 · 0 评论