Guava学习:Cache缓存入门

2016-10-27
阅读 13 分钟
20.1k
根据科普中国的定义,缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。

Commons CLI 入门及代码简单分析

2016-09-02
阅读 4 分钟
14.7k
以前写过一些命令行程序,在需要带参数的时候都是自己来判断args,导致程序光解析args都占了好大一堆,而且解析代码也不美观。偶然间发现了apache公共库中的cli库,在这里分享给大家。

LogBack入门实践

2016-03-26
阅读 10 分钟
19.8k
slf4j是The Simple Logging Facade for Java的简称,是一个简单日志门面抽象框架,它本身只提供了日志Facade API和一个简单的日志类实现,一般常配合Log4j,LogBack,java.util.logging使用。Slf4j作为应用层的Log接入时,程序可以根据实际应用场景动态调整底层的日志实现框架(Log4j/LogBack/JdkLog...);

如何写第一个RMI程序?

2016-03-14
阅读 2 分钟
3.8k
RMI全称是Remote Method Invocation(远程方法调用),Java RMI威力体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实...

JAVA设计模式之责任链模式

2016-03-01
阅读 3 分钟
5.6k
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。

finally与return之间的关系

2015-09-02
阅读 5 分钟
3.8k
问:finally会在什么时候执行?答:如果在try/catch语句中调用转移指令例如:return,break,continue,throw等。则会在转移指令前执行。

BlockingQueue学习

2015-08-30
阅读 5 分钟
4.7k
在java.util.Concurrent包中,BlockingQueue很好的解决了在多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。同时,BlockingQueue也用于java自带线程池的缓冲队列中,了解BlockingQueue也有助于理解线程池的工作模型。

JAVA HashMap源码浅析

2015-08-05
阅读 5 分钟
5.6k
Entry是Map接口中的一个内部接口,它是实现键值对存储关键。在HashMap中,有Entry的实现类,叫做Entry。Entry类很简单,里面包含key,value,由外部引入的hash,还有指向下一个Entry对象的引用,和数据结构中学的链表中的note节点很类似。

JAVA 持有对象——容器初探(持续补充)

2015-08-01
阅读 8 分钟
5.9k
在Java中,我们可以使用数组来保存一组对象。但是,数组是固定大小的,在一般情况下,我们写程序时并不知道将需要多少个对象,因此数组固定大小对于编程有些受限。

创建子类对象时,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法,而被子类重载的方法不会调用?

2015-07-27
阅读 2 分钟
6.5k
答案:当子类被加载到内存方法区后,会继续加载父类到内存中。如果,子类重写了父类的方法,子类的方法引用会指向子类的方法,否则子类的方法引用会指向父类的方法引用。如果子类重载了父类方法,则子类重载方法引用还指向子类方法。如果子类方法没有重写也没有重载父类方法,则方法引用会指向父类方法。

JAVA 虚拟机类加载机制和字节码执行引擎

2015-07-26
阅读 5 分钟
6.4k
java有一个口号叫做一次编写,到处运行。实现这个口号的就是可以运行在不同平台上的虚拟机和与平台无关的字节码。这里要注意的是,虚拟机也是中立的,只要是符合规范的字节码,都可以被虚拟机接受,例如Groovy,JRuby等语言,都会生成符合规范的字节码,然后被虚拟机所运行,虚拟机不关心字节码由哪种语言生成。

JAVA 垃圾收集器与内存分配策略

2015-07-25
阅读 4 分钟
5.2k
垃圾收集技术并不是Java语言首创的,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。垃圾收集技术需要考虑的三个问题是:

HttpClient4.4 登录知乎(详细过程)

2015-07-23
阅读 7 分钟
23.7k
HttpClient是java语言下一个支持http协议的客户端编程工具包,它实现了HTTP协议的所有方法,但是不支持JS渲染。我们在做一些小玩意时,有可能需要登录某些网站获取信息,那么HttpClient就是你的好帮手,废话不多说,进入实战。

Java String 源码浅析

2015-07-20
阅读 7 分钟
7.7k
引言 从一段代码说起: {代码...} 大家猜一猜结果如何?如果你的结论是true。好吧,再来一段代码: {代码...} 结果如何呢?正确答案是false。 让我们看看经过编译器编译后的代码如何 {代码...} 也就是说第一段代码经过了编译期优化,原因是编译器发现"a"+"b"+1和"ab1"的效果是一样的,都是不可变量组成。但是为什么他们...

Spring AOP 入门

2015-07-18
阅读 10 分钟
5.9k
AOP是软件开发思想发展到一定阶段的产物,AOP的出现并不是为了代替OOP,仅作为OOP的有益补充,在下面的例子中这个概念将会得到印证。AOP的应用场合是受限制的,一般适用于那些具有横切逻辑的应用场合,例如性能监测,访问控制,事务管理,日志记录。在平常的应用开发中AOP很难被使用到,但是AOP是Spring的亮点之一,有必...

Java 内存区域详解

2015-06-24
阅读 3 分钟
14k
学习Java也有一段时间了,总感觉有些东西学的不是很精通。例如Java内存区域到底是怎么样的?程序是怎么跑的?对象是怎么存放的?这些都影响了我对自己的程序运行的熟悉程度。

Java 注解入门 自动生成SQL语句

2015-06-22
阅读 7 分钟
8.4k
在用hibernate的时候发现idea能自动生成JavaBean,同时带有一些注解,这引起了我的好奇。当在学习Android的时候,我发现XUtils这个工具包中的DBUtils也能够使用类似hibernate的注解。于是乎在java编程思想中找了找有关注解的用法。

Android Studio 入门 Hello World

2015-06-22
阅读 4 分钟
26.7k
前两天开始学习android开发,本来想用eclipse进行开发,但是到[链接] 上一看,发现android studio被大力推广,说明google已经把ide重心投入到了android sdudio上,所以就有了本文,用来介绍android studio 入门。