一.Queue的实现 通过LinkedList类实现Queue接口来完成对Queue的实例类的实现,代码如下: Queue<Integer> queue=new LinkedList<>();//linkedList实现了Queue接口,将其向上转型为队列 二.Queue的方法 1.offer————加入元素(加入至队尾) queue.offer(2);//使用offer将元素插入队尾 2.remove,poll————返回头结点并删除元素 区别remove方法在队列为空时将抛出异…
一.List接口的继承关系 List接口是Collection接口的子接口,而ArrayList和LinkedList以及Vector是其实现类. List的特点是可以将元素维护在特定的序列中,可以再List 插入和删除元素. 二.两个实现类ArrayList和LinkedList ArrayList:擅长随机访问,但是插入和删除消耗较慢,原因:底层维护的是一个Object数组 源码如下: /** * The array buffer into which the elements of the…
synchronized在java中是一个关键字,但是在kotlin中是一个内联函数.假如分别在java和kotlin代码锁住同一个对象,会发生什么呢,今天写了代码试了试.首先定义people类 12345678910111213 public class { public void () { for (int i = 0; i < 10; i ++) { try { Thread.sleep(50); } catch (InterruptedException e) { e.printStac…
Java中的基本数据类型有八种:int.char.boolean.byte.long.double.float.short.Java作为一种面向对象的编程语言,数据在Java中也是一种对象.我们用基本数据类型创建的对象,如 int x = 0;这里的x只有值这个属性,没有(或者很少)有其他的方法.这在一些需要对数据进行操作时变的很不方便,程序员需要自己编写很多代码去实现一些常用的功能,增加了工作量及程序的大小. 所以,Java中每种基本数据类型都有其对应的引用类,或者叫封装类.如int的引用类为…
一.public.protected.default和private修饰符的作用域 public:在java程序中,如果将属性和方法定义为 public 类型,那么此属性和方法所在的类和及其子类,同一个包中的类,不同包中的类都可以访问这些属性和方法. protected:在java程序中,如果对属性和方法使用了 protected 修饰符修饰,那么该属性和方法只能在自己的类和子类中被访问. (空的):默认的,如果没有指定访问控制修饰符,则表示使用默认修饰符,这时变量和方法只能在自己的类及该类同一…
在面向对象的程序设计中,模块之间交互采用接口编程,通常情况下调用方不需要知道被调用方的内部实现细节,因为一旦涉及到了具体实现,如果需要换一种实现就需要修改代码,这违反了程序设计的"开闭原则".所以我们一般有两种选择:一种是使用API(Application Programming Interface),另一种是SPI(Service Provider Interface),API通常被应用程序开发人员使用,而SPI通常被框架扩展人员使用. 在进入下面学习之前,我们先来再加深一下API和…
Java中的容器详细总结(编辑中) 原文链接:http://anxpp.com/index.php/archives/656/ 注:本文基于 Jdk1.8 编写 通常程序总是根据运行时才知道的某些条件去创建新的对象.在此之前,也不知道要创建的对象的数量(甚至是确切的对象类型).为了解决这个问题,java提供了数组来解决这个问题,但是数组是长度固定的,很多时候简单的数组是不能满足我们的需求的,所以java还提供了一套相当完整的容器类来解决这个问题,这也是本文要介绍的. 1.概述 Java容器类类库…
.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化…
小小的总结一下java中的容器问题. 一.三个知识点 1.迭代器 1).java.util.Interator + hasnext(); next(); remove(); 2).java.lang.Iterable +interable(); 2.比较器 1).实体类可以排序:java.lang.Comparable +CompareTo(); 2).排序比较器:java.util.Comparetor +compare(); List +Collections.sort(); TreeMap…
1.ArrayList源码解析 源码解析: 如下源码来自JDK8(如需查看ArrayList扩容源码解析请跳转至<Java中的容器(集合)>第十条):. package java.util; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.UnaryOperator; import sun.misc.SharedSecrets; //其中实现了R…