自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jerry 没有 Tom

私人博客。

  • 博客(18)
  • 收藏
  • 关注

转载 为什么Map桶中个数超过8才转为红黑树

因为,大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作。本人第一反应也是一样,只能初略的猜测是因为时间和空间的权衡。要弄明白这个问题,我们首先要明白为什么要转换,这个问题比较简单,因为Map中桶的元素初始化是链表保存的,其查找性能是O(n),而树结构能将查找性能提升到O(log(n))。当链表长度很小的时候,即使遍历,速度也非常快,但是当链表长...

2019-08-06 10:36:16 160

原创 vscode 刷leetcode 修改默认答题编程语言

可以查看官方文档:https://github.com/jdneo/vscode-leetcode/blob/master/docs/README_zh-CN.md里面有这样的一句话:注意:你可以通过 LeetCode: Switch Default Language 命令变更答题时默认使用编程语言。步骤: 切换至leetcode 答题页面 -> ctrl+shift+p -&g...

2019-04-23 16:29:01 8602 5

原创 经典排序算法详解

说明转载请注明出处常见排序算法的时间和空间复杂度比较。排序法平均时间最差情形稳定度额外空间备注冒泡排序O(n2)O(n2)稳定O(1)n小时较好选择排序O(n2)O(n2)不稳定O(1)n小时较好插入排序O(n2)O(n2)稳定O(1)大部分已排序时较好希尔排序O(nlogn)O(ns) 1<s<2...

2019-04-19 14:49:37 231

转载 Redis面试题

Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。使用过Redis分布式锁么,它是什么回事...

2019-01-14 18:34:46 167

原创 String s=new String("abc")创建了几个String Object对象?

今天看到几个面试题问:String s=new String(“abc”)创建了几个String Object对象?对于这个问题有的说是一个,有的说是两个,在网上也查看了很多别人写的博客都不清楚,今天就让我来分析一下这个问题.对于String s=new String(“abc”),这句话我们来大致分析一下步骤:在虚拟机栈中为String类型的s分配内存在堆中为分配一块内存用来保存"...

2019-01-10 23:23:10 3193

原创 从面试题浅谈布隆过滤器(Bloom Filter)

面试题不安全网页的黑名单包含 100亿个黑名单网页, 每个网页的URL最多占64字节,现在想要实现一种网页过滤系统,可以根据网页的URL判断该网页是否在黑名单上, 请设计该系统。 要求该系统允许有万分之一一下的判断失误率,并且使用的额外控件不要超过30G。分析:一般思路基本就是 将黑名单存入  哈希表 或者 数据库。但是显然与题设是不符合的。假设最差的情况, 每个URL占64个字节。 ...

2019-01-04 20:21:01 1495

原创 算法部分之二叉树的深度优先、宽度优先遍历。

 一直对深度优先和广度优先搜索的概念不是很清楚, 代码上也不是很懂。 今天终于是有时间来仔细的了解一下了。 看了不少博客,很多都是直接随便甩个代码看着很纠结, 那我就自己写吧! 循环的效率比递归要高,所以我就用循环来写。 我们先给出一个树,以及需要用到的STL模板类//出给用到两个STL模板类#include &lt;stack&gt;#include &lt;queue&gt;...

2019-01-03 21:19:24 670

转载 计算机网络思维导图

看见好文章、好总结就忍不住收藏。非常感谢大佬的总结。膜拜。原文地址:https://blog.csdn.net/nullcanon/article/details/81026679 

2019-01-02 21:45:53 785

原创 计算机网络知识汇总----网络分层

 一、OSI七层模型1、来源: OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。2、OSI七层模型的划分:OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。 详细了解一下每一层的作用吧:以...

2019-01-02 21:41:43 524

原创 《剑指offer》面试题14:剪绳子问题 --- 看完就懂了

