Java
文章平均质量分 81
Superr爬爬虫
博观而约取,厚积而薄发
展开
-
Java HashMap 核心源码解读
本文转载自 http://geeklu.com/2010/07/java-hashmap/本篇对HashMap实现的源码进行简单的分析。所使用的HashMap源码的版本信息如下:/** @(#)HashMap.java 1.73 07/03/13** Copyright 2006 Sun Microsystems, Inc. All rights res转载 2012-04-09 12:04:40 · 894 阅读 · 0 评论 -
Java 理论与实践: 正确使用 Volatile 变量
转:http://www.ibm.com/developerworks/cn/java/j-jtp06197.htmlJava 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介转载 2015-05-18 11:43:14 · 607 阅读 · 0 评论 -
Java 设计模式之责任链模式
责任链模式(Chain of Responsibliity) 缩写COR该模式属于对象的行为模式。多个对象连成一条链,请求沿着这条链进行传递,直到有一个对象处理它为止,这样使得多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。责任链模式涉及到的角色如下所示: 1)抽象处理者(Handler)角色:定义处理请求的接口。如果需要可以定义出一个方法原创 2015-05-21 10:58:33 · 1019 阅读 · 0 评论 -
JAVA虚拟机规范 java SE 7 读书笔记
方法调用的四条指令:1)invokevirtual2)invokeinterface3)invokespecial (指令用于调用一些需要特俗处理的实例方法,包括实例初始化方法、私有方法和父类方法);4)invokestaticJava虚拟机可以支持方法级的同步和方法内部一段指令序列的同步,这两种同步结构都是使用管程(Monitor)来支持的。1)方法级的同步时隐式原创 2014-12-28 11:17:03 · 1026 阅读 · 0 评论 -
Android Parcelable 嵌套readParcelable
对于Android的自定义对象进行序列化,一般会选择Parcelable,或者Serializable。在Android中,由于在使用内存时,Parcelable类要比Serializable类的性能要高;并且Serializable在序列化的时候会产生大量的临时变量,从而会引起频繁的GC,因此在Android开发中,会推荐使用Parcelable进行序列化。在序列化时,碰到P原创 2015-01-07 15:52:13 · 11995 阅读 · 2 评论 -
有关Object之wait(),notify() 和notifyAll() 以及Thread之sleep(),join()和yield()
1. Object的wait(),notify()和notifyAll()主要用于在多线程情况下,同步控制访问共享资源使用。调用wait() 函数后,导致当前线程处于等待状态,只有通过notify()或者notifyAll()方法,或者在调用wait()函数时,设置超时时间timeout,等待超时时间到了,才能使阻塞在该对象上的线程唤醒,进行运行。也就是说wait()或notify原创 2014-03-26 16:01:13 · 844 阅读 · 0 评论 -
Android 中的CreatePackageContext()
/** * Return a new Context object for the given application name. This * Context is the same as what the named application gets when it is * launched, containing the same resources and原创 2014-04-03 15:52:44 · 22698 阅读 · 9 评论 -
判断ScrollView 是否滚动到底部或顶部
1)是否滚动到顶部if(scroll.getScrollY() == 0){ // 到顶部了 //TODO}2)是否滚动到底部//childView是scrollview里包含的Linearlayout容器View childView = scrollView.getChildAt0);if(mLastY == (childView.getHeigh原创 2013-08-08 15:15:21 · 23983 阅读 · 3 评论 -
Android Thread.UncaughtExceptionHandler捕获
在Java 的异常处理机制中:如果抛出的是Exception异常的话,必须有try..catch..进行处理,属于checked exception。如果抛出的是RuntimeException异常的话,则不是必须进行try..catch..异常处理,发生异常之后将由JVM进行处理,属于unchecked exception。注意:为了保证程序的健壮性,建议抛出RunntimeExce原创 2012-11-08 12:03:26 · 19955 阅读 · 10 评论 -
面向对象的六大设计原则
面向对象的六大设计原则:1.Single Responsiblility Principle 单一职责原则There should never be more than one reason for a class to change应该做到有且仅有一个原因引起类的变更。接口尽量要单一2.Open Closed Principle 开闭原则Software entities原创 2012-05-13 12:19:49 · 1091 阅读 · 0 评论 -
JAVA 中枚举类注意事项
参考自:http://blog.csdn.net/helloapps/article/details/5715360今天看JAVA的东西发现JAVA中定义枚举类型,和C/C++有些不同寻常,于是网上查阅了,可以总结如下:1.枚举元素列表必须写在枚举类的最前面,且每个元素之间用逗号隔开,元素列表结束位置后若没有其他内容,则可以不写分号,否则必须要写。2.枚举类中所转载 2012-05-07 09:58:15 · 1227 阅读 · 0 评论 -
volatile
JMM(Java Memory Model) 主要是为了规定了线程和内存之间的一些关系。系统存在一个主内存(Main Memory),Java中所有变量都存储在主存中,对于所有线程都是共享的。每条线程都有自己的工作内容(Working Memory), 工作内存中保存的是主存中某些变量的拷贝,线程对所有变量的操作都是在工作内存中进行,线程之间无法相互直接访问,变量传递均需要通过主内存完成。原创 2015-06-03 22:29:33 · 694 阅读 · 0 评论