The charming Cherry Blossom in Seattle

Vernal sunshine, warm breezes, energetic squirrels and longer days mean spring is coming. But in the UW campus springtime can only mean one thing–che...

2018-03-19 17:43:34

阅读数 155

评论数 1

MySQL + druid + java7不能获取连接

部署环境 最近在迁移部署项目的时候遇到了不能获取数据库连接的问题。部署环境是: java 1.7 mysql 5.5.33 druid 1.1.0 问题描述 实际上项目在部署的时候连接能够正常被初始化,但是每过5min做查询的时候都会抛出一个不能获取连接的异常。 异常栈如下: ...

2018-03-17 15:09:10

阅读数 641

评论数 1

常用排序算法解析-冒泡排序 插入排序 快速排序

一 冒泡排序 冒泡排序是最简单的排序算法之一,也是面试中常考的算法。其实现的基本思路是: (1)使用一前一后两个指针,i, j (2)j一直往前走,i从每次从0开始扫描到j (3)i位置的元素与j位置的元素交换,确保0-j位置的数字都按序排列 时间复杂度:O(n2) 代码如下: ...

2018-03-05 12:43:06

阅读数 100

评论数 0

Java 虚拟机 - 下

本文按 七 方法区(method area) 八 堆(Heap) 九 程序计数器(The Program Counter) 十 Java 栈 七 方法区(method area) 当虚拟机需要加载一个Type的时候,它使用classloader来定位具体的类位置。Classloade...

2017-12-15 15:28:21

阅读数 136

评论数 0

Java 虚拟机 - 上

本文按 一. 什么是Java虚拟机 二. 虚拟机的生命周期 三. Java虚拟机结构 四. 数据类型( Data Types) 五. 字大小 六. Class Loader 系统 七. 方法区(method area) 八. 堆(Heap) 九. 程序计数器...

2017-12-13 14:57:08

阅读数 178

评论数 0

JSR 133 Java 内存模型(JMM)FAQ

本文按:红色字体-重要 绿色字体-不太懂 蓝色字体-非常重要一. 什么是内存模型 二. 其他语言C++是否有内存模型 三. JSR 133 是关于什么的 四. 重排序是什么意思 五. 旧的JMM有什么缺陷 六. 不正确的同步意味着什么 七. 同步都做了哪些操作 八. 在...

2017-12-12 04:15:31

阅读数 149

评论数 0

HashMap 与 ConcurrentHashMap

传送门:http://ifeve.com/concurrenthashmap/

2017-12-08 15:17:33

阅读数 109

评论数 0

Java 并发编程 Copy-On-Write

转自:http://ifeve.com/java-copy-on-write/Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略...

2017-12-08 14:56:39

阅读数 109

评论数 0

Java 并发编程-阻塞队列

转自:http://www.cnblogs.com/dolphin0520/p/3932906.html在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Dequeue接口)。  使用非阻塞队列的时候有一个很大问题就是...

2017-12-08 09:35:59

阅读数 89

评论数 0

Java 线程状态

本文按:一. Java 线程的几种状态及说明 二. 示例程序一. Java线程的状态Java线程的状态可以在Java.lang.Thread.State中获取到,其中标识的状态有以下六种:(1)NEW:创建新的线程,还没启动(2)RUNNABLE:调用start()后正在执行的线程(3)BLO...

2017-12-08 04:47:14

阅读数 123

评论数 0

java中四种线程池的区别

1.线程池的使用在Java中,通常使用Executors 获取线程池。常用的线程池有以下几种: (1)CachedThreadPool (2)FixedThreadPool (3)ScheduledThreadPool (4)SingleThreadExecutor明确概念:阻塞队列:阻塞...

2017-12-07 08:43:19

阅读数 2346

评论数 1

多线程 Callable Runnable 与Future

本文按: 1. Callable 与Runnable的使用 2. Callable 与Runnable的区别 3. Future的使用 4. FutureTask的使用1. Callable 与Runnable的使用Callable经常与ExecutorService配合使用,用于提交带有...

2017-12-07 06:49:28

阅读数 111

评论数 0

多线程 Thread 与 Runnable类

1. 如何在java中实现多线程java中实现多线程有两种方式 (1)继承Thread类 (2)实现Runnable接口其中java.lang.Thread 类也 实现了Runnable 接口,实现了Run方法。2.分析两种实现方式哪一种更优实现Runnable 优于继承Thread类,原因有...

2017-12-07 02:36:32

阅读数 95

评论数 0

堆排序 Heap Sort

Heap Sort

2017-12-02 09:37:20

阅读数 121

评论数 0

二叉堆(Binary Heap)

Binary Heap: 一个二叉堆(Binary Heap)是具有下面一些属性的二叉树: 1)是一个完全二叉树,即:除了叶子节点以外的其他节点全部有左右子树,并且最后一层的叶子节点按照从左到右填充。 2) 一个二叉堆可以是最大堆或者最小堆。 在最大堆中,根节点的值最大; 在最小堆中,根节点...

2017-12-02 08:00:13

阅读数 243

评论数 0

中序遍历+先/后序遍历创建二叉树

问题描述(1)任意给出一种二叉树的遍历结果,是否能重建这个树? (2)任意给出两种二叉树的遍历结果,是否能重建这个树?问题解析问题(1)显然是不可能的,因为无论任意给出哪一种遍历结果我们都无法确定左右子树。 下面分析一下问题(2): 我们知道二叉树通常有3中遍历方式:先序,中序和后序后序+中...

2017-03-27 07:09:39

阅读数 651

评论数 0

Leetcode-113 Path Sum II

问题描述地址:https://leetcode.com/problems/path-sum-ii/#/description 描述: Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum...

2017-03-23 13:46:28

阅读数 222

评论数 0

Leetcode-112 Path Sum

Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum. ...

2017-03-16 14:46:06

阅读数 164

评论数 0

Leetcode-98. Validate Binary Search Tree

Leetcode - 98. Validate Binary Search Tree 出一个二叉树,判断是不是二叉查找树。二叉查找树具有以下性质: (1)左子树的值均小于根节点 (2)右子树的值均大于根节点 (3)所有的左右子树均遵循(1)(2)中的描述

2017-03-14 06:40:50

阅读数 362

评论数 0

二叉查找树节点的删除

简介本文将介绍如何从二叉查找树中删除某个任意的节点。由于二叉树特有的结构,即: (1)所有左子树中的节点小于等于根节点 (2)所有右子树中的节点大于等于根节点 (3)对于任意节点满足(1)(2)所以二叉查找树节点删除关键在于如何保证不破坏二叉查找树的性质。问题分析二叉查找树删除节点可以分成三...

2017-03-13 15:09:20

阅读数 3332

评论数 3

提示
确定要删除当前文章?
取消 删除
关闭
关闭