这一类的问题,有2种不同的方式来解决, 一个是动态规划, 还有一个是贪婪算法。具体的教程网上有很多, 这里主要是从数学的角度对贪婪算法做一个补充说明。话不多说,题目先甩为敬意!题目: 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n&amp;amp;amp;amp;amp;amp;amp;gt;1并且m&amp;amp;amp;amp;amp;amp;amp;gt;1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少?

2018-12-27 21:42:49 2186 4

原创 JAVA虚拟机学习之GC收集器(五)

Serial收集器单线程收集器,并且会暂停其他所有的工作线程(Stop The World)优点:简单而高效,对限定单个CPU的环境非常适合,Client模式下的默认新生代收集器ParNew收集器Serial收集器的多线程版本,其他行为和参数设置与Serial收集器完全一致。是server模式下首选新生代收集器,他能与老年代收集器CMS配合工作。默认开启的收集线程与CPU数量相同-XX:...

2018-12-22 20:19:26 155 1

原创 JAVA虚拟机学习之GC算法篇(四)

简单介绍几个垃圾收集算法:一、标记-清除算法 ---- 最基础的收集算法原理: 首先标记出所有的需要回收的对象, 标记完成后统一回收缺陷:效率的问题: 标记和清楚的过程,效率都不高。空间的问题: 回收后会产生大量的不连续的内存碎片。 可能导致的直接后果就是后面要分配大内存对象的时候,内存不够 , 又要在GC一次。二、复制算法:原理: 将内存容量划分为2块相同大小的部分,每次...

2018-12-21 12:34:04 190 1

原创 JAVA虚拟机学习之GC篇(三)

首先来说说内存溢出和内存泄露的关系内存溢出是指内存不够用了。内存泄露是导致内存溢出的主要原因之一, 内存泄露累加起来,量变产生质变 引发 内存溢出。内存泄露是指本该被GC回收的对象并未被回收。产生原因:长生命周期的对象引用了短生命周期的对象。没有把无用的对象置为null再来说说GC机制程序计数器,虚拟机栈,本地方法栈 都是随线程创建、销毁。 所以主要...

2018-12-20 14:12:57 140

转载 JAVA虚拟机学习之对象篇(二)

对象的创建当虚拟机遇到一条new指令时,开始进行对象的创建:将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用。若没有,说明这个类还没有被定义,会抛出ClassNotFoundException.若有,则继续下一步。检查这个符号引用代表的类是否已被加载、解析、和初始化过如果没有,那必须先执行类加载的过程。在类加载通过后,接下来虚拟机将为新生对象分配内存。...

2018-12-20 11:13:50 166

转载 机器学习初探- 初稿

一、机器学习概念机器学习是一种实现人工智能的方法。机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。器学习直接来源于早期的人工智能领域,传统的算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。从学习方法上来分,机...

2018-12-19 16:20:20 510

原创 JAVA虚拟机学习之内存区域篇(一)

特别声明:本文为日常学习总结,纯属自用用途,不做其他参考,如有错误,欢迎指正。JAVA虚拟机数据区域: 方法区,堆,虚拟机栈,本地方法栈, 程序计数器。方法区:– 别名:(非堆),hotsopt上称为:永久代 ,JAVA虚拟机规范将之描述为堆的一个逻辑部分。– 作用:存储已经被虚拟机加载的类的信息,常量,静态变量, 也就是编译后的代码数据。– 特点: 是一个被各个线程共享的内存区...

2018-12-19 15:50:40 159

原创 关于Magma

Magma是悉尼大学开发的一款常大的计算工具。主要提供了对有限域上运算的强力支持。可以比较轻松的计算出常用的算式。并且,提供了对与抽象代数中, 群、环、域等直接计算。并且对于构造线性码也有非常出色的支持。 支持计算出对于一个参数为C_{n,k,d}的循环码的leader , 计算码的重量分布,分圆陪集的长度等等。在国内直接搜索magma貌似没有网页链接跳转。所以我就给出一下网址啦。下面是具体...

2018-12-15 21:16:14 2486 21

原创 第一篇博客

好吧! 第一篇博客!

2018-12-15 20:56:59 163

空空如也

空空如也

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

TA关注的人

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