Java Language
文章平均质量分 57
Lulu_zhu
求Android软件开发工作
展开
-
Abstract class&Interface
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者之间转载 2015-11-03 11:27:39 · 229 阅读 · 0 评论 -
Java 8 中的 Streams API 详解
感谢原作者,原文链接为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Co转载 2016-01-18 10:43:17 · 359 阅读 · 0 评论 -
聊聊并发(八)——Fork/Join框架介绍
感谢原作者,原文链接1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务转载 2016-01-18 10:58:27 · 356 阅读 · 0 评论 -
(String… args) vs (String[] args)
The only difference between the two is the way you call the function. With String var args you can omit the array creation.public static void main(String[] args) { callMe1(new String[] {"a", "b", "翻译 2016-01-18 14:26:51 · 306 阅读 · 0 评论 -
匿名类Anonymous Classes
Anonymous Classes From Oracle TutorialsAnonymous ClassesAnonymous classes enable you to make your code more concise. They enable you to declare and instantiate a class at the same time. They are like l转载 2015-12-16 17:28:26 · 602 阅读 · 0 评论 -
Java内存模型
Java Memory Model内存模型描述了程序和程序的执行轨迹是否是合法的。Java语言内存模型通过检查执行轨迹中的每一个读操作,通过读操作检查写操作,是否相对于某些规则有效。内存模型描述了一个程序的可能行为。实现能产生任何代码,只要程序的执行产生一个能被内存模型预测的结果。原创 2016-01-04 10:41:23 · 247 阅读 · 0 评论 -
Java中的Default方法
Java中的Default方法Java8在接口中新引入了一种default方法。目的是保留原先的结构,只将改动加入到接口中。public interface A { default void c(){ System.out.println("A.c"); }}public interface B { default void c(){ Syste原创 2015-12-03 18:04:26 · 5369 阅读 · 0 评论 -
Java 理论与实践: 正确使用 Volatile 变量
原文链接volatile 变量使用指南Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的转载 2015-12-22 09:37:59 · 273 阅读 · 0 评论 -
JSR 133 in Public Review Blog
原文链接 JSR 133, which was charged with fixing the problems discovered in the Java Memory Model (JMM), has recently entered public review after nearly three years in commit翻译 2015-12-22 09:59:37 · 339 阅读 · 0 评论 -
JSR 133
原文链接JSR 133 (Java Memory Model) FAQ Jeremy Manson and Brian Goetz, February 2004Table of ContentsWhat is a memory model, anyway? Do other languages, like C++, have a memory model? What is JSR 133 ab翻译 2015-12-22 11:51:16 · 355 阅读 · 0 评论 -
Java 线程简介
感谢原作者,原文链接线程基础什么是线程?几乎每种操作系统都支持进程的概念 ―― 进程就是在某种程度上相互隔离的、独立运行的程序。线程化是允许多个活动共存于一个进程中的工具。大多数现代的操作系统都支持线程,而且线程的概念以各种形式已存在了好多年。Java 是第一个在语言本身中显式地包含线程的主流编程语言,它没有把线程化看作是底层操作系统的工具。转载 2015-12-24 14:47:32 · 559 阅读 · 0 评论 -
Java内部类详解
感谢原作者,原文链接Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常转载 2016-01-04 16:01:45 · 308 阅读 · 0 评论 -
java中的HashTable,HashMap和HashSet
感谢原作者,原文链接上篇博客中我们详细的分析了java集合《java中Map,List与Set的区别》。同时我们也对HashSet和HashMap的核心方法hashcode进行了详解,见《探索equals()和hashCode()方法》。万事俱备,那么下面我们就对基于hash算法的三个集合HashTable,HashSet和HashMap详解。转载 2016-03-20 20:49:37 · 330 阅读 · 0 评论 -
性能VS可靠性:为什么Java程序像F1赛车
性能VS可靠性:为什么Java程序像F1赛车原作者:Steve Burton - April 20, 2016译者:Lulu_zhu-April 28, 2016 思考应用性能和可靠性是相同的吗?三思。性能和可靠性是相关的吗?还是说这两者是相互对立的呢?我认为是后者。然而当下的现实情况是,IT从业者把应用性能和可靠性视为同一件事,这差事实十万八千里。让我们来看下方程式赛车团队是如何处理性能和可靠性翻译 2016-04-28 14:36:59 · 1282 阅读 · 0 评论 -
JSR 133 in Public Review Blog
JSR 133, which was charged with fixing the problems discovered in the Java Memory Model (JMM), has recently entered public review after nearly three years in committee. The new memory model strength翻译 2016-10-12 23:48:25 · 268 阅读 · 0 评论 -
Java8学习
Functional Interfacespublic class FunctionalInterface {// @FunctionalInterface// 即使@FunctionalInterface被忽略了,代码依然是有效的 interface Converter<F, T> { T convert(F from);// T cccc(F ssss)翻译 2015-12-15 18:01:16 · 375 阅读 · 0 评论 -
Effective Java
Effective Java创建和销毁对象静态工厂方法代替构造器的优势可命名名称。一个类只有一个指定签名的构造器,但可以通过改变参数列表中参数顺序的不同,提供不同的构造器。但是会调用错误的构造器。静态工厂方法有名称,以区别于一个类中需要多个带有相同签名的构造器。不必创建新的对象。为重复的调用返回相同的对象。实例受控的类严格控制某个时刻哪些实例应该存在。使得不可变的类确保不会存在两个相等的实例。原创 2015-12-13 18:54:02 · 273 阅读 · 0 评论 -
StringBuffer
String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样原创 2015-11-03 11:23:11 · 253 阅读 · 0 评论 -
Serializable&Extemalizable
对象序列化?对象序列化的概念加入到语言中为了提供对两种主要特性的支持:1 、远程方法调用2 、 Java Beans 状态的保存与恢复 ObjectInput 接口继承 DataInput 接口ObjectOutput 接口继承 DataOutput 接口ObjectOutputStream 类实现了 DataOutput,ObjectOutputObject转载 2015-11-05 14:28:44 · 584 阅读 · 0 评论 -
Annotation
Java注解作用分类①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】③编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查【Override】原创 2015-11-05 16:58:15 · 198 阅读 · 0 评论 -
Java对象序列化
序列化概念在Java平台中,Java对象的生命周期是小于JVM。那么,在JVM停止后或者在JVM之外,如何持久化Java对象并且读取,是Java对象序列化存在的意义。并且,在通信过程中,Java对象也必须转换成二进制字节流,在网络中传输。Java对象序列化是保存的对象的成员变量。序列化:对象转化为字节序列的过程反序列化:字节序列恢复为对象的过程序列化APIjava.io.O原创 2015-11-05 11:01:25 · 219 阅读 · 0 评论 -
Java多态override
关于Override有几点要注意的地方: 1.被覆盖方法的访问控制级别可以不一样。 但子类的访问级别必须要高于父类被覆盖方法的访问级别,如果父类是public的而子类是protected的则是错误的。2.方法被定义为private或static或final的则不能被覆盖。 3.方法的返回类型:子类的返回类型可以是更具体的对象,例如可以将子类的返回类型改为父类也正确。而倒过来则错误。原创 2015-11-05 15:31:42 · 299 阅读 · 0 评论 -
ResultSet
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。默认的 ResultSet 对象不可更新,仅有一个向前移动的光标。因此,只能迭代它一次,并且只能按从第原创 2015-11-06 15:10:46 · 380 阅读 · 0 评论 -
BigDecimal
public class BigDecimal不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale)。BigDe原创 2015-11-06 15:38:54 · 328 阅读 · 0 评论 -
Java模式
单例模式中的饿汉模式和懒汉模式原创 2015-09-23 15:49:11 · 297 阅读 · 0 评论 -
final/finalize/finally的区别
一、性质不同(1)final为关键字;(2)finalize()为方法;(3)finally为为区块标志,用于try语句中;二、作用(1)final为用于标识常量的关键字,final标识的关键字存储在常量池中(在这里final常量的具体用法将在下面进行介绍);(2)finalize()方法在Object中进行了定义,用于在对象“消失”时,由JVM进行转载 2015-05-15 16:44:08 · 331 阅读 · 0 评论 -
Java中的静态编译和动态编译
本文是转载,很详实但也累赘。个人认为的重点在文中以粗体标注。转载 2015-11-16 17:29:10 · 5770 阅读 · 0 评论 -
利用Java迭代器删除list中元素
利用Java迭代器删除list中元素昨天晚上,老师问了一个问题:Java中怎么删除list中指定位置的元素,提示是用迭代器。简单实现如下:import java.awt.List;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;public class test { sta原创 2015-12-10 13:32:39 · 3521 阅读 · 0 评论 -
缓冲
缓冲缓冲区是一块特定的内存区域。开辟缓冲区的作用是通过缓解应用程序上下文之间的性能差异,提高系统性能。 缓冲可以协调上层组件和下层组件之间的性能差。缓冲最常用的场景就是提高io的速度。 当使用filewriter时,进行文件写操作的代码如下:Writer writer = new原创 2015-11-17 21:19:56 · 345 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
转载自作者:海子 出处:http://www.cnblogs.com/dolphin0520/原文写的很详尽。粗略查了一下JDK1.7和Java语言规范第三版,未发现volatile关键字。这是能找到的相对较完善的文章。Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是转载 2015-11-19 16:09:14 · 275 阅读 · 0 评论 -
Java拾遗
遍历map对象for (Entry<String, String> entry : map.entrySet()){ System.out.println(entry.getKey() + "/" + entry.getValue());}需要 import java.util.Map.Entry;如何将String转化为IntInteger i = Integer.valueOf(str);原创 2015-11-19 15:45:38 · 369 阅读 · 0 评论 -
Java知识点整理
前言本篇文章是Java语言的相关知识点整理。Java知识点在我写这篇文章之时,Java语言的最新JDK版本仍然是2014推出的JDK 1.8。所以,你要注意了,在之后文章中提及的Java语言特性是基于Java8的。switch-case语句switch()的参数不仅可以接受int, short, byte, char和相对应的封装类,还可以接受string以及Enum类型。 此处请你参考Java文原创 2016-11-06 21:20:40 · 495 阅读 · 0 评论