自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (2)
  • 收藏
  • 关注

原创 单链表每k个节点反转一次

**背景**前几日,看到一道面试题,每k个结点反转一次链表,要求输出反转后的链表。题目意思如下:原链表:1,2,3,4,5,6,7,8k = 3新链表:3,2,1,6,5,4,8,7**思路分析**如图所示链表k=3的时候,反转前三个节点,最后节点1的next指向节点4,每k个节点反转一次。**代码实现**/** * author : panther * 1...

2020-04-11 11:41:03 1472

原创 单链表反转

eee

2020-04-10 16:26:10 675

原创 谈谈RDD、DataFrame、Dataset的区别和各自的优势

https://www.cnblogs.com/starwater/p/6841807.html

2018-11-19 09:48:06 501

原创 java学习链接整理

java8新特性: https://blog.csdn.net/liu136313/article/details/51249598#comments

2018-08-20 14:45:15 255

原创 shell基本操作

1 切换sehll版本 : chsh -s /bin/zsh

2018-07-28 14:33:22 316

转载 simhash简介

先贴一张网上的图片:解释一下图片:这里feature可以指一篇文档分词后的某个词,即将文档中的某个词作为一个特征。weight是这个词的权重,这里可以是这个词在这个句子中出现的次数。这里的hash算法就是传统的hash算法,通过调用一个hash函数实现的。simhash是为了计算一篇文档之间的相似度存在的,通过simhash算法可以计算出文档的simhash值,通过各个文档计算出的...

2018-06-11 13:09:49 1162

转载 如何判断一棵二叉树是完全二叉树

严蔚敏那本教材上的说法:一个深度为k,节点个数为 2^k - 1 的二叉树为满二叉树。这个概念很好理解,就是一棵树,深度为k,并且没有空位。首先对满二叉树按照广度优先遍历(从左到右)的顺序进行编号。一颗深度为k二叉树,有n个节点,然后,也对这棵树进行编号,如果所有的编号都和满二叉树对应,那么这棵树是完全二叉树。任意的一个二叉树,都可以补成一个满二叉树。这样中间就会有很多空洞。在广度...

2018-03-12 14:55:26 1011

转载 neo4j初学

Neo4j 使用cypher语言进行操作Cypher语言是在学习Neo4j时用到数据库操作语言(DML),涵盖对图数据的增删改查neo4j数据库简单除暴理解的概念:Neo4j中不存在表的概念,只有两类:节点(Node)和关联(Relation),可以简单理解为图里面的点和边。 在数据查询中,节点一般用小括号(),关联用中括号[]。 当然也隐含路径的概念,是用节点和关联表示的,如:(...

2018-02-24 14:18:42 529

转载 neo4j安装

之前搞过Neo4j不过出了一些问题,着了很多资料结果可能是版本问题,于是决定重新安装一下Neo4j,趁着这个机会把之前想要总结的内容也总结一下。 为什么是Neo4j,这个问题并不是在问为什么是图数据库,图数据库与关系型数据库相比,在处理复杂关系上好处很多。图数据库也有很多开源的,包括Titan、Neo4j等等,之前也听人说过有些人用过Titan,也是开源的,不过在使用之前需要预定义结构,而且他们...

2018-02-24 11:20:29 588

转载 hive常用UDF and UDTF函数介绍-lateral view explode()

前言:Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。这里只大概说下Hive常用到的UDF函数,全面详细介绍推荐官网wiki:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF。 定义:UDF(User-Defined-Function),用户自定义函数对数据进行处理。UD...

2018-02-23 10:56:43 691

原创 scala中:: , +:, :+, :::, +++的区别

初学scala的人都会被Seq的各种操作符所confuse。下面简单列举一下各个Seq操作符的区别。4种操作符的区别和联系(1) :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表。用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素,也就是说新生成的列表长度为list的长度+1(btw, x::list等价于list

2018-01-09 14:35:00 9014 1

转载 深入理解Scala的隐式转换系统

摘要:通过隐式转换,程序员可以在编写Scala程序时故意漏掉一些信息,让编译器去尝试在编译期间自动推导出这些信息来,这种特性可以极大的减少代码量,忽略那些冗长,过于细节的代码。 使用方式:1.将方法或变量标记为implicit2.将方法的参数列表标记为implicit3.将类标记为implicit Scala支持两种形式的隐式转换:隐式值:用于给方法提供参数

2017-12-20 10:19:49 217

原创 20170906

人的一切痛苦,本质上都是对自己的无能的愤怒   “我从未把她当作孩子,她是一个有思想的人,她有她的秘密,她的想法,她的人生。她不属于我,我们之间是彼此独立的个体,我不把自己的意志强加于她,我们像朋友一样相处。”“我要教会她这样是对的,那样是不对的,我不喜欢摆爸爸的架势,在我看来,亲身示范,让她身临其境地体会更好,而不是说教。如果她不要做一些事情,她就要承担不做的结果,为自己负责

2017-09-06 10:07:23 330

原创 java class文件详解

Java Class文件结构信息:ClassFile {u4 magic; //模数u2 minor_version;

2017-08-23 14:52:29 574

原创 anaconda命令笔记

# 创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)conda create --name python34 python=3.4 # 安装好后,使用activate激活某个环境activate python34 # for Windowssource activate python34 # for

2017-08-08 15:43:27 427

转载 AtomicInteger 源码分析

JDK 里面提供的以 Atomic* 开头的类基本原理都是一致的, 都是借助了底层硬件级别的 Lock 来实现原子操作的。 本文以 AtomicInteger 为例进行讲述, 其他的类似。阅读本文前建议先阅读基础篇:Java 内存模型一. 处理器原子操作: 3种加锁方式关于 CPU 的锁有如下 3 种:1. 处理器自动保证基本内存操作的原子性首先处理器会自动保证基本的内存操作的原子性。 处理器保证

2017-06-06 15:01:23 394

转载 VIRT,RES,SHR,虚拟内存和物理内存

VIRT:1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等;2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。3、VIRT = SWAP + RESRES:1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap

2017-06-02 15:49:33 4933

转载 java中的各种数据类型在内存中的存储

1.Java是如何管理内存的Java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控

2017-03-26 23:35:12 505

原创 求最大字段和

问题描述:     给定任意n个整数(可能为负数),组成序列a1,a2,a3,a4,a5,...,an,  求该序列的的子段和的最大值.   输入:       -2,11,-4,13,-5,-2    输出:           20最大子段为:  11,-4,13    结果为:11-4+13=20

2017-03-22 23:30:17 1608

原创 Unsafe与CAS

Unsafe简单讲一下这个类。Java无法直接访问底层操作系统,而是通过本地(native)方法来访问。不过尽管如此,JVM还是开了一个后门,JDK中有一个类Unsafe,它提供了硬件级别的原子操作。这个类尽管里面的方法都是public的,但是并没有办法使用它们,JDK API文档也没有提供任何关于这个类的方法的解释。总而言之,对于Unsafe类的使用都是受限制的,只有授信的代码才能获得该

2017-03-21 11:52:59 378

原创 java中值传递和引用传递

java中值传递和引用传递  最近工作中使用到了值传递和引用传递,但是有点懵,现在看了下面的文章后清晰多了。一下是文章(网摘)       1:按值传递是什么指的是在方法调用时,传递的参数是按值的拷贝传递。示例如下:public class TempTest {  private void test1(int a){  //做点事情  }  public sta

2017-03-17 10:30:01 542

转载 数组在jvm中的存储

Java数组在内存中是如何存放的阅读目录一维数组二维数组数组对象及其引用存放在内存中的哪里?Java中有两种类型的数组:基本数据类型数组;对象数组;当一个对象使用关键字“new”创建时,会在堆上分配内存空间,然后返回对象的引用,这对数组来说也是一样的,因为数组也是一个对象;一维数组int[] arr = new int[3];在以上代

2017-03-17 10:14:14 8932

转载 二叉树

一、基本概念每个结点最多有两棵子树,左子树和右子树,次序不可以颠倒。性质:1、非空二叉树的第n层上至多有2^(n-1)个元素。2、深度为h的二叉树至多有2^h-1个结点。满二叉树:所有终端都在同一层次,且非终端结点的度数为2。在满二叉树中若其深度为h,则其所包含的结点数必为2^h-1。完全二叉树:除了最大的层次即成为一颗满二叉树且层次最大那层所有的结

2017-03-14 18:28:44 413

转载 svn代码冲突解决

http://www.cnblogs.com/zhangpengme/archive/2011/11/24/2261489.html

2017-02-16 15:28:39 586

原创 linux上定位磁盘IO问题

怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式:  第一种:用 top 命令 中的cpu 信息观察  Top可以看到的cpu信息有:  Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie  Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa

2016-12-14 15:26:17 1845

原创 awk比较两个文件的异同

1.同时在file1和file2中的行 awk '{if(ARGIND==1) {val[$0]}else{if($0 in val) print $0}}' file1 file22.只在file1中有的行.awk '{if(ARGIND==1) {val[$0]}else{if($0 in val)  delete val[$0]}}END{for(i in val) prin

2016-11-23 18:32:47 10271

转载 JNI字段描述符

“([Ljava/lang/String;)V” 它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。一个数组int[],就需要表示为这样"[I"。如果多个数组double[][][]就需要表示为这样 "[[[D"。也就是说每一个方括号开始,就表示一个数组维数。多个方框后面,就是数组 的类型。如果以一

2016-11-23 14:11:31 309

原创 深入理解jvm--自动内存管理机制

程序计数器1.在IDE上编译的Java代码运行时都会被转译成字节码。程序计数器的就是给编译好的字节码添加行号,这样这些字节码就以程序计数器的编号来作为调度时候的标识了。2.在程序运行时,诸如循环,跳转,异常处理这些功能都必须依赖于字节码来完。我的理解:字节码是二进制文件,所以识别起来很难,代表一个功能的字节码数量巨大。如果在编译的时候就将其在程序计数器上进行编号,则后期调用的时候就可以

2016-10-23 19:33:48 406

原创 SpringMVC学习系列-后记 解决GET请求时中文乱码的问题

web.xml中的编码设置: characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 forc

2016-10-18 22:42:23 405

原创 linux下各个符号代表的含义

d:表示是一个目录(directory),事实上在ext2fs中,目录是一个特殊的文件。-:表示这是一个普通的文件。l: 表示这是一个符号链接(symbol link)文件,实际上它指向另一个文件。b、c:分别表示区块(block)设备和字符(character)设备,是特殊类型的文件。s、p:这些文件关系到系统的数据结构和管道(pipe),通常很少见到。

2016-10-03 18:06:42 6467

转载 java中的坑

1.除0代码: Java代码  System.out.println(1.0d / 0);  System.out.println(0.0d / 0);  System.out.println(1 / 0);  System.out.println(0 / 0);    输出:InfinityNaN

2016-09-30 22:58:12 886

原创 java枚举详解

enum实现:               jdk5中增加了一种新类型[也可以说是一种语法糖]---枚举,

2016-09-30 22:07:22 420

转载 docker入门

基本概念Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。Docker是一个重新定义了程序开发测试、交付和部署过程的开放平台,Docker则可以称为构建一次,到处运行,这就是docker提出的“Build once,Run anywhere” 备注:java提出的是” compile On

2016-08-04 16:44:05 329

原创 mvn命令之本地打包

mvn install:install-file -DgroupId=com.bj58.zhuanzhuan -DartifactId=logic.contract -Dversion=2.9-SNAPSHOT -Dpackaging=jar -Dfile=E:\project\zzlogic.contract_RELEASE_BRANCH\target\logic.contract-2.

2016-08-03 21:04:36 1595

原创 idea快捷键

查询快捷键CTRL+N   查找类CTRL+SHIFT+N  查找文件CTRL+SHIFT+ALT+N 查找类中的方法或变量CIRL+B   找变量的来源CTRL+ALT+B  找所有的子类CTRL+SHIFT+B  找变量的类CTRL+G   定位行CTRL+F   在当前窗口查找文本CTRL+SHIFT+F  在指定窗口查找文本CTRL+R   在当前窗

2016-08-03 11:57:07 323

转载 jvm类加载器

1.类的加载过程  JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:1) 装载:查找并加载类的二进制数据;2)链接:验证:确保被加载类的正确性;准备:为类的静态变量分配内存,并将其初始化为默认值;解析:把类中的符号引用转换为直接引用;3)初始化:为类的静态变量赋予正确的初始

2016-07-25 10:34:25 338 1

转载 nanoTime()和currentTimeMillis()的区别

平时产生随机数时我们经常拿时间做种子,比如用System.currentTimeMillis的结果,但是在执行一些循环中使用了System.currentTimeMillis,那么每次的结果将会差别很小,甚至一样,因为现代的计算机运行速度很快。后来看到Java中产生随机数函数以及线程池中的一些函数使用的都是System.nanoTime,下面说一下这2个方法的具体区别。          

2016-07-23 17:08:09 2231

原创 idea修改文件头内容

2016-07-18 11:40:19 1411

原创 基本数据类型boolean的封装类型之Boolean源码分析

public final class Boolean implements java.io.Serializable, ComparableBoolean类是final的,说明是不能被继承的,这里首先回顾一下final关键字在 java中的用法:

2016-07-16 23:55:59 1525

转载 linux下的删除命令

rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。1.命令格式:rm [选项] 文件… 2.命令功能:删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除

2016-06-12 17:44:17 826

pcre-8.37安装包

为了重写rewrite,pcre安装包

2016-03-12

windows程序设计

windows程序设计第五版。C/C++高手的必修之路

2013-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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