工作总结 Published by linzhi teng December 3rd, 2019 Permalink 工作总结 TODO spring拦截器 过滤器 线程+线程池 文件系统 消息队列mq activi 流程 maven settings.xml 日志写法 工具类 业务写法 1. controller 2. swagger注解: 打包 1. jar包: 2. war包: 3. assembly插件 分页 mybatis response/request 工作总结 TODO spring拦截器 过滤器 线程+线程池 文件系统 消息队列mq activi 流程 maven 加入本地jar包 mvn in... Gong Zuo
linux Published by linzhi teng August 13th, 2019 Permalink linux 权限 命令 基本命令 find 系统信息 ps和grep 用户管理 链接 文件操作 打包 awk sed vim 正常模式 编辑模式 命令模式 shell bash 命令 特殊命令 命令替换 变量替换 运算符 字符串 数组 case esac语句 for function 重定向 linux 权限 d rwx r-x r-x 3 root root 第 1 位为文件类型字段,后 9 位为文件权限字段 文件类型: d:目录 -:文件 l:链接文件 权限字段 9 位的文件权限字段... Linux, Bash
分支管理 Published by linzhi teng April 2nd, 2019 Permalink 分支管理 查看远程分支 git branch -a 查看本地分支 git branch 创建分支 git branch name 把分支推到远程库 git push orgin name 切换分支 git checkout name 删除本地分支 git branch -d name 本地项目上传到github 在github上新建一个repository 选择本地的一个目录进入,右键选择git bash here 命令: git clone 新建仓库的url... Git
数据结构总结 Published by linzhi teng April 1st, 2019 Permalink 数据结构 基本概念 分类 逻辑结构 存储结构 判断 数据的运算 数据结构详解 1.线性表 1.1 线性表的顺序存储(SeqList) 1.2 线性表的链式存储 1.2.1 单链表 1.2.2 双链表 1.3 改良顺序表与双链表(类似ArrayList和LinkedList) 2. 栈(Stack) 2.1 顺序栈 2.2 链式栈 2.3 栈的应用 2.4 详细讲解 3. 队列(Queue) 3.1 顺序队列 3.2 链式队列(LinkedQueue) 3.3 优先队列(PriorityQueue) ... Shu Ju Jie Gou
一. 二叉树 Published by linzhi teng April 1st, 2019 Permalink 一. 二叉树 1. 二叉树的基本概念 1.1 二叉树基本形态 1.2 二叉树类型 1.3 树的相关术语 1.4 二叉树性质 1.5 二叉树遍历 2. 完全二叉树 2.1 完全二叉树定义 2.2 完全二叉树性质 2.3 完全二叉树特点 2.4 完全二叉树存储 2.5 完全二叉树判定 3. 满二叉树 3.1 满二叉树定义 4. 堆 4.1 堆的概念 4.2 堆的实现 5. 二叉查找树(排序树)(Binary Search Tree,BST) 二叉树查找树的详细解析 6. 平衡二叉树(AVL树) 6.1 ... Shu
二 . 红黑树 Published by linzhi teng March 16th, 2019 Permalink 二 . 红黑树 1. 红黑树简介 2. 红黑树的修正 2.1 左旋 2.2 右旋 3. 红黑树节点的添加 3.1 红黑树插入后节点的调整思想: 3.1.1 插入操作-case 1(叔叔节点也为红色) 3.1.2 插入操作-case 2 3.1.3 插入操作-case 3 4. 红黑树节点的删除 4.1 红黑树删除之节点调整 4.1.1 删除操作-case 1 4.1.2 删除操作-case 2 4.1.3 删除操作-case 3 4.1.4 删除操作-case 4 二 . 红黑树 1. 红黑树简介... Shu
三 . B树、B+树、B*树 Published by linzhi teng March 16th, 2019 Permalink 三 . B树、B+树、B*树 3.1 B树(B-树) 3.1.1 B树简介 3.1.2 B树特点 3.1.3 B树的查找 查找操作的时间开销 3.1.4 B树的插入 3.1.5 B树的删除 3.2 B+树 3.2.1 B+树简介 B+树用途 3.2.2 B+树定义 B+树与B-树的不同 3.2.3 B+树的特性: 3.2.4 B+树 vs B树 3.3 B*树 3.3.1 B*树简介 3.3.2 B*树 vs B+树 3.4 小结: 三 . B树、B+树、B*树 3.1 B树(B-树) 3.1.1 ... Shu
JDK 并发容器总结 Published by linzhi teng March 13th, 2019 Permalink JDK 并发容器总结 1. JDK 提供的并发容器 2. ConcurrentHashMap 3. CopyOnWriteArrayList 3.1 CopyOnWriteArrayList 简介 3.2 CopyOnWriteArrayList 是如何做到的? 3.3 CopyOnWriteArravList 读取和写入源码简单分析 3.3.1 CopyOnWriteArravList 读取操作的实现 3.3.2 CopyOnWriteArravList 写入操作的实现 4. Concurren... Xian Cheng
八. AQS 原理以及 AQS 同步组件总结 Published by linzhi teng March 13th, 2019 Permalink 八. AQS 原理以及 AQS 同步组件总结 1. AQS 简单介绍 2. AQS 原理 2.1 AQS 原理概览 2.2 AQS 对资源的共享方式 2.3 AQS底层使用了模板方法模式 3. Semaphore(信号量)-允许多个线程同时访问 4. CountDownLatch (倒计时器) 4.1 CountDownLatch 的两种典型用法 4.2 CountDownLatch 的使用示例 4.3 CountDownLatch 的不足 5. CyclicBarrier(循环栅栏) 5.1 Cy... Xian Cheng
七. JUC 中的 Atomic 原子类总结 Published by linzhi teng March 13th, 2019 Permalink 七. JUC 中的 Atomic 原子类总结 1. Atomic 原子类介绍 1.1 原子类类型 基本类型 数组类型 引用类型 对象的属性修改类型 2. 基本类型原子类 2.1 基本类型原子类介绍 2.2 AtomicInteger 常见方法使用 2.3 基本数据类型原子类的优势 2.4 AtomicInteger 线程安全原理简单分析 3. 数组类型原子类 3.1 数组类型原子类介绍 3.2 AtomicIntegerArray 常见方法使用 4. 引用类型原子类 4.1 引用类型原子类介绍 4.... Xian Cheng
Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比 Published by linzhi teng March 12th, 2019 Permalink Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比 1. synchronized关键字最主要的三种使用方式的总结 1.1 双重校验锁实现对象单例(线程安全) 2. synchronized 关键字底层原理总结 2.1 synchronized 同步语句块的情况 2.2 synchronized 修饰方法的的情况 3. JDK1.6 之后的底层优化 3.1 JDK1.6之前 3.2 JDK1.6 之后 锁的状态 1. 偏向锁 2. ... Xian Cheng
一. 线程入门 Published by linzhi teng March 12th, 2019 Permalink 一. 线程入门 1. 进程和多线程简介 1.1 何为进程? 1.2 何为线程? 1.3 线程和进程的关系 1.4 线程有哪些基本状态?这些状态是如何定义的? 1.5 线程的优先级 1.6 何为多线程? 1.7 为什么多线程是必要的? 1.8 为什么提倡多线程而不是多进程? 2. 几个重要的概念 2.1 同步和异步 2.2 并发(Concurrency)和并行(Parallelism) 2.3 高并发 2.4 临界区 2.5 阻塞和非阻塞 3. 多线程 3.1 使用多线程常见的三种方式 3.2 Jav... Xian Cheng
六. 线程池与Executor 框架 Published by linzhi teng March 12th, 2019 Permalink 六. 线程池与Executor 框架 1. 使用线程池的好处 2. Executor 框架 2.1 Executor 简介 2.2 Executor 框架结构(主要由三大部分组成) 1 任务 2 任务的执行 3 异步计算的结果 2.3 Executor 框架的使用示意图 3. ThreadPoolExecutor详解 3.1 ThreadPoolExecutor类的四个比较重要的属性 3.2 ThreadPoolExecutor类中提供的四个构造方法 3.3 如何创建ThreadPoolExecut... Xian Cheng
五. 并发编程中一些问题 Published by linzhi teng March 12th, 2019 Permalink 五. 并发编程中一些问题 1. 多线程就一定好吗?快吗?? 2. 上下文切换 2.1 减少上下文切换 2.2 CAS算法 2.3 协程 3. 避免死锁 3.1 如何产生的死锁 3.2 避免死锁的常见方法 3.3 解决资源限制 五. 并发编程中一些问题 并发编程的问题 1. 多线程就一定好吗?快吗?? 并发编程的目的就是为了能提高程序的执行效率提高程序运行速度,但是并发编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题, 比如:内存泄漏、上下文切换、死锁还有受限于硬件和软件的资源... Xian Cheng
三. 线程间通信知识点补充 Published by linzhi teng March 12th, 2019 Permalink 三. 线程间通信知识点补充 1. 管道输入/输出流 2. Thread.join()的使用 3. ThreadLocal的使用 3.1 ThreadLocal介绍 3.2 ThreadLocal方法 3.3 InheritableThreadLocal 三. 线程间通信知识点补充 线程通信知识补充 1. 管道输入/输出流 管道输入/输出流主要用于线程之间的数据传输,而且传输的媒介为内存。 管道输入/输出流主要包括下列两类的实现: 面向字节: PipedOutputStream、 Pip... Xian Cheng
四. Lock锁的使用 Published by linzhi teng March 12th, 2019 Permalink 四. Lock锁的使用 1 Lock接口 1.1 Lock接口简介 1.2. Lock的简单使用 1.3. Lock接口的特性和常见方法 2. Lock接口的实现类:ReentrantLock 2.1 ReentrantLock类常见方法 2.2 第一个ReentrantLock程序 3. Condition接口简介 3.1 使用Condition实现等待/通知机制 4. 公平锁与非公平锁 5. ReadWriteLock接口的实现类:ReentrantReadWriteLock 5.1 简介 5.... Xian Cheng
二. 线程安全 Published by linzhi teng March 12th, 2019 Permalink 二. 线程安全 0. 锁 0.1 为什么需要锁(并发控制)? 0.2 并发控制机制(锁) 0.3 两种锁的使用场景 0.4 乐观锁的缺点 0.5 乐观锁与悲观锁详解 1. synchronized关键字(1) 1.1 变量安全性 1.2 多个对象对个锁 1.3 synchronized方法与锁对象 1.4 脏读 1.5 synchronized锁重入 1.6 同步不具有继承性 2. synchronized关键字(2) 2.1 synchronized方法的缺点 2.2 synchronized(... Xian Cheng
三级基础知识 Published by linzhi teng March 9th, 2019 Permalink 选择题 必考 问传输速度 OC-3 对应 155.52 Mbps OC-12 对应 622.08 Mbps OC-48对应2.488GMbps 求交换机带宽 某交换机有 12 个 10/100 Mbps 电端口和 2 个 1000 Mbps 光端口,所有端口都在全双工状态下,那么总带宽为( ) 解:忽略 10/100 中的 10,当成 100 Mbps 就好。12 * 100 + 2 * 1000 = 3200,又因为全双工所以乘以 2 得 6400 Mbps ,即 6.4 Gb...
linux操作系统 Published by linzhi teng March 8th, 2019 Permalink 一. 认识操作系统 1.1 操作系统简介 操作系统(Operation System,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石; 操作系统本质上是运行在计算机上的软件程序 ; 为用户提供一个与系统交互的操作界面 ; 操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)。 1.2 操作系统简单分类. Windows: 目前最流行的个人桌面操作系统 ,不做多的介绍,大家都清楚。 Unix: 最早的多用户、多任务操作系统 .按照操... Linux
线程总结 Published by linzhi teng March 4th, 2019 Permalink 一.线程入门 1. 进程和多线程简介 1.1 何为进程? 1.2 何为线程? 1.3 线程和进程的关系 1.4 线程有哪些基本状态?这些状态是如何定义的? 1.5 线程的优先级 1.6 何为多线程? 1.7 为什么多线程是必要的? 1.8 为什么提倡多线程而不是多进程? 2. 几个重要的概念 2.1 同步和异步 2.2 并发(Concurrency)和并行(Parallelism) 2.3 高并发 2.4 临界区 2.5 阻塞和非阻塞 3. 多线程 3.1 使用多线程常见的三种方式 3.2 Java... Xian Cheng