logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

java 效率极高的查询数据结构——SkipList 跳表

前一阵子和朋友聊天,他和我讲在面试中被问到跳表。当时我也很迷从来没听说过跳表,赶快学习了一下,学习了之后才发现这个数据结构不是很难,而且效率非常高,在平均情况下查找的时间复杂度约为O(log n)堪比平衡树。而且具体的数据结构的实现也非常有趣。SkipList 跳跃列表原理跳跃列表是一种由多条链表组合而成的允许快速查询有序元素的数据结构。跳跃列表中的每条链表表示一个层,每一层存在的元素都是前一层(

#java#数据结构#链表
java时间格式化----java.text.SimpleDateFormat

转载请注明本地址:http://blog.csdn.net/QuinnNorris/article/details/java.text.SimpleDateFormat在java中我们一般用来格式化的类在text包中的SimpleDateFormat,这个类在对事件的处理上可以算是专业选手,向上追根,SimpleDateFormat类继承于DateFormat,DateFormat继承于Forma

#java
java 动态规划策略原理及例题

动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。在面试笔试中动态规划也是经常作为考题出现,其中较为简单的DP题目我们应该有百分之百的把握顺利解决才可以。动态规划定义动态规划实际上是一类题目的总称,并不是指某个固定的算法。动态规划的意义就是通过采用递推(或者分而治之)的策略,通过解决大问题的子问题从而解决整体的

#java#动态规划#算法 +1
java 项目工具Maven详解

在工作项目中,出于方便的的角度考虑,我们往往会使用Maven这种项目管理工具,让我们的项目更加简单明了。Maven简介那么Maven是什么呢?Maven全称Apache Maven,它是一个软件(特别是Java)项目管理及自动构建工具。由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven也可被用于构建

#java#apache#maven
java时间格式化----java.text.SimpleDateFormat

转载请注明本地址:http://blog.csdn.net/QuinnNorris/article/details/java.text.SimpleDateFormat在java中我们一般用来格式化的类在text包中的SimpleDateFormat,这个类在对事件的处理上可以算是专业选手,向上追根,SimpleDateFormat类继承于DateFormat,DateFormat继承于Forma

#java
SQL——SQL语言全部关键字详解

数据库中我们做常用的就是SQL基本查询语言,甚至有些人认为数据库就是SQL,SQL就是数据库。虽然这种观点是错误的,但是也确实从一个方面体现了这种面向结果的查询语言的重要性。

#数据库#sql
Thread Dump & jstack

什么是Thread Dump?Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread dump略有不同,但是大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能的话还有源代码的行数。可以...

java 深度解析JVM内存分布机制

Java与C++之间有一堵由**内存动态分配**和**垃圾回收机制**技术围成的高墙,墙外面的人想进去,墙里面的人想出来。像往常一样的某天清晨,程序员来到公司打开电脑,从使用new创建一个对象开始,开始了这一天的工作。当他在电脑屏幕上用new创建一个对象的时候,他不知道,是JAVA虚拟机通过一系列的操作,让这个对象在内存适当的位置上真正的

#java#jvm
java JVM运行时栈帧结构

JVM中数据区域分为虚拟机栈、JAVA堆、方法区、运行时常量池、程序计数器(PC寄存器)这几类。在这五类中,虚拟机栈用来表示各个线程中方法执行情况的区域,而栈帧是虚拟机栈中的栈元素。栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构。每一个方法从调用开始到执行完成的过程都可以看作是一个栈帧于虚拟机栈中从入栈到出栈的过程。一个线程中有很多个栈帧,只有位于这个栈最上方的栈帧才是有效的,最上方栈顶的栈

#java#jvm#数据结构 +1
java 对象存活分析——引用计数法&可达性分析

java虚拟机总共分为五个区域,其中三个是线程私有:程序计数器,虚拟机栈,本地方法栈,两个是线程共享:堆,方法区。线程私有的区域等到线程结束时(栈帧出栈时)会自动被释放,空间比较容易清理。而线程共享的java堆和方法区中的空间较大而且没有线程的回收容易产生很多垃圾信息,GC垃圾回收真正关心的就是这部分。java堆和方法区主要存放各种类型的对象(方法区中也存储一些静态变量和全局常量等信息),那么我们

#java#虚拟机
到底了