自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

转载 Arraylist基本知识

ArrayList基本知识ArrayList插入删除一定慢么?ArrayList的遍历和LinkedList遍历性能比较如何?ArrayList是如何扩容的?ArrayList是线程安全的么?数组用来做队列合适么?ArrayList可能是Java数据结构中最简单的一种了,即使一个非Java程序员可能也知道这个数据结构,因为所有的语言中都有这样的类似的数据结构。ArrayList插入删除一定慢么?取决于你删除的元素离数组末端有多远,ArrayList拿来作为堆栈来用还是挺合适的,push和pop操作完全

2020-09-30 23:05:56 128

转载 BIO、NIO和AIO的区别、三种IO的用法与原理

IO什么是IO? 它是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。在 Java 编程中,直到最近一直使用 流 的方式完成 I/O。所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节。流 I/O 用于与外部世界接触。它也在内部使用,用于将对象转换为字节,然后再转换回对象。BIOJava BIO即Block I/O ,

2020-07-20 09:19:17 300

转载 关于Java对象的序列化与反序列化

序列化与反序列化序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对象。这个相反的过程又称为反序列化。Java对象的序列化与反序列化在Java中,可以通过多种方式来创建对象,并且只要对象没有被回收我们都可以复用该对象。但是,创建出来的这些Java对象都是存在于JVM的堆内存中的。只有JVM处于运行状态的时候,这些对象

2020-07-16 15:51:13 118

转载 外部类、内部类、匿名类访问权限说明

在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 。1.成员内部类(1)该类像是外部类的一个成员,可以无条件的访问外部类的所有成员属性和成员方法(包括private成员和静态成员);(2)成员内部类拥有与外部类同名的成员变量时,会发生隐藏现象,即默认情况下访问的是成员内部类中的成员。如果要访问外部类中的成员,需要以下形式访问:【外部类.this.成员变量 或 外部类.this.成员方法】;

2020-07-16 15:47:49 627 1

转载 HashMap和HashTable的区别

最开始的时候 只有HashMap和HashTable,他们最重要的区别就是HashMap不是线程安全的,而HashTable是线程安全的;他们的具体区别如下:①:他们的继承是不同的,HashMap继承的是 AbstractMap,而HashTable继承的是Dictionary 类;②:他们存储的键值对有些区别;HashMap的键能有一个为null,而他的值只能有任意多个是null;由于它的键可以是为空的,所以,所以我们不能用get(key)判断是否有这个键,而应该用containsKey()这个方法

2020-07-16 15:47:18 175

转载 jre判断程序是否执行结束的标准

前台线程:是指接受后台线程服务的线程,其实前台后台线程是联系在一起,就像傀儡和幕后操纵者一样的关系。后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。傀儡是前台线程、幕后操纵者是后台线程。由前台线程创建的线程默认也是前台线程。可以通过isDaemon()和setDaemon()方法来判断和设置一个线程是否为后台线程。main()函数即主函数,是一个前台线程,前台进程是程序中必须执行完成的,而后台线程则是java中所有前台结束后结束,不管有没有完成,后台线程主要

2020-07-16 15:46:36 1235

转载 Java线程的状态转换图

两张图:当一个线程执行了start方法后,不代表这个线程就会立即被执行,只代表这个线程处于可运行的状态,最终由OS的线程调度来决定哪个可运行状态下的线程被执行。一个线程一次被选中执行是有时间限制的,这个时间段叫做CPU的时间片,当时间片用完但线程还没有结束时,这个线程又会变为可运行状态,等待OS的再次调度;在运行的线程里执行Thread.yeild()方法同样可以使当前线程变为可运行状态。在一个运行中的线程等待用户输入、调用Thread.sleep()、调用了其他线程的join()方法,则当前线程

2020-07-16 15:46:19 386

转载 ArrayList和vector的区别

这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:1.ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、

2020-07-16 15:45:33 122

转载 依赖注入

Java中Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。把有依赖关系的类放到容器中,解析出这些类的实例,就是依赖注入。目的是实现类的解耦。实例:Class A中用到了Class B的对象b,一般情况下,需要在A的代码中显式的new一个B的对象。采用依赖注入技术之后,A的代码只需要定义一个私有的B对象,不需要直接new来获得这个对象,而是通过相关的容器控制程序来将B对象在外部new出来并注入到A类里的引用中。这样做有什么好

2020-07-16 15:45:07 69

转载 接口和抽象方法的联系和区别

接口和抽象方法的联系和区别一、相同点:抽象方法和接口都不能被实例化,但可以定义抽象类和接口类型的引用。二、不同点:1、一个类继承抽象类需要实现其中的抽象方法,否则该类还是需要被声明为抽象类,当一个类实现了接口,就必须实现其所有方法。2、接口相比于抽象类更抽象,抽象类中可以定义构造器,可以有抽象方法和实现方法,接口则没有构造方法,且方法全是抽象方法。3、接口中的方法默认是public的,抽象类的方法没有限制4、接口中定义的成员变量实际上都是常量(public static final),抽象类中

2020-07-16 15:44:31 494

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除