2019年12月4日

【转载】关于SimpleDateFormat安全的时间格式化线程安全问题

摘要: 想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多 阅读全文

posted @ 2019-12-04 15:13 wanbf 阅读(253) 评论(0) 推荐(0) 编辑

【转载】Java对象的生命周期

摘要: Java对象的生命周期 在Java中,对象的生命周期包括以下几个阶段: 1. 创建阶段(Created) 2. 应用阶段(In Use) 3. 不可见阶段(Invisible) 4. 不可达阶段(Unreachable) 5. 收集阶段(Collected) 6. 终结阶段(Finalized) 7 阅读全文

posted @ 2019-12-04 11:43 wanbf 阅读(131) 评论(0) 推荐(0) 编辑

【转载】JVM结构、GC工作机制详解

摘要: 文章主要分为以下四个部分 JVM结构、内存分配、垃圾回收算法、垃圾收集器。下面我们一一来看。 一、JVM结构 根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class 阅读全文

posted @ 2019-12-04 10:59 wanbf 阅读(141) 评论(0) 推荐(0) 编辑

2019年7月18日

数据结构与算法---堆排序(Heap sort)

摘要: 堆排序基本介绍 1、堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。 2、堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值 阅读全文

posted @ 2019-07-18 23:41 wanbf 阅读(900) 评论(1) 推荐(0) 编辑

2019年7月15日

数据结构与算法---线索化二叉树(Threaded BinaryTree)

摘要: 先看一个问题 将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树 问题分析: 线索二叉树基本介绍 1、n个结点的二叉链表中含有n+1 【公式 2n-(n-1)=n+1】 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为" 阅读全文

posted @ 2019-07-15 23:44 wanbf 阅读(525) 评论(0) 推荐(0) 编辑

2019年7月10日

数据结构与算法---树结构(Tree structure)

摘要: 为什么需要树这种数据结构 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低。 链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入 阅读全文

posted @ 2019-07-10 23:37 wanbf 阅读(1110) 评论(0) 推荐(0) 编辑

2019年7月7日

数据结构与算法---查找算法(Search Algorithm)

摘要: 查找算法介绍 在java中,我们常用的查找有四种: 1)线性查找算法 示例: 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。 思路:将数列遍历匹配,就是用for循坏遍历,if匹配数据,找到下标值 阅读全文

posted @ 2019-07-07 12:52 wanbf 阅读(1063) 评论(0) 推荐(0) 编辑

2019年6月16日

数据结构与算法---排序算法(Sort Algorithm)

摘要: 排序算法的介绍 排序也称排序算法 (Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 排序的分类 1) 内部排序: 指将需要处理的所有数据都加载 到内部存储器(内存)中进行排序。 2) 外部排序法:数据量过大,无法全部加载到内 存中,需要借助外部存储(文件等)进行 排序 阅读全文

posted @ 2019-06-16 23:28 wanbf 阅读(675) 评论(0) 推荐(1) 编辑

2019年6月9日

数据结构与算法--八皇后问题(回溯算法)

摘要: 八皇后问题介绍 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出: 在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 那么我们使用编程来算出有多少种摆法,这也是使 阅读全文

posted @ 2019-06-09 17:24 wanbf 阅读(403) 评论(0) 推荐(0) 编辑

数据结构与算法--递归(recursion)

摘要: 递归的概念 简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 递归调用机制 我列举两个小案例,来帮助大家理解递归 1、打印问题 2、阶乘问题 3、使用图解说明递归的调用机制 递归能解决什么样的问题 1、各种数学问题如: 8皇后问 阅读全文

posted @ 2019-06-09 15:28 wanbf 阅读(547) 评论(0) 推荐(0) 编辑

导航