随笔分类 - JavaSE复习
摘要:一、概述 程序开发没有数据库的参与,可以说几乎是不可能的。数据库和Java都已经有了简单的了解,现在的关键是对两者进行连接,起到这一作用的正是JDBC——Java Database Connectivity,数据库桥接。JDBC提供了一整套API使应用程序对数据库进行操作,如下图所示。 首先你要有一
阅读全文
摘要:四、Set Set和List一样,也是继承Collection的接口,但Set是不包含重复元素的集合。由于先啃下Map,Set的难度将会大幅减小。因为Set基本上都是以Map为基础实现的,例如两个主要集合HashSet以HashMap为基础实现,是无序的;而TreeSet以TreeMap为基础实现,
阅读全文
摘要:5.WeakHashMap (1) 简介 WeakHashMap与HashMap几乎都是相同的,就是它的键是“弱引用”。 第一个问题:何为弱引用?即WeakReference类对象。 以上即为强引用和弱引用的典型例子。 第二个:那么他们的区别在哪里? 当弱引用不再被使用时,就会被回收。也就是说,在W
阅读全文
摘要:一、什么是注解?有什么作用? Annotation是1.5之后新加的功能,是一种"元数据",它的存在不会影响程序的逻辑和运行结果,是对类、方法、变量进行的说明。那么这种不会影响程序运行的代码会有什么用呢?注解其实在很多框架中有很多应用,比如Spring等。此外,注解可以进行格式检查。比如@overr
阅读全文
摘要:一、类对象与反射 先来简单介绍一下反射,反射使得程序员能够更加的了解一个类,包括获得构造方法、成员方法、成员域包括注解等。 1.访问构造方法 访问构造方法有四种方式, getDeclaredConstructors(); 获取所有构造函数,包括public、private等等 getDeclared
阅读全文
摘要:二、Scanner类 有C系语言基础的可能都比较熟悉scanf("%d",&a);和cin>>a;这种代码,也打开了程序交互的第一道门。因此,这些程序员开始学Java时都会先找输入输出(指标准输入输出),Java的输出就非常常见,任何一个Java教程基本都是以输出开始的,然而输入却在很后面提到,因为
阅读全文
摘要:一、Math类 Math类中有一些常用的数学函数,比较简单,不进行详细解释,仅举例说明: 1.绝对值和取整 几个要素:Math类在java.lang包中;Math类中基本都是静态方法,不可声明类对象。 结果: 2.5-2.03.0-3.02.0 abs返回同参数类型,floor和ceil参数和返回值
阅读全文
摘要:一、包装类 1.基本类型和引用类型 Java中的基本类型我们都知道有8种,但是作为基本类型限制功能的发挥,例如整形转String类型等可能需要类方法实现会更加简便。那么八个基本类型对应八个包装类,即引用类型。具体对应如下: char--Character int--Integer boolean--
阅读全文
摘要:六、线程的等待和唤醒 1.wait()和notify()的简单示范 public class Wait extends Thread{ public synchronized void run() { System.out.println(getName()+"执行notify()"); notif
阅读全文
摘要:4.TreeMap SortedMap接口继承Map接口,是排序键值对的接口,实现排序的的方法是Comparator。而NavigableMap接口继承于SortedMap,新增了一些导航方法。而TreeMap继承AbstractMap并实现NavigableMap接口,不同于HashMap的无序集
阅读全文
摘要:2.Hashtable Hashtable,顾名思义,哈希表,本来是已经被淘汰的内容,但在某一版本的Java将其实现了Map接口,因此也成为常用的集合类,但是hashtable由于和hashmap十分相似,因此据说也成为“面试经典题”。由于两者的区别网上实在太多太多,我就不自己在摸索了直接拷贝过来用
阅读全文
摘要:三、Map 先来讲一下Map,Map和Collection完全不是一个系列的,按理说讲完Collection的List,应该接着讲Collection的Set,但是因为Set中很多实现是基于Map来实现的,所以将Map提前。Map是一个接口,存储内容是键值对key-value,键不可重复。 1.Ha
阅读全文
摘要:五、同步 1.锁 多线程程序一般是为了完成一些相同的工作而存在的,因此有时间也会共享一些资源,例如对象、变量等等,此时如果不对各个线程进行资源协调,就会出现一些冲突,从而导致程序功能失效。例如下面的示例中的计数器: 上面代码很简单,就是两个线程共同计数,但是线程A加1,线程B减一,各做1000次,最
阅读全文
摘要:四、Object类简介 Object类是所有类的超类,之所以放在线程部分是因为其方法很多是和线程有关的。比如以下三个: wait()方法、wait(long timeout)和wait(long timeout,int naos) 此外,notify()和notifyAll()分别唤醒在该对象上等待
阅读全文
摘要:一、线程的两种启动方法 分别是继承java.lang.Thread类和实现java.lang.Runnable接口两种方法。 举个例子: 结果显示3个线程各记了10个数,但是并非按照顺序来排列: 接着是Runable接口的展示,但是与Thread类有所不同,因为接口的特性可以实现多个,而不能继承多个
阅读全文
摘要:2019 01/01 八、Reader和Writer读写器 前面讲的输入输出流的基本单位都是字节,因此可以称为“字节流”,读写器是以字符为基本单位,可以称为“字符流”。它们的使用方法非常相似,因此我考虑有的地方就不再重点叙述甚至不再叙述。对于Reader和Writer还是要动一下手,编一下代码看一下
阅读全文
摘要:四、FilterOutputStream、PrintStream PrintStream是继承自FilterStream类的,例如标准输出流System.out就是著名的PrintStream类对象。相比较于FileOutputStream,有以下三个有点: (1)输出类型灵活,可以是int、flo
阅读全文
摘要:3.stack 栈,继承Vector类,构造函数就是只有默认构造函数,构造空栈。 4.LinkedList 空构造函数和以Collection为参数的构造函数。 API函数: 基本上没有什么可以讲解的了,值得注意的是两套增加、删除和访问头和尾的,以下转自博客园博主 “如果天空不死” 其中poll()
阅读全文
摘要:一、流概述 & InputStream、OutputStream 流包括输入流和输出流,即I/O(Input和Output),具体结构如下: I/O类都被放在java.io包中,所有的输入流类都是InputStream(针对字节)和Reader(针对字符)两个抽象类的子类,而所有输出流都是Outpu
阅读全文
摘要:异常是提高代码健壮性必不可少的部分,一个良好的程序不应缺少异常。 1.try和catch关键字 这对关键字是没什么好说的,来一段示例代码就好了吧: 输出结果:0123456789java.lang.ArrayIndexOutOfBoundsException: 20 20 为什么要有这个,因为这能够
阅读全文
浙公网安备 33010602011771号