摘要:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configur 阅读全文
摘要:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dt 阅读全文
摘要:
线程是一个程序员一定会涉及到的概念,但是线程的创建和切换都是代价比较大的。所以,我们需要有一个好的方案能做到线程的复用,这就涉及到一个概念——线程池。合理的使用线程池能够带来3个很明显的好处: 降低资源消耗:通过重用已经创建的线程来降低线程创建和销毁的消耗 提高响应速度:任务到达时不需要等待线程创建 阅读全文
摘要:
需要设置setNX 保证锁的唯一 设置锁时长 不设置有可能会导致死锁 锁续期 防止业务实行时间大于锁的时长 阅读全文
摘要:
Java的基本数据类型 整型 byte 占用1个字节 short 占用两个字节 int 占用4个字节 long 占用8个字节 浮点型 float 占用4个字节 double 占用8个字节 字符型 char 占用2 个字节 布尔型 Boolean 占用1个字节 String 类可以被继承吗 不能 因为 阅读全文
摘要:
动态代理的作用: 在不修改源码的情况下对代码进行正强 动态代理的特点:它的字节码是随用随创建,随用随加载 动态代理的分类: 基于接口和基于子类这两类 两种动态代理的使用:基于接口的动态代理,要求被代理对象最少实现一个接口, 基于子类的动态代理,要求被代理对象不能是最终类,也就是不能被final修饰 阅读全文
摘要:
面向对象和面向过程的思想对比 : 面向过程 :是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的 面向对象 :是一种以对象为中心的编程思想,通过指挥对象实现具体的功能 类和对象的关系 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。 类的理解 类是对现实生活中一类具有共同属性和行为 阅读全文
摘要:
HashSet 无序不可重复 底层是使用hashMap 使用map 的key值来进行存储 阅读全文
摘要:
有序且可重复 链表集合 底层是双向链表 每次查询都要从两头开始查询,使用查询慢,但是增删快,只需要将链表头节点和尾节点指向新插入的节点即可 内存空间是不连续的 JDK1.8 后会根据index的值判断是否有链表总长度的二分之一,以便在查询的时候判断从前慢查找还是从后面查找 阅读全文
摘要:
ArrayList 是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是 阅读全文