Java基础
Gandalf_lee
互联网大厂从事数据挖掘,机器学习相关技术工作。
展开
-
Java中HashMap与HashTable的异同
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:Map Colle原创 2013-06-09 21:27:57 · 633 阅读 · 0 评论 -
instanceof和isInstance(Object obj)和isAssignableFrom(Class cls)的区别和联系
编程的时候可能会遇到一个不知道它属于哪个类的对象,我们可以用下列运算符或者方法来判断。 instanceof是运算符只被用于对象引用变量,检查左边的被测试对象是不是右边类或接口的实例化。如果被测对象是null值,则测试结果总是false。 String str = new String("测试"); System.out.printl原创 2013-06-09 21:33:25 · 1214 阅读 · 0 评论 -
JAVA中String与StringBuffer的区别
在java中有3个类来负责字符的操作。 1.Character 是进行单个字符操作的, 2.String 对一串字符进行操作。不可变类(String对象的值一旦改变就将重新创建一个对象来保存新值)。 3.StringBuffer 也是对一串字符进行操作,但是可变类(StringBuffer对象可以被赋予新值)。 String: 是对象不是原始类型. 为不可变对转载 2013-06-09 21:30:35 · 587 阅读 · 0 评论 -
Java容器类List、ArrayList、Vector及map、HashTable、HashMap分别的区别
ArrayList和HashMap是异步的,Vector和HashTable是同步的,所以Vector和HashTable是线程安全的,而 ArrayList和HashMap并不是线程安全的。因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于 ArrayList和HashMap。 Collection ├List 接口 │├LinkedList转载 2013-06-09 21:26:52 · 876 阅读 · 0 评论 -
Java Math的 floor,round和ceil的总结
floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数(当-1.5时可见,四舍五入后得到的结果不是我们期待的,解决办法是先对他取绝对值,然后在用round方法) round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11转载 2013-06-09 21:35:18 · 817 阅读 · 0 评论 -
java assertion
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。原创 2013-06-09 21:34:49 · 781 阅读 · 0 评论 -
java 常量池
常量池用于保存在编译期已确定的,已编译的,class文件中的一份数据,它包括了关于类,方法,接口等中的常量,也包括字符串常量。如第一种声明方式,当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。 用new String()创建的字符串不是常量,不能在编译期就确定,所以new String()创建的字符串不放入常量池中,他们有自己的地址空间。 Str原创 2013-06-09 21:32:23 · 665 阅读 · 0 评论 -
java中堆(heap)和堆栈(stack)区别深入讲解
stack 和 heep 都是内存的一部分 stack 空间小,速度比较快, 用来放对象的引用 heep 大,一般所有创建的对象都放在这里。 栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域). 堆(heap):是一个可动转载 2013-06-09 21:34:22 · 1506 阅读 · 0 评论 -
java抽象类和接口的差别
语法层面: abstarct class在Java语言中体现了一种继承关系。 abstract class可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。 一个类只能继承一个abstra转载 2013-06-09 21:29:30 · 665 阅读 · 0 评论 -
java的Serializable接口
序列化是把一个对象的状态写入一个字节流的过程,它执行RMI,RMI允许一台机器上的JAVA对象调用不同机器上的JAVA对象方法,对象可以作为参数提供给那个远程方法,发送机序列化该对象并传送它,接收机执行反序列化。 序列化和反序列化的关系图表可形成包含循环引用的顺序图表。这是整个序列化的总体思想。 而Serializable接口属于支持序列化的一个接口,只有一个实现它的对象可以被序列化工具存转载 2013-06-09 21:28:57 · 601 阅读 · 0 评论 -
Hashtable 和 HashMap的区别
我们先看2个类的定义 public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable public class HashMap extends AbstractMap implements Map, Clo转载 2013-06-09 21:28:32 · 636 阅读 · 0 评论 -
Java图片压缩模板代码
import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import com.sun.ima原创 2013-06-25 23:18:39 · 931 阅读 · 0 评论