- 博客(22)
- 问答 (1)
- 收藏
- 关注
原创 IDEA15 中创建新项目时没有maven选项解决办法
安装Maven:Settings - Plugins - Maven Integration勾选这两项即可
2018-06-30 10:54:45 8120 2
原创 Docker 概念、笔记
docker经典图片,大鲸鱼,上面的集装箱都有互相隔离的应用程序docker思想:1、集装箱 2、标准化(运输方式、存储方式、API接口) 3、隔离docker应用容器,开发人员将他们开发的应用放入这个可移植的容器中,类似apple的app storedocker解决了运行环境不一致的情况,让快速扩展、弹性伸...
2018-06-30 10:45:35 176
原创 剑指offer 30 最小的k个数
面试题30:最小的k个数,输入n个整数,找到其中最小的k个数 思路 1、输入的n个数排序,最前面的k个数就是最小的k个数,算法复杂度为O(nlogn) 2、询问面试官是否可以修改数组,如果可以,则有快排思想,最左边的全部比k 如果不可以修改数组,则创建一个大小为k的容器来存储最小的k个数字,每次输入一个数,如果容器小 ...
2018-06-28 11:20:37 145
原创 剑指offer 29 数组中出现次数超过一半的数字
package offer;/** * 面试题29:数组中出现次数超过一半的数字 * 思路:1、可以排序然后找到中位数(O(nlogn)) * 2、重复的数字出现的次数比其他所有数字出现的次数的和还要多,则在遍历数组的时候保存两个值,一个是数组中的 * 数字,一个是次数,如果下个数字和保存的数字相同,则次数+1,不同则-1,如果次数为0,则保存下个数字 * ...
2018-06-28 10:29:18 227 1
原创 sql中union用法
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。SELECT column_name(s) FROM table1UNIONSELECT column_name(s) FROM table2;
2018-06-25 16:56:44 2197
原创 剑指offer 28 字符串的排列
package offer;import java.util.*;/** * 面试题28:字符串的排列,给一个字符串打印出来所有排列 * 思路:1、首先求出所有可能出现在第一个位置的字符,把第一个字符和后面所有的字符交换 * 2、固定第一个字符,从第二个字符开始与后面交换,是个递归的过程 * 扩展:用treeSet解决了aaa字符串重复问题(剑指offer解法未解决) ...
2018-06-24 21:33:36 162
原创 剑指offer 17 合并两个排序链表
package offer;/** * 面试题17:合并两个排序链表 * Created by Dennis on 2018/6/24. */public class Problem17MergeList { public ListNode mergeList(ListNode head1, ListNode head2) { if (head1 == nul...
2018-06-24 17:30:57 134
原创 剑指offer 16 反转链表
package offer;/** * 面试题16:反转链表,输入一个链表的头结点,反转该链表并输出反转后链表的头结点 * 思路:需要定义3个指针,分别指向当前遍历到的结点,前一个结点和后一个结点以防止链表断裂 * Created by Dennis on 2018/6/24. */public class Problem16ReverseList { public Lis...
2018-06-24 16:53:52 138
原创 hash冲突解决方法
基本思路:当发生冲突时,通过哈希冲突函数产生一个新的哈希地址,如果仍然有冲突,则继续计算直到不冲突为止1、开放定址法 以发生冲突的哈希地址为自变量,通过线性探查法、平方探查法、伪随机序列法、双哈希函数法等处理得到一个新的空闲的哈希地址2、拉链法(hashmap处理冲突解决方法) 拉链法 的实现比较简单,将链表和数组相结合。也就是说创建一个链表数组,数组中每一格就是一个链表。若...
2018-06-24 11:06:34 254
原创 二叉排序树、平衡二叉树、红黑树概念
二叉排序树:1、如果它左子树非空,则左子树上所有元素的值均小于根元素的值2、如果它右子树非空,则右子树上所有元素的值均大于根元素的值3、左,右子树本身又各是一棵二叉排序树平衡二叉树:一棵二叉树中每个结点的左、右子树的高度至多相差1,则此二叉树为平衡二叉树(平衡因子:|左子树高度-右子树高度| <= 1 即平衡因子为1、0、-1 )...
2018-06-24 09:47:59 483
原创 剑指offer 13 删除链表结点
package offer;/** * 面试题13:删除链表结点 * 思路:三种情况需要考虑清楚 * 1、只有一个结点,既是头结点也是尾结点 * 2、删除尾结点 * 3、链表为空 * Created by Dennis on 2018/6/23. */public class Problem13DeleteNode { public void delete(ListN...
2018-06-23 20:17:15 160
原创 剑指offer 7 用两个栈实现队列
package offer;import java.util.Stack;/** * 面试题7:两个栈实现队列,并实现两个函数的功能 appendTail和deleteHead,完成在队列尾部插入结点和在头部删除结点功能 * * Created by Dennis on 2018/6/23. */public class Problem7Queue<T> { ...
2018-06-23 17:21:52 114
原创 剑指offer 5 从尾到头打印链表
package offer;import java.util.ArrayList;import java.util.Stack;/** * 面试题5:输入一个链表的头结点,从尾到头反过来打印出每个结点的值 * 思路:1、第一个遍历的最后一个输出,典型的后进先出,可以用栈,将结点放到栈中,然后遍历完后从栈顶输出值 * Created by Dennis on 2018/6/23....
2018-06-23 16:23:38 122
原创 运算符优先级 简单记忆版
单目乘除位关系,逻辑三目后赋值。 单目:单目运算符+(正数) –(负数) ++(自加) --(自减) 等 乘除:算数单目运算符* / % + - (加减乘除余)位:位移单目运算符<< >> (左移、右移)关系:关系单目运算符> < >= <= == != (大于、小于、等于、不等)逻辑:逻辑单目运算符&& || & | ^ (...
2018-06-22 19:32:06 1451 1
原创 Class.forName()报 classnotfoundexception 错误解决办法
package CreationalPattern.FactoryMethod;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.Documen...
2018-06-15 09:38:20 12664 5
原创 剑指offer 2 单例模式
饿汉式、懒汉式、IoDH式package CreationalPattern.Singleton;/** * 饿汉式单例模式 * 优点:在类加载时就已经实例化,无须考虑多线程的问题,调用速度和反应时间优于懒汉式。 * 缺点:资源利用率不及懒汉式,加载时间可能会比较长。 * * Created by Dennis on 2018/6/14. */public class Eager...
2018-06-14 11:54:27 200
原创 垃圾收集概念、垃圾收集算法
垃圾收集弄清3个问题1、哪些内存需要回收 2、何时回收 3、怎么回收(垃圾收集算法)垃圾收集概念:有效自动监测对象是否超过作用域而达到自动回收内存的目的。引用计数算法:给对象加一个引用计数器,用到的时候+1,引用失效的时候-1,当计数器为0时对象可能不再被使用优点:实现简单,效率高缺点:如两个对象互相引用,A.instance = B, B.instance = A 这两个对象都不...
2018-06-14 10:11:57 290
原创 java内存溢出处理方法
一、堆溢出 1、通过内存映像分析工具(如Eclipse Memory Analyzer)确认是内存泄漏还是内存溢出,也就是确认内存中对象是否有 存在的必要。 2、如果是内存泄漏,则进一步通过工具看对象到GC Roots的引用链,从而确定路径,掌握对象信息确定代码位置。 如果是内存溢出,也就是对象必须活着则检查堆参数(-Xmx,-Xms)看是否可以调大...
2018-06-13 17:25:31 316
原创 对象的内存布局,对象的创建步骤
对象的内存布局:1、对象头(Header):存储对象自身运行时数据,如:哈希码、GC分代年龄、锁状态标志等。2、实例数据(Instance Data):真正存储的有效信息,如代码中定义各种类型的字段内容。3、对齐填充(padding):不是必须的,起着占位符的作用(对象起始地址必须是8字节的整数倍)。普通对象的创建步骤:...
2018-06-13 17:09:37 257
原创 JVM内存(运行时数据区)和直接内存 概念
JVM内存分为5块,其中1--3为线程隔离,4、5为线程共享。线程隔离:1、程序计数器:分支,循环跳转、异常处理、线程恢复等作用(唯一一个没有规定outofmemoryError的内存区)。2、VM stack,虚拟机栈:主要用来存放局部变量表(八种基本数据类型,对象引用也就是对象地址)。3、本地方法栈:与VM stack相似,但不同的是VM stack为JVM执行java方法服务,本地方法栈为J...
2018-06-13 16:55:56 2697
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人