- 博客(11)
- 资源 (4)
- 收藏
- 关注
原创 哈希表(初级阶段)
概述 最近刚好有空来学习哈希表的相关知识,预计分成三个阶段去了解哈希表及其实现,目前这篇是初级阶段。 初级阶段:了解java当中hashCode的生成,及8种基本数据包装类型的hashCode码的各自生成,及源码解析。 中级阶段:了解哈希表的数据结构及实现,LinkedHashMap的原理。 高级阶段:了解哈希表的优化,Hash碰撞攻击,分段锁机制。测试代码package com.al
2018-01-23 23:02:21 285
转载 谈谈面试--哈希表系列
前言: 我以前在百度的mentor, 在面试时特喜欢考察哈希表. 那时的我满是疑惑和不解, 觉得这东西很基础, 不就的分桶理念(以空间换时间)和散列函数选择吗? 最多再考察点冲突解决方案. 为何不考察类似跳跃表, LSM树等高级数据结构呢? 随着工程实践的积累, 慢慢发现了自己当初的肤浅. 面试的切入点, 最好是大家所熟悉的, 但又能从中深度挖掘/剖析和具有区分度的. 本文结合
2018-01-23 21:44:45 390
转载 Java中Native关键字的作用
阅读目录一、认识 native 即 JNI,Java Native Interface二、用 Java 调用 C 的“Hello,JNI”三、JNI 调用 C 流程图四、其他介绍初次遇见 native是在 java.lang.Object 源码中的一个hashCode方法:1public native int ha
2018-01-23 21:40:52 2219
转载 java 单向和双向链表的详解
Java 链表的使用浅谈自己学习链表之后的理解:链表是一种重要的数据结构,有单链表和双链表之分单链表(单向链表):由两部分组成 数据域(Data)和结点域(Node),单链表就像是一条打了很多结的绳子,每一个绳结相当于一个结点,每个节结点间都有绳子连接,这样原理的实现是通过Node结点区的头指针head实现的,每个结点都有一个指针,每个节点指针的指向都是指向自身结点的下一个
2018-01-22 23:00:52 2410
转载 判断单向链表中是否有环和查找环的入口
快慢指针算法描述定义两个指针slow, fast。slow指针一次走1个结点,fast指针一次走2个结点。如果链表中有环,那么慢指针一定会再某一个时刻追上快指针(slow == fast)。如果没有环,则快指针会第一个走到NULL。实现结点定义如下:class Node { public Node next; public Object data
2018-01-22 22:58:41 222
转载 String,StringBuffer与StringBuilder的区别?
三者区别 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全)根本差异简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将
2018-01-22 18:41:43 114
转载 40个Java多线程问题总结
前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就
2018-01-22 18:27:30 151
转载 我的MYSQL学习心得(九) 索引
我的MYSQL学习心得(九) 索引这一篇《我的MYSQL学习心得(九)》将会讲解MYSQL的索引 索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。MYS
2018-01-18 10:26:41 270
原创 如何读取项目工程下的properties文件
读取classess目录下的文件代码实现/** * 根据资源名称获取Properties对象 * @param propertiesName * @return */ protected static Properties getProperties(String propertiesName) { String pa
2018-01-13 16:04:15 1141
转载 UNIX时间戳的应用-JAVA
概念: System.currentTimeMillis() :返回当前系统的毫秒数,由于取得的是毫秒数,所以在处理UNIX时间戳的时候需要转换成秒 也就是: long epoch = System.currentTimeMillis()/1000;方法: 1、获取当前系统的UNIX时间戳 System.out.pr
2018-01-04 14:57:12 458
转载 Git 常用命令大全
Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。Git常用操作命令:1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add
2018-01-04 14:06:52 222
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人