• java集合:ArrayList

    ArrayList是日常开发使用的非常多的集合类,对其进行深入了解是非常有必要的。 1 定义 ArrayList源码注释的第一句为:Resizable-array implementation of the List interface,意为“List接口的可变长数组实现”。 2 底层数据结构 ArrayList底层使用的是Object数组来进行数据的存储

    SPPan 2019-03-26 Java基础

    阅读更多
  • java集合概述

    Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*。 Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。 1. 继承结构 1.1 Collection继承

    SPPan 2019-03-26 Java基础

    阅读更多
  • JRE、JDK、JVM基本概念

    jvm JVM是Java Virtual Machine的缩写,就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。针对不同的系统,jvm有具体的实现,所以说,jvm 是 Java 能够跨平台的核心。 jre JRE是Java Runtime Env

    SPPan 2019-03-25 Java基础

    阅读更多
  • String直接赋字符串和new String()的区别

    面试的时候经常会遇到如下类似的问题。 String直接赋字符串和new String()的区别。 String a = "abc";创建了多少个对象。String b = new String("abc");又创建了多少个对象。等等等。 其实最终的答案都是来源于字符串常量池相关的知识。 直接赋值字符串 String a = &q

    SPPan 2019-03-24 Java基础

    阅读更多
  • 替换字符串中的空格

    问题描述 将一个字符串中的空格替换成 "%20"。例如A B CD替换结果为A%20B%20CD。 解决思路 在字符串尾部填充任意字符,使得字符串的长度等于替换之后的长度。 因为一个空格要替换成三个字符(%20),因此当遍历到一个空格时,需要在尾部填充两个任意字符。 令 p1 指向字符串原来的末尾位置,p2 指向字符串现在的末尾位置。p1 和 p2

    SPPan 2019-03-22 Java基础

    阅读更多
  • IO流的几种分类

    在java中,将不同的输入输出源通过流的形式进行相关操作(输入,输出),流是一种抽象描述,在程序中表示数据的一种转移方式。 下图展示了常用的流分类

    SPPan 2019-03-21 Java基础

    阅读更多
  • BIO、NIO和AIO

    在Java中,有三种IO模型: BIO,NIO,AIO。介绍这三种IO模型之前,需要介绍一下同步,异步与阻塞,非阻塞的概念。 1 同步与异步 1.1 同步 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。 1.2 异步 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠

    SPPan 2019-03-20 Java基础

    阅读更多
  • StringBuffer与StringBuilder

    区别与联系 1、StringBuffer 与 StringBuilder 中的方法和功能完全是等价的。 2、StringBuffer 中的方法大都采用了 synchronized 关键字进行修饰,因此是线程安全的,而 StringBuilder 没有这个修饰,是线程不安全的。 3、在单线程程序下,StringBuilder效率更快,因为它不需要加锁,不具备多线程安全,

    SPPan 2019-03-19 Java基础

    阅读更多
  • 抽象类和接口

    对于面向对象编程(OOP)来说,抽象是它的一大特征。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。 1 抽象类 1.1 概念 使用abstract关键字修饰的类即为抽象类,可以包含抽象方法(但不是必须)。 抽象方法是一种特殊的方法,它只有声明,而没有具体的实现,同样使用abstract关键字修饰。 1.2 抽象类和普通类的区别 1、抽象方法必须为pu

    SPPan 2019-03-18 Java基础

    阅读更多
  • floor、round和ceil

    java中floor、round和ceil都是取近似值相关的方法,位于java.lang.Math类中。 floor floor() 方法可对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等于给定的参数,类型为双精度浮点型。 ceil ceil() 方法可对一个数进行上舍入,返回值大于或等于给定的参数,类型为双精度浮点型。 round round() 方法返回

    SPPan 2019-03-18 Java基础

    阅读更多