Java
文章平均质量分 62
fyfcauc
这个作者很懒,什么都没留下…
展开
-
RxJava简单改造实例: BehaviorSubject简化数据和界面的同步流程
面向RxJava初学者,一个简单的RxJava优化传统流程/精简代码的例子。 使用BehaviorSubject简化数据和界面的同步流程:有这样的常见场景: 程序启动时就会去远端/本地读取数据,而与此同时,与这份数据关联的界面也会在某个时刻被启动。 显然这是一个关于并行的问题,读取数据本身是一个异步的行为,其返回的时刻是不可预期的,界面启动很多时候完全取决于用户的操作,因此其启动时刻也是不可预原创 2016-10-14 17:05:36 · 2174 阅读 · 0 评论 -
System.arrayCopy()研究
public static native void arrayCopy(Object src,intsrcPos,Object dest,int destPos,int length);以下内容翻译自Java源码中的注释,因为是native的,所以没有方法体。 将一个数组复制到另一个数组,从源数组的srcPos位置开始复制长度为length的子数组到目标数组dest的destPos开始转载 2014-12-10 14:27:55 · 486 阅读 · 0 评论 -
通过实例学习Java对象的构造过程
本文提供一个项目中的错误实例,提供对其观察和分析,揭示出Java语言实例化一个对象具体过程,最后总结出设计Java类的一个重要规则。通过阅读本文,可以使Java程序员理解Java对象的构造过程,从而设计出更加健壮的代码。本文适合Java初学者和需要提高的Java程序员阅读。 程序掷出了一个异常 作者曾经在一个项目里面向项目组成员提供了一个抽象的对话框基类,使用者只需在子类中转载 2014-12-11 11:28:09 · 403 阅读 · 0 评论 -
JDK中的 javac / java / jar 命令
From: http://www.cnblogs.com/pengxl/archive/2010/12/10/1902082.html测试项目test结构:Test.java:12345678910package cn.pxl;import en.B;public class转载 2014-12-11 16:12:52 · 633 阅读 · 0 评论 -
Java中10种覆盖方法的方式
From: http://blog.csdn.net/anmei2010/article/details/4105356 1)子类方法的名称、参数签名和返回类型必须与父类方法的名称、参数签名和返回类型一致,修饰符可以相同也可以不同,但子类的访问权限不能低于父类的访问权限。class Aball { Aball() { } publicvo转载 2014-12-12 18:21:44 · 1300 阅读 · 0 评论 -
Java Void
Void extends Objectjava.lang.Object ↳ java.lang.VoidClass OverviewPlaceholder class for the Java keyword void.SummaryFields public static final Class TYPE The Class obj转载 2014-12-30 15:47:46 · 474 阅读 · 0 评论 -
JAVA中常用IO流类: DataInputStream和DataOutputStream
From: http://blog.csdn.net/caixiexin/article/details/6719670DataInputStream和DataOutputStream二者分别实现了DataInput/DataOutput接口DataInputStream能以一种与机器无关(当前操作系统等)的方式,直接从地从字节输入流读取JAVA基本类型和String类型的数据,常用于转载 2014-12-30 15:44:14 · 501 阅读 · 0 评论 -
java中关键字volatile的作用
From: http://sakyone.iteye.com/blog/668091用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A)转载 2014-12-16 11:03:03 · 383 阅读 · 0 评论 -
Double Check Locking -- Java并发
From: http://jilen.iteye.com/blog/1051540the double-check locking broken 主要解释下内存模型相关的这篇文章http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html Java代码 // Broke转载 2014-12-16 11:22:14 · 467 阅读 · 0 评论 -
java 学习书籍-想精通java的必看
1. Java 语言基础 谈到Java 语言基础学习的书籍,大家肯定会推荐Bruce Eckel 的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java 语言 基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel 在网络上被称为天才的投机者,作者的《Thinking in C++》在 1995 年曾获SoftwareDevelopment转载 2014-12-26 16:04:01 · 838 阅读 · 0 评论 -
使用javac java命令时如何导入需要的lib
使用javac java命令时如何导入需要的lib 有时候为了测试某个东东,我们直接使用javac和java命令来编译和运行我们临时写出来的测试类。如果这个测试类用到了别的jar包怎么办呢?我们可以使用-classpath或者-cp参数来导入这些需要的包。 假定:有测试类f:\Test.java,它用到的lib分别是c:\abc.jar和d:\efg.j转载 2014-12-11 16:10:40 · 3206 阅读 · 0 评论 -
Dalvik虚拟机进程和线程的创建过程分析
From: http://blog.csdn.net/luoshengyang/article/details/8923484我们知道,在Android系统中,Dalvik虚拟机是运行Linux内核之上的。如果我们把Dalvik虚拟机看作是一台机器,那么它也有进程和线程的概念。事实上,我们的确是可以在Java代码中创建进程和线程,也就是Dalvik虚拟机进程和线程。那么,这些Dalvik虚转载 2014-12-09 11:30:13 · 437 阅读 · 0 评论 -
eclipse java build path
java build path" title="eclipse java build path" style="max-width:500px"> java build path 的source标签页有两个主要选项: AddFolder:这个选项允许你把当前工程下的文件夹加入buildpath。也就是说,如果你把某个文件夹,通常是src,那么工程在编译的时候就会将这个文件夹下的文转载 2014-12-11 15:45:52 · 466 阅读 · 0 评论 -
Eclipse引入jar包的三种方式
From: http://chenxu.wo.blog.163.com/blog/static/50239687201162310620634/使用Eclipse开发应用程序,少不了使用第三方jar包,而每次引入jar包都是一个不小的问题,不仅那些jar包的位置经常弄不清楚,而且很浪费时间。鉴于此,我列举了三种常用的jar包引入方式,其中第一种是我们最常用的普通操作方式,而第二种和第三种则转载 2014-12-11 15:59:31 · 601 阅读 · 0 评论 -
Java non-static inner class 内部不能声明 Enum
enum types that are defined as nested types are always implicitlystatic (see JLS §8.9. Enums)You can't have a static nested type inside a non-static one (a.k.a an "inner class", seeJLS §8.1.原创 2014-12-26 15:16:41 · 803 阅读 · 0 评论 -
java虚拟机和Dalvik虚拟机的区别
Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例, 其代码在虚拟机的解释下得以执行。转载 2014-12-26 15:55:36 · 862 阅读 · 0 评论 -
谈谈java中的WeakReference
From: http://blog.csdn.net/matrix_xu/article/details/8424038java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。本文只针对java中的弱引用进行一些分析,如有出入还请多指正。在分析弱引用之前,先阐述一个概念:什么是对象可到达和对象不可到达状态。其实很简单,我举个例子:现在有如下两个类转载 2015-01-15 15:45:10 · 379 阅读 · 0 评论 -
Java中的Process类
Process类是一个抽象类,其内部所有的方法都是抽象的,Runtime.exec()方法可以创建一个本地进程,并返回Process子类的一个实例。Process类的API如下:l destroy():杀掉子进程l exitValue():返回子进程的出口值l InputStream getErrorStream():获得子进程的错误流l Inp转载 2015-02-03 21:08:36 · 884 阅读 · 0 评论 -
【Android】引用第三方库引发“Android: NoClassDefFoundError”错误的解决方法
转自:http://gdgzzch.blog.163.com/blog/static/37640452201292023755606/http://blog.csdn.net/encienqi/article/details/7847858今天遇到的奇怪问题是网上下载的demo导入第三方包运行后Android: NoClassDefFoundError的错误,原因是第三方的jar包并没有打转载 2014-12-11 15:00:02 · 763 阅读 · 0 评论 -
JAVA常用类的使用方法_Character类
Character类的使用方法Character:字符类型1、属性。static int MIN_RADIX :返回最小基数。static int MAX_RADIX :返回最大基数。static char MAX_VALUE :字符类型的最大值。static char MIN_VALUE :字符类型的最小值。static Class TYPE :返回当前类型。2、转载 2015-02-09 17:43:51 · 621 阅读 · 0 评论 -
LRU缓存介绍与实现 (Java)
From: http://blog.csdn.net/beiyeqingteng/article/details/7010411引子:我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求助电话本,但是,通过电话本查找还是很费时间的。但是,我们大脑能够记住的东转载 2015-01-21 18:49:54 · 343 阅读 · 0 评论 -
java javac jar 使用
虽然java现在搞的也挺多了,但是像当初自己被VB误入歧途直接IDE上手一样,对于java的控制台级别的命令用的其实很少,因为加入到一个项目中,除非项目是从头搭建,或者涉及到比较多的编译修改,否则基本是不会专门去碰控制台命令的,以及相关的选项的,就像搞c++时,g++的option一堆一堆,但是往往常用就那么几项,并且makefile文件之后也不会怎么动选项。这次就专门小用一把记录一下:原创 2014-12-11 16:24:10 · 719 阅读 · 0 评论 -
ActiveAndroid 源码阅读笔记 (1)
新公司忙成狗,不过hold过来,但是因为自己之前android涉猎contentprovider和SQLiteDB很少,因此有些碰壁,决定读一遍ActiveAndroid这个DB操作封装集成框架的源码,补补这一块。ActiveAndroid源码解析:首先需要对数据库本身有一定的了解,很多类本身对应的就是SQL的一个组件/概念/操作。1. Annoation分析: java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类。原创 2015-04-28 16:34:38 · 753 阅读 · 0 评论 -
ActiveAndroid 源码阅读笔记 (2)
5.TableInfo: (1)内部引用: 一个Type, 该Type限制了Class必须extends Model, Table名称,Id名称, 一个Field对象和String的HashMap 对象的Field的对应关系>. (2)构造函数接受一个Class type(必须extends Model), 尝试获取此Class type的 Ann原创 2015-04-28 18:13:32 · 635 阅读 · 0 评论 -
Android MessageQueue 源码笔记
MessageQueue:一个用于存储Looper要dispatch的Message的底层容器, 不过其功能要远远超过这个注释的描述.Message mMessages:以链表的形式来保存Messge,这里的mMessages是当前队列的第一个要dispatch的Message,后面的通过Message本身的next来进行连接interface IdleHandler:其概念是一种连带处理,在当原创 2015-10-19 15:22:27 · 498 阅读 · 0 评论 -
ActiveAndroid TableInfo TypeSerializer
TableInfo在构造时会传入一个Class<\? extends Model> type对象作为参数:调用type.getAnnotation(Table.class) 得到一个Table注解类,里面描述了该Model对应的DB的table的信息如果确实得到了一个Table注解对象,那么会将该对象的name/id保存在mTableName/mIdName中.如果没有得到对应的Table注解对原创 2016-01-30 15:47:45 · 772 阅读 · 0 评论 -
Dalvik中Java Proxy实现机制分析
Java层Proxy:通常的使用流程是使用其static的newProxyInstance(ClassLoader loader(该类加载器用于加载proxy class), Class<?>[] interfaces(一个Class(其实限定为interface)的数组, 每个都代表将被返回的proxy class要实现的接口), InvocationHandler h(负责处理方法分发的invo原创 2016-03-30 17:01:04 · 850 阅读 · 0 评论 -
RxJava 源码笔记(1)
Notification: An object representing a notification sent to an {@link Observable} 注释已经解释的很清楚,代表的是响应式编程信息流中的一条消息(onNext/onError/onComplete)正如上面所说的,Notification承载的是复数种类型,因此需要一个Kind对象来进行标记属于哪种信息。 Kind是原创 2016-09-25 10:18:26 · 529 阅读 · 0 评论 -
RxJava使用总结
一些对使用RxJava的初级使用总结():ReactiveX官网: http://reactivex.io/, 建议阅读其Docs,阐述了一些ReactiveX的基本理念和概念:对Observable的解释和定位: http://reactivex.io/documentation/observable.html对Operator的罗列,任何时候,当你觉得有些需求用已知的O原创 2016-09-07 16:05:07 · 1728 阅读 · 0 评论 -
java Timer学习笔记
From: http://blog.csdn.net/eg366/article/details/11836017Java自带的java.util.Timer类,通过调度一个java.util.TimerTask任务。这种方式可以让程序按照某一个频度执行,但不能指定时间运行。用的较少。任务的调用通过起的子线程进行执行。java.util.Timerjava.util转载 2015-01-22 21:39:56 · 363 阅读 · 0 评论 -
Java 一种Impl类的封装方法
有时候会有这样一种需求:一个baseClass有一个static的getInstance方法,而在该基类中又定义了几种定位不同需求extends自此类的subClass未知的>,然后基类的getInstance方法根据不同情况返回不同的subClass子类实例,因为都是extends自baseClass,所以可以被按照baseClass的契约来使用.上面的说白了就是一个简单的工厂模式.原创 2015-03-12 10:19:57 · 3276 阅读 · 0 评论 -
JNI学习积累之一 ---- 常用函数大全
本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 。心里想着该写点什么了?可是水平不够,再加上 包括很多真正实现地方--转载 2015-01-22 11:34:56 · 347 阅读 · 0 评论 -
Java压缩技术(四) GZIP——Java原生实现
趁着头脑清楚,抓紧时间继续整理!熟悉linux的朋友可能都用过文件压缩命令,譬如最为简单的gzip命令。相关链接:Java压缩技术(一) ZLibJava压缩技术(二) ZIP压缩——Java原生实现Java压缩技术(三) ZIP解压缩——Java原生实现Java压缩技术(四) GZIP——Java原生实现Java压缩技术(五) GZIP相关——浏览器解析J转载 2015-01-23 16:08:34 · 631 阅读 · 0 评论 -
理解Java对象序列化——Serializable接口
理解Java对象序列化——Serializable接口 转自 http://chenfeng0104.iteye.com/blog/620554JavaJDK概述:当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化.序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,可以。转载 2015-01-22 20:42:51 · 441 阅读 · 0 评论 -
Java wait(long timeout)
/** * Causes the current thread to wait until either another thread invokes the * {@link java.lang.Object#notify()} method or the * {@link java.lang.Object#notifyAll()} method for thi转载 2015-01-23 10:49:07 · 1470 阅读 · 0 评论 -
Java线程面试题 Top 50
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员 的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会 被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程转载 2015-02-15 20:28:19 · 769 阅读 · 0 评论 -
深入研究java.lang.Runtime类
From: http://lavasoft.blog.51cto.com/62575/15565/一、概述 Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。 一般不能实例化一个Runtime对象,应用程序也不能创建自己的 Runtime 类实例,但可以通过 getRuntime 方转载 2015-02-13 14:24:09 · 443 阅读 · 0 评论 -
Java开发者易犯错误Top10
From: http://www.csdn.net/article/2015-02-13/2823958本文总结了Java开发者经常会犯的前十种错误列表。Top1. 数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:[java] view plaincopyList list = Arrays.a转载 2015-02-14 21:49:48 · 521 阅读 · 0 评论 -
FileUtils
FileUtils:顾名思义,用于处理和File相关的一个static工具函数类。对于这种工具类本身,一般会为其加一个final的modifier,毕竟一般来说是没有被继承的必要的。取得文件后缀的函数: 很简单,但是要考虑这种情况: .tar.bz2/.tar.gz/.tar.xz/.tar.Z 对于这类文件,要从.tar开始作为文件的后缀。实现中会维护一个原创 2015-03-27 13:54:58 · 486 阅读 · 0 评论 -
Eclipse快捷键技巧
1. Ctrl+左键 和F3这个是大多数人经常用到的,用来查看变量、方法、类的定义跳到光标所在标识符的定义代码。当按执行流程阅读时,F3实现了大部分导航动作。2 Ctrl+Shift+G在工作空间中查找引用了光标所在标识符的位置。可以说是与F3相反的快捷键。当按类定义进行阅读时,可以迅速找出当前类方法在被哪些类调用了。3. Ctrl+O查看一个类的纲要,列出其方法和成员变量转载 2014-12-08 18:43:26 · 526 阅读 · 0 评论