240 发简信
IP属地:北京
  • 120
    【SSH】 ssh-keygen/ssh-copy-id

    为了让两个linux机器之间使用ssh不需要用户名和密码,采用了数字签名RSA或者DSA来完成这个操作。 一、模型分析 A (192.168.20.59)为客户机器 B (1...

  • 关于String.concat, StringBuilder, StringBuffer和+

    一. 性能方面 StringBuilder > StringBuffer > concat > +测试代码: 结果: 实现原理: 首先StringBuilder和String...

  • MySQL的锁

    一. MySQL的锁粒度 按锁的粒度分,MySQL的锁可以分为三类: 行级锁:加锁开销最大,且有可能出现死锁,但并发度也最高。分为共享锁和排他锁(InnoDB默认) 表级锁:...

  • 120
    mac修改hosts文件

    1.打开终端 输入: 然后输入密码,这时候打开了hosts文件,如图: 把输入法切换到英文在键盘上输: i看到:image.png表示现在是编辑模式,把光标移到末尾,回车另起...

  • mac安装MySQL

    1.打开终端2.安装brew:在终端输入: 然后敲回车,如果需要密码就输入密码参考:https://www.jianshu.com/p/6b94fd8626bf如果brew安...

  • HTTP首部

    首先整个HTTP的报文结构如下图所示,我们这里主要专注于报文首部。 一. 请求报文首部 1. 请求报文首部结构: (1)必须的:方法 | URI(发送方地址) | 协议版本例...

  • leetcode96M不同的二叉搜索树

    思路1: 假设输入为n,输出为f(n),则选择任意一个数字作为根节点,设左侧节点数为left,右侧节点数为right,那么可组成的二叉搜索树的数量就等于f(left)f(ri...

  • 120
    leetcode62/63M不同路径

    一. 62——不同路径 思路: 以4*4的矩阵为例(如下图),首先考虑行数为1的情况(最下面一行),每个格子除了往右走之外别无选择,因此从这个格子出发可能的路径都是1,然后在...

  • 120
    献给写作者的 Markdown 新手指南

    「简书」作为一款「写作软件」在诞生之初就支持了 Markdown,Markdown 是一种「电子邮件」风格的「标记语言」,我们强烈推荐所有写作者学习和掌握该语言。为什么?可以...

  • 120
    leetcode36M有效的数独

    思路一:分别用三个容器来保存已有的数据,三个容器的容量都是9,分别代表第0-8行,0-8列,以及第0-8个块,在添加的时候判断数字是否已经在容器中,如果在则返回false。 ...

  • JDK的命令行工具

    主要介绍jdk命令行工具,参考自《深入理解java虚拟机》4.2.1 jps虚拟机进程状况工具jps——JVM Process Status Tool:用来列出正在运行的虚拟...

  • 120
    初级排序算法之冒泡排序

    冒泡排序 思想:先找出最大的放到最后,再找出第二大的放到倒数第二个,直到全部完成排序,具体就是不断比较相邻的两个元素,如果顺序不对就交换,从开始到结尾。 复杂度:比较次数:N...

  • 120
    MySQL的存储引擎和数据结构

    一. 存储引擎的数据结构 1. B树(B-树) B树是2-3树的一种扩展,对于M阶(M就是树的高度,比如下图为一个四阶的树)的B树来说: (1)根节点至少有两个子节点 (2)...

  • volatile关键字简单分析

    1. 处理器的内存模型 因为程序运行时数据是放在主存(物理内存)的,但是主存的读取速度通常跟不上CPU处理的速度,因此为了不影响效率,每个CPU都会有自己的高速缓存,通常CP...

  • 线程池源码解读

    一. 线程池基础 1. 线程池的作用主要有三个: (1)可以用来复用线程,降低因为频繁的创建和销毁线程的消耗; (2)可以有效地控制线程的最大并发数; (3)可以对线程进行一...