240 发简信
IP属地:上海
  • java浅克隆与深克隆

    一. 基本概念 浅克隆只复制对象的基本数据类型(byte,short,int,long,float,double,boolean,char),不复制引用类型 深克隆复制对象的...

  • 120
    okhttp3 简单使用

    1. 简介 okhttp是一个高效的http请求客户端,它有如下一些特点:1)使用连接池技术,减少延迟2)同一个主机请求,共享一个socket3)使用压缩请求,减少下载数据的...

  • 插入排序 ~ 算法之二

    1. 简介 插入排序,有时也称直接插入排序,这里“插入”是指将一个数,插入到有序数列中的合适位置 2. 算法过程 我们有多轮的过程,每轮过程是将一个数放入到有序数列的合适位置...

  • 120
    BlockingQueue 阻塞队列

    1. 背景 阻塞队列是在我们的并发包中,可以帮助我们高效安全地传输数据,为我们写出高质量的多线程程序带来便利。 2. 主要方法 我们可以看一下定义和主要方法: 主要方法含义:...

  • 随机数产生

    1. Random产生 这里示例,我们产生20个1000以内的整数 注:1)这里的nextInt产生的数,包括[0,num),也就是这里是0-9992)Random初始化的时...

  • 冒泡排序 算法之一

    1. 简介 比较简单的算法,算法的名字也比较形象,小气泡一个接一个地往上冒,看着队伍还比较整齐,等所有的气泡都冒完了,整个排序过程也就结束了,我们就得到了一个整齐的队伍 2....

  • 建造者模式 ~ 设计模式之九

    1. 定义 将一个复杂对象的表示和构建分离,使同样的构建过程可以创建不同的表示 2. 结构 主要角色如下:产品角色:包含的部件较多,由具体建造者负责部件的创建抽象建造者:抽象...

  • 单例模式 ~ 设计模式之八

    1. 什么是单例模式 一个类只有一个实例,并提供一个全局访问的入口 2. 为什么要用单例 只生成一个实例,减少了系统资源的开销 提供了统一的访问入口,对共享资源的访问较为便利...

  • 函数式接口 ~ java8特性

    1. 介绍 函数式接口,我们只看后缀,它就是个接口,区别就是它只有一个抽象的方法,并且在实例化这个接口时,我们可以用lambda表达式来表示,或是更简洁的方法引用。 2. 分...

  • 120
    Spring Cloud Alibaba Nacos 服务注册与发现功能实现

    Nacos 是 Spring Cloud Alibaba 中一个重要的组成部分,它提供了两个重要的功能:服务注册与发现和统一的配置中心功能。 服务注册与发现功能解决了微服务集...

  • 120
    统一资源访问Resource

    1. 资源的种类 1)文件资源,比如操作系统的文件2)程序资源,比如二进制数据、输入流资源、类路径下的资源3)网络资源,比如http资源、ftp资源等 2. spring资源...

  • 反射使用

    1. 简单示例 我们先来简单看一下反射的例子 主要过程 1)获得当前线程的classLoader,并指定类的全限定名,装载类的实例信息2)通过反射类的构造函数实例化对象3)通...

  • mysql锁

    1. 相关概念 按锁的粒度分: 表锁、页锁、行锁 行锁是锁表粒度最小、最细的一种锁,能大大减少数据库冲突的概率,当然锁表的开锁也是最大的表锁是粒度最大的一种锁,是对整张表进行...

  • 方法引用 ~ java8特性

    1. 介绍 前面讲的lambda表达式,已经简化了匿名类的写法,而我们使用方法引用结合lambda表达,可以更加简化写法,可以看一下下面的示例: 2. 方法引用的类型 静态方...

  • 函数式编程

    1. lambda表达式 格式:(参数)->表达式(参数)->{语句;}示例 函数式接口 函数式接口:有仅只有一个抽象方法的接口。我们可以看一下jdk中现有的: 这里我们看到...

  • 异常处理

    1. 异常抛出 下面是我们最常用到的抛出异常的方式, 当然通过源码可以看到,NullPointerException也有一个带参数的构造,且是一个运行时异常 2. 异常捕获 ...

  • ThreadLocal介绍

    1. 简单使用 可以看到,同一个线程中设置完userId,在线程中的其他地方可以读取出来使用 2. 实现原理 我们先看一下ThreadLocal中,上面用到的两个方法:get...

  • 强引用、软引用、弱引用、虚引用

    1. 强引用 StrongReference 就是我们最普遍使用的方式,如 这样对于我们,就是创建一个强引用,只要引用存在,jvm就不会回收引用对应的空间,哪怕是报出内存空间...

  • 120
    VisualVM插件安装

    1. VisualVM是什么? 是一个查看、调试jvm信息的可视化界面工具,非常地方便 2. 打开界面 在jdk的安装目录的bin文件夹下,运行命令jvisualvm可以直接...