- 博客(54)
- 资源 (8)
- 收藏
- 关注
原创 mysql连接问题
今天在用spring和C3P0进行mysql数据库连接时,老是报错,这是以前没见过的。错误如下: 上图为警告 这里的错误多半是由于其他的(前面或者是后面的错误)引起的。 这里警告时区错误。经历过上面的错误,也算是吸取教训了,在配置jdbc的url的时候,一定要小心,一般其他地方没有问题的话,错误就出在这个地方。例如,在新版本的(好像是5.4)mysql中,必须显示的指定useSSL参数,否则就
2016-05-31 18:05:27 5968 2
原创 maven 详解
Maven,发音是[`meivin],”专家”的意思。写这个学习笔记的目的,一个是为了自己备忘,二则希望能够为其他人学习使用maven缩短一些时间。maven是什么maven将自己定位为一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西:版本maven有自己的版本定义和规则 构建maven支持许多种的应用程序类型,对于每一种支持的应用程序类型都定义好了一组构建规则和工具集。 输出管理ma
2016-05-29 21:10:51 3242
原创 二叉树--红黑树
红黑树定义红黑树,顾名思义,就是树的节点只有红色和黑色两种状态,通过这两种状态的标识和规定颜色的使用,来使树达到相对平衡。为什么说相对平衡?因为在红黑树中,所有的条件限制只能保证,所有路径中最长的路径不能使最短路径的2倍。只能保证相对平衡。有人讨论:红黑树是不是一棵平衡二叉树?因为红黑树不满足严格的平衡二叉树的定义,从严格意义上来讲,红黑树并不是平衡二叉树;但是,红黑树在建立的时候,也是有平衡调整的
2016-05-27 19:20:06 3959
原创 二叉树--二叉平衡树
二叉平衡树是二叉树中最为最要的概念之一,也是在语言库或者项目中应用比较广泛的一种特殊的树形结构。二叉平衡树AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 通常AVL树是在二叉搜索树上,经过局部调整而建立的,因此,它还是一棵排序树。上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1;而右边的不是AVL树,因为7的两颗子树的高度相差为2
2016-05-27 14:24:57 5041
原创 二叉树--二叉搜索树
一直对AVL这个英文缩写比较困惑,原来一直以为是平衡二叉树的首字母缩写,但是又想不明白,哈!前段时间才明白原来是种这课树的三个人的名字的首字母的,哎,生活处处有惊喜,无知不可怕,现在我也知道了。废话不多说,下面我们说说,树形结构中的那些平衡二叉树。二叉排序树树的遍历顺序有3种,二叉排序树,顾名思义,就是一颗有序的二叉树,是一种按照中序遍历树中节点,而输出有序队列的一种树形结构,一种特殊的树形结构。定
2016-05-27 11:23:13 4271 1
原创 二叉树--判断平衡二叉树
判断一棵树是不是平衡二叉树,平衡二叉树的定义就是,左右子树的差的绝对值不超过1,其实也就是求解出每个节点的左右子树的深度差。代码如下:public boolean isBalanced(TreeNode root) { if (root == null) return true; if(!isBalanced(root.left)) return false; if (!is
2016-05-26 15:37:56 663
原创 二叉树--路径
二叉树中,从根节点到叶节点的每一条连接,我们称之为路径,最短路径和最长路径在之前的博客中,我们已经完成了对他们的讨论,现在我们讨论一下,输出一棵二叉树中全部的路径信息。代码如下所示:public class Operation{ List<String> result = new LinkedList<String>();//存储最后的结果 public List<String> b
2016-05-26 10:05:11 3503 3
原创 二叉树--根据遍历构造二叉树
二叉树中的三种遍历方式,是我们最为熟知的,通过先序遍历+中序遍历或者是中序遍历+后序遍历都可以唯一确定一棵二叉树;但是注意,先序遍历+后序遍历不能确定一棵二叉树,但是如果一棵二叉树中只有度为0和度为2的节点,那么这种遍历方式也是可以确定一棵确定的二叉树的。先序+中序–>构造二叉树下面我们分别来看一下,根据先序+中序遍历的顺序,如何恢复一棵二叉树,代码如下://首先采用递归的方式public Tre
2016-05-25 11:02:11 4938 2
原创 二叉树--最近公共父节点
给定二叉树中的任意两点,求解该两点的最近公共父节点。程序大致分为递归和非递归两种方式,下面我们先来认识非递归的方式。非递归程序总体的思路:用一种常见高效的数据结构来记录下二叉树中的结构关系,由于是找父节点,所以要用子节点来查找父节点,我们这里用到的是HashMap来进行树形关系的存储。接下来就是先列出一个要求节点的所有父节点,然后比较另一个要求节点的父节点在不在上面的列中,第一个出现的节点,就是我们
2016-05-24 17:54:34 8205
原创 二叉树--最小路径
最小路径二叉树中的最小路径指的是,二叉树中根节点到达叶子节点的路径中,距离最短的一个。//recursivelypublic int minDepth1(TreeNode root) { if (root == null) { return 0; } else if (root.left != null && root.right != null) {
2016-05-24 15:36:02 5126
原创 二叉树--反转
1、求二叉树的镜像 最为容易理解的递归代码public TreeNode invertTree(TreeNode root) { if (root == null) { return null; } TreeNode left = root.left, right = root.right; if (root.
2016-05-24 11:27:09 565
原创 二叉树--遍历
遍历分为非递归和递归两种形式,递归的遍历很简单,本文主要针对非递归算法进行说明,详细代码如下:static void visit(TreeNode root) { System.out.println(root.key + "----------->" + root.value);}//先序遍历static void preOrder(TreeNode root) {
2016-05-23 19:52:38 740
原创 二叉树--深度
在二叉树中,最为常见就是求解一棵树的深度,最为常见的方式分为递归求解和非递归求解,具体代码如下。 树形结构public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }
2016-05-23 16:02:18 739 1
原创 树的总结
树是数据结构中最为常见的数据结构之一,最为常见的就是二叉树(Binary Tree),下面我们对树进行一次总结。二叉树平衡二叉树线索二叉树二叉排序树二叉搜索树红黑树哈弗曼树B树treap树trie树
2016-05-23 11:20:39 582
原创 最大回文子串(java)
题目:给一个字符串,找出最长的回文的长度(或求这个回文)。分析:寻找字符串中的回文,有特定的算法来解决,也是本文的主题:Manacher算法,其时间复杂度为O(n)。首先在每两个相邻字符中间插入一个分隔符,当然这个分隔符要在原串中没有出现过。一般可以用‘#’分隔。这样就非常巧妙的将奇数长度回文串与偶数长度回文串统一起来考虑了。然后,我们需要一个辅助数组rad[],用rad[i]表示第i个字符的回文半
2016-05-23 10:57:21 3061
原创 常见的链表操作
1. 单链表的逆序包括逆序输出链表,三种方式,第一种是操作用栈的方式,将链表装入栈中,然后新建链表进行输出;第二种是头结点插入,没来一个节点,就插入头结点之后;第三种是对称交换,将链表以中心节点为中心,进行对称交换。2. 合并有序链表有序链表合并是有两种方式,一种是新建一个全新的链表,对比两个有序的链表的对应节点的大小,一次添加到新建的链表中,如果两个链表不等长,那么最后将长的那一个追加到新建链表的
2016-05-23 10:50:23 1212
原创 链表删除节点(O(1))
题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};函数的声明如下:void DeleteNode(ListNode* pListHead, ListNode* pToBeDeleted); 分析:这
2016-05-20 19:46:49 964 1
原创 单链表逆序(三种方式)
三种方式实现单链表的逆序,分别是头结点插入,对称交换和利用堆栈来实现。三种方式分别是出于空间和时间的考虑来实现的,详见注释。public class LinkedList { class Node { private Node next; private Object data; public Node() { super(
2016-05-20 19:09:25 8344
原创 算法中的距离
在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。 本文的目的就是对常用的相似性度量作一个总结。本文目录:1.欧氏距离2.曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离5.标准化欧氏距离6
2016-05-18 18:36:46 1219
原创 Spark standalone下的运行过程
Spark的Cluster Manager可以有以下几种部署方式: 1. standalone 2. Mesos 3. YARN 4. EC2 5. Local其中standalone方式是spark自带的部署方式,下面我们分别对没有HA的standalone模式和带有HA的standalone模式中application的提交与具体的运行流程进行一个比较详尽的分析。没有HA的standa
2016-05-18 11:01:25 6140
原创 HDFS 综述
Hadoop是一个开发和运行处理大规模数据的软件平台,是Apache的一个用Java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。 Hadoop框架中最核心设计就是:HDFS和MapReduce。HDFS提供了海量数据的存储,MapReduce提供了对数据的计算。HD
2016-05-17 17:03:28 1366
原创 java线程池详解一
1、为什么要用线程池技术诸如Web服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构建服务器应用程序的一个
2016-05-15 23:35:47 4702 2
原创 Spark RDD详解
1、RDD是什么RDD:Spark的核心概念是RDD (resilientdistributed dataset),指的是一个只读的,可分区的分布式数据集,这个数据集的全部或部分可以缓存在内存中,在多次计算间重用。RDD的描述Internally, each RDD is characterized by five main properties:A list of partitionsA fu
2016-05-13 18:46:46 14832
原创 Spark学习资料汇总
以上是楼主自己收集的spark学习的一些资料,希望对大家有所帮助1. 书籍Learning SparkMastering Apache Spark2. 网站official siteuser mailing listspark channel on youtubespark summitmeetupspark third party packagesdatabr
2016-05-13 14:52:00 1390
原创 mysql详解--数据库基本概念
.1、事务每一种关系数据库都是以事务(Transaction)作为操作的基本单位。在关系型数据库中,对事务操作进行了如下定义: 事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 2、事务的特性事务ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、
2016-05-11 10:15:00 5862
转载 mysql详解--mysql中的锁
注意:本文中作者并没有说明写这篇blog是所用的mysql的版本,所以如果读者有任何建议或者和新版本有出入的地方,请在下面提出锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素
2016-05-10 22:05:41 2847
转载 java集合18--Iterator和Enumeration比较
概要这一章,我们对Iterator和Enumeration进行比较学习。内容包括: 第1部分 Iterator和Enumeration区别 第2部分 Iterator和Enumeration实例转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311275第1部分 Iterator和Enumera
2016-05-08 16:34:10 737
转载 java集合17--TreeSet源码走读
概要这一章,我们对TreeSet进行学习。 我们先对TreeSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeSet。内容包括: 第1部分 TreeSet介绍 第2部分 TreeSet数据结构 第3部分 TreeSet源码解析(基于JDK1.6.0_45) 第4部分 TreeSet遍历方式 第5部分 TreeSet示例转载请注明出处:http://www.cnb
2016-05-08 16:29:49 858
转载 java集合16-HashSet源码走读
概要这一章,我们对HashSet进行学习。 我们先对HashSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashSet。内容包括: 第1部分 HashSet介绍 第2部分 HashSet数据结构 第3部分 HashSet源码解析(基于JDK1.6.0_45) 第4部分 HashSet遍历方式 第5部分 HashSet示例转载请注明出处:http://www.cnb
2016-05-08 16:24:04 761
转载 java集合15--set架构
前面,我们已经系统的对List和Map进行了学习。接下来,我们开始可以学习Set。相信经过Map的了解之后,学习Set会容易很多。毕竟,Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Set架构。 (01) Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。 (02) Abstra
2016-05-08 16:17:13 536
转载 java集合14--Map总结
概要学完了Map的全部内容,我们再回头开开Map的框架图。本章内容包括: 第1部分 Map概括 第2部分 HashMap和Hashtable异同 第3部分 HashMap和WeakHashMap异同转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311126第1部分 Map概括(01) Map
2016-05-08 16:15:09 876
转载 java集合13--WeakHashMap源码详解
概要这一章,我们对WeakHashMap进行学习。 我们先对WeakHashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用WeakHashMap。 第1部分 WeakHashMap介绍 第2部分 WeakHashMap数据结构 第3部分 WeakHashMap源码解析(基于JDK1.6.0_45) 第4部分 WeakHashMap遍历方式 第5部分 WeakHash
2016-05-08 16:02:37 791
转载 java集合12--TreeMap源码详解
概要这一章,我们对TreeMap进行学习。 我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap。内容包括: 第1部分 TreeMap介绍 第2部分 TreeMap数据结构 第3部分 TreeMap源码解析(基于JDK1.6.0_45) 第4部分 TreeMap遍历方式 第5部分 TreeMap示例转载请注明出处:http://www.cnblo
2016-05-08 14:33:07 1116
转载 java集合11--HashTable源码详解
概要前一章,我们学习了HashMap。这一章,我们对Hashtable进行学习。 我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable。第1部分 Hashtable介绍 第2部分 Hashtable数据结构 第3部分 Hashtable源码解析(基于JDK1.6.0_45) 第4部分 Hashtable遍历方式 第5部分 Hashtable
2016-05-08 13:59:29 935
转载 java集合10--HashMap源码走读
概要这一章,我们对HashMap进行学习。 我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap。内容包括: 第1部分 HashMap介绍 第2部分 HashMap数据结构 第3部分 HashMap源码解析(基于JDK1.6.0_45) 第3.1部分 HashMap的“拉链法”相关内容 第3.2部分 HashMap的构造函数
2016-05-06 23:10:50 821
转载 java集合09--Map架构
概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图: (01) Map 是映射接口,Map中存储的内容是键值对(key-value)。 (02) AbstractMap 是继承于Map的抽象类,
2016-05-06 20:31:23 462
转载 java集合08--List总结
概要前面,我们学完了List的全部内容,详细内容请看前面的几篇博客,现在,我们再回头看看总结一下List。内容包括:第1部分 List概括第2部分 List使用场景第3部分 LinkedList和ArrayList性能差异分析第4部分 Vector和ArrayList比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/33
2016-05-06 16:54:34 605
转载 java集合07--Stack源码解读
概要学完Vector了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。内容包括:第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 Vector示例转载请注明出处:http://www.cnblogs.com
2016-05-06 16:25:23 615
转载 Java集合06--Vector源码详解
概要学完ArrayList和LinkedList之后,我们接着学习Vector。学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45)第4部分 Vector遍历方式第5部分 Vector示例转载请注明出处:h
2016-05-06 15:49:23 620
转载 java集合05--LinkedList源码走读
概要 前面,我们已经学习了ArrayList,并了解了fail-fast机制。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。内容包括:第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 L
2016-05-06 15:26:25 558
robot mongo操作手册
2018-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人