随笔分类 -  java

摘要:Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍了几种有效使用 volatil 阅读全文
posted @ 2016-09-19 11:21 dongguol 阅读(206) 评论(0) 推荐(0)
摘要:Java中非静态方法是否共用同一块内存? Java中非静态方法是否共用同一块内存? 将某 class 产生出一个 instance 之后,此 class 所有的 instance field 都会新增一份,那么所有的 instance method 是否也会新增一份?答案是不会,我们用field表示 阅读全文
posted @ 2016-09-12 16:19 dongguol 阅读(4597) 评论(0) 推荐(1)
摘要:package test0; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; impo... 阅读全文
posted @ 2016-09-09 10:42 dongguol 阅读(987) 评论(0) 推荐(0)
摘要:Java是一种固执己见的语言,它具有很好的可读性,初级程序员很容易上手,具有长期稳定性和可支持性。但这些设计决定也付出了一定的代价:冗长的代码,类型系统与其它语言相比显得缺乏弹性。 然而,Java的类型系统已经在演化,虽然在语言的历史当中相对比较慢。我们来看看这些年来它的一些形式。 Java最初的类 阅读全文
posted @ 2016-09-07 10:44 dongguol 阅读(260) 评论(0) 推荐(0)
摘要:我们先看代码 输出结果: 关于==和equals,我们需要知道java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型( 阅读全文
posted @ 2016-09-06 11:26 dongguol 阅读(73004) 评论(0) 推荐(4)
摘要:由于在java中,数据类型总共可分为两大种,基本数据类型和引用数据类型。基本类型的数据不是对象,所以对于要将数据类型作为对象来使用的情况,java提供了相对应的包装类。对于8种数据类型的总结如下: 自动装包/拆包(Autoboxing/unboxing)则是JDK1.5的新特性,自动装包/拆包大大方 阅读全文
posted @ 2016-08-29 16:04 dongguol 阅读(239) 评论(0) 推荐(0)
摘要:类集合框架有很多文章都列出了继承关系图,但是我没有找到更清晰的特性对比图,我这里根据使用选择条件总结对比罗列一下它们之间的一些特点。 阅读全文
posted @ 2016-08-26 17:05 dongguol 阅读(220) 评论(0) 推荐(0)
摘要:这里想说一下在集合框架前需要理解的小知识点,也是个人的肤浅理解,不知道理解的正不正确,请大家多多指教。这里必须谈一下java的泛型,因为它们联系紧密,我们先看一下这几行代码: 这里主要想测试一下这两个类是不是相等的,根据我之前的认识,这应该是不相等的,但是运行输出的结果是: class java.u 阅读全文
posted @ 2016-08-25 16:51 dongguol 阅读(733) 评论(0) 推荐(0)
摘要:昨天写了个小例子,覆盖hashCode、equals进行集合set的一些特性测试,代码如下: class Test3 { public int c; public Test3(int c) {this.c = c;} public int hashCode() {return c;} public 阅读全文
posted @ 2016-08-25 10:06 dongguol 阅读(256) 评论(0) 推荐(0)
摘要:类、方法、成员变量和局部变量的对应修饰符是否可以使用 修饰符 类 成员访求 构造方法 成员变量 局部变量 abstract(抽象的) √ √ - - - static (静态的) - √ - √ - public(公共的) √ √ √ √ - protected(受保护的) √ √ √ - priv 阅读全文
posted @ 2016-08-24 11:28 dongguol 阅读(378) 评论(0) 推荐(0)
摘要:我就以package与import开始吧。 package的作用其实就是c++的namespace的作用,防止名字相同的类产生冲突,只是实现的机制不一样,java编译器在编译时,直接根据package 指定的信息直接将生成的class文件生成到对应目录下。如package aaa.bbb.ccc 编 阅读全文
posted @ 2016-08-23 22:25 dongguol 阅读(2875) 评论(0) 推荐(1)