算法是计算机科学领域最重要的核心,并在众多企业招聘面试的过程中,都会涉及对算法的考核。所以,今天播妞就与大家分享来自 breakingsword 童鞋总结的 8 大经典排序算法与代码实现,希望能够帮助大家更好的掌握算法。
1. 直接插入...
中国到底有多少个杨永信?
原文地址:https://zhuanlan.zhihu.com/p/30451927
前段时间,我收到了一个孩子的私信。他向我揭露了一个隐埋在国泰民安、天下太平的社会下,连汗液都是污秽的黑色产业。而这个产业的缔造者、推动者、消费者,正...
从输入URL到页面显示发生了什么
前几天阿里电话面试的时候,问了这个问题,以前在书上看到过,加上自己的一些经验。但是说得不够详细,表现不是很好。于是在网上找了篇文章,回顾了一下。
原文地址:https://www.cnblogs.com/xianyulaodi/p/6...
轻松掌握java读写锁(ReentrantReadWriteLock)的实现原理
原文地址:http://blog.csdn.net/yanyan19880509/article/details/52435135
前言
前面介绍了java中排它锁,共享锁的底层实现机制,本篇再进一步,学习非常有用的读写锁。鉴于读写锁比...
HashMap的容量与扩容
紧接着上一篇文章 HashMap 实现原理和源码分析,因为上篇文章在扩容方面写得并不详细,博主于是在网上找了一篇比较好的关于 HashMap 的扩容的文章
原文地址:http://blog.csdn.net/gaopu12345/a...
HashMap jdk1.7 实现原理和源码分析
HashMap 源码分析是面试中常考的一项,下面一篇文章讲得很好,特地转载过来。 本文转自:https://www.cnblogs.com/chengxiao/p/6059914.html ...
为什么要使用索引?
原文地址:https://blog.csdn.net/bruce_6/article/details/84938307
用过 MySQL 的应该都知道索引是干啥的吧,应该多少都设置过索引,但是若是问你索引是怎么实现...
为什么 stop() 和 suspend() 方法被废除
JDK1.0定义了stop和suspend方法:
从JDK1.2开始,这两个方法都被弃用了.stop天生就不安全,而经验告诉我们呢suspend方法会经常导致死锁。
stop这个方法将终止所有未结束的方法,包括run方法。当一个...
Vim 命令合集
命令历史
以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。
启动vim
在命令行窗口中输入以下命令即可
vim 直接启动vim
vim filename 打开vim并...
谈谈ConcurrentHashMap1.7和1.8的不同实现
ConcurrentHashMap
在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为了对ConcurrentHashMap...
Java 中 Lock 接口详解
摘要:
我们已经知道,synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供...
深入剖析java并发之阻塞队列 LinkedBlockingQueue 和实现“生产者/消费者”模式
上一篇文章介绍了使用 wait/notify 实现 生产者消费者,先看下面这个例子
public class ProductTest3 {
public static void main(String...
【Java集合源码剖析】Java集合框架
Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭...
HashMap多线程并发问题分析
一、并发问题的症状
1.多线程put后可能导致get死循环
CPU利用率过高一般是因为出现了出现了死循环,导致部分线程一直运行,占用cpu时间。问题原因就是HashMap是非线程安全的,多个线程put的时候造成了某个key值Entry ...
Linux赋予一个普通用户root权限
1、添加用户
首先用adduser命令添加一个普通用户,命令如下:
#adduser goodboy//添加一个名为goodboy的用户
#passwd goodboy//修改密码
...