# jucdemo2 **Repository Path**: linestyle007/jucdemo2 ## Basic Information - **Project Name**: jucdemo2 - **Description**: jucdemo2 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 3 - **Created**: 2019-10-28 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一、多线程高并发(concurrent、jvm包) ### 1.JUC多线程及高并发 #### 1.1 多线程集合 #### 1.2 cas #### 1.3 锁 #### 1.4 队列 #### 1.5 线程池 ### 2.JVM+GC解析 demo ## 二、JDK8新特性(lamp包) ### 1.四大函数式接口 ### 2.方法引用 ### 3.构造器引用 ### 4.数组引用 ### 5.常用操作 #### 5.1 创建Stream #### 5.2 迭代器 #### 5.3 筛选与切片 #### 5.4 flatMap #### 5.5 查找与匹配 #### 5.6 归约 #### 5.7 收集(转集合、统计、字符串拼接、多级分组、分区) ## 三、数据结构与算法(datastructs包) ### 1.链表 #### 1.1 单向链表 #### 1.2 双向链表 #### 1.3 单向环形链表(约瑟夫问题) ### 2.栈 #### 2.1 数组模拟栈 #### 2.2 实现统合计数器 ### 3.递归 #### 3.1 打印问题 #### 3.2 阶乘 #### 3.3 两个案例:迷宫、八皇后 ### 4.排序算法 #### 4.1 冒泡排序 #### 4.2 选择排序 #### 4.3 插入排序 #### 4.4 希尔排序(plus版插入排序) #### 4.5 快速排序(plus版冒泡排序) #### 4.6 归并排序 #### 4.7 基数排序(桶排序) #### 小总结: ##### (1)速度方面:桶排序、快速排序、希尔排序、插入排序、选择排序、冒泡排序 ##### (2)归并排序需要一个arr[length]的额外数组 ##### (3)基数排序需要一个arr[10][length]的二维数组 ### 5.查找算法 #### 5.1 线性查找 #### 5.2 二分查找 #### 5.3 插值查找 #### 5.4 斐波那契算法(黄金分割算法) ### 6.哈希表 #### 6.1 简单的员工添加、查询 ### 7.树 #### 7.1 树结构基础部分 二叉树 前序、中序、后序遍历 节点查找 节点删除 顺序二叉树 前序、中序、后序遍历(以数组方式) 线索化二叉树 中序方式 #### 7.2 实际应用 堆排序 赫夫曼编码(数据压缩) 二叉排序树 平衡树(AVL树) #### 7.3 多路查找树 二叉树与B树 2-3树 B树、B+树和B*树 ### 8.图 #### 8.1 创建图 #### 8.2 深度优先算法 #### 8.3 广度优先算法 ## 四、算法(algorithm包) ### 1.程序员常用10大算法 #### 1.1 二分查找算法(非递归) #### 1.2 分治算法 #### 1.3 动态规划算法 #### 1.4 KMP算法 #### 1.5 贪心算法 #### 1.6 普利姆算法 #### 1.7 克鲁斯卡尔算法 #### 1.8 迪杰斯特拉算法 #### 1.9 弗洛伊德算法 #### 2.0 马踏棋盘算法 ## 五、spring注解驱动开发(spring包) ### 1.容器 #### A.第一章(com.line.spring.ch01) 1.1 @Bean:测试第一个Bean 1.2 @ComponentScan注解 1.3 @Scope:作用域 1.4 @Lazy:懒加载 1.5 @Conditional:条件 1.6 @Import:导入组件 1.7 @ ... ### 2.扩展原理 ### 3.web