插入排序

一.直接插入排序

算法思想:当插入第i个元素的时候,前面的V[0],…,V[i-1]等i-1个 元素已经有序。这时,将第i个元素与前i-1个元素V[i-1],…,V[0]依次比较,找到插入位置即将V[i]插入,同时原来位置上的元素向后顺移。在这里,插入位置的查找是顺序查找。直接插入排序是一种稳定的排序算法。

java类加载器

一.java类加载器的种类

  1. 启动类加载器(Bootstrap):加载 java_home/jre/lib下面的类库
  2. 扩展类加载器(Extension):加载 java_home/jre/lib/ext下面的类库
  3. 系统类加载器(System/App):加载classpath下的类

GC-垃圾回收机制

一.垃圾回收机制干嘛的

当我们运行一个程序时,创建的对象和一些变量是存在内存中,如果我们创建的对象和变量过多,它会占用大量的内存,在程序运行时,有一些对象和变量可能是无用的,我们没必要浪费内存去存储,垃圾回收机制就是帮我们回收这些无用的垃圾。

代理模式

java的静态代理和动态代理

概述

代理模式是一种常见的设计模式,分为静态代理,动态代理。代理提供了一种让我们间接访问目标对象的方法,以便我们对目标对象实现基本的功能外,还可以增加一些额外的功能。

java类与类之间的关系

java类之间的关系

在java的面向对象的设计模式中,类与类之间的关系主要有6种。分别是依赖,关联,聚合,组合,继承,实现。其中,关联,聚合,组合仅仅在语义上有区别,在编程环境中的语法是一样的。

深入理解volatile

一.java内存模型

在说volatile之前,需要了解java的内存模型。java采用的是共享内存模型,线程之间的共享变量存储在主内存中,每个线程有一个私有的本地本地内存,本地内存存储了该线程读写共享变量的副本,如图

谈谈synchronized

一.线程安全问题

​ 在单线程的情况下不会出现线程安全问题,而在多线程中,有可能会出现同时访问一个共享可变资源的情况。共享意味着该资源可被多个线程共享,可变意味着资源可被多个线程修改,这样很可能出现线程安全问题。

|
载入天数...载入时分秒...