翔翔の据点

Arrogance is the only obstacle to survival. Not weakness or ignorance.

0%

https://zhuanlan.zhihu.com/p/28241176

img

ArrayList和Vector区别

1、Vector是线程安全的,ArrayList不是线程安全的。
2、ArrayList在底层数组不够用时在原来的基础上扩展0.5倍,Vector是扩展1倍。

add remove get capacity size isEmpty

只要是关键性的操作,方法前面都加了synchronized关键字,来保证线程的安全性

当执行synchronized修饰的方法前,系统会对该方法加一把锁,方法执行完成后释放锁,**加锁和释放锁的这个过程,在系统中是有开销的,因此,**在单线程的环境中,Vector效率要差很多。(多线程环境不允许用ArrayList,需要做处理)。

Arrays

数组的初始化方式

Fill

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Arrays;

public class Hello
{
public static void main(String[] args)
{
String[] actorArray = new String[5];
// 把全部位置都用“Bill”填充
Arrays.fill(actorArray,"Bill"); System.out.println(Arrays.toString(actorArray));
// 输出为[Bill, Bill, Bill, Bill, Bill]

}
}
阅读全文 »

GUI

Graphical User Interface(用户图形界面)

  • Java的GUI提供的对象都存在 java.Awt 和 javax.Swing 两个包中.
  • java.Awt:Abstract Window ToolKit(抽象 窗口工具包)
  • java.Swing:在AWT的基础上,建立的一套图形界面系统,提供了更多的组件,而且完全由java实现,增强了移植性,属于轻量级控件。(跨平台很好)
阅读全文 »

Java常用功能详解2

Java中时间的测量

实例:测试ArrayList和LinkedList在读写遍历中的性能差异

  • long startTime1 = System.nanoTime(); //获取开始时间
  • 干点事情
  • long endTime1 = System.nanoTime(); //获取结束时间
  • System.out.println(“ArrayList的add程序运行时间:” + (endTime1 - startTime1) + “ns”);
阅读全文 »

IO & File

Java 语言的IO类库

必须借助输入输出包java.ios,实现输入输出和文件操作

流的概念

  • 从内容划分,字节流和字符流

    1. 字节流处理字节数据,基本类型为:InputStream和OutputStream

      处理图片、视频、音频、.class文件等二进制数据(不能被解释为字符),也可以处理文本文件

阅读全文 »