我的笔记


  • 文章

  • 关于

  • 标签

  • 搜索

MySQL Cluster重启过程 (1) Restart Phases in MySQL Cluster

发表于 2019-03-11 |
字数统计: 3.3k | 阅读时长 ≈ 11

在MySQL Cluster中,重新启动是分阶段处理的,节点的重启由一组阶段驱动。此外,节点重启也与已启动的节点以及与我们的节点并行启动的其他节点同步。此注释将描述所使用的各个阶段。

阅读全文 »

数据库中的undo日志、redo日志、检查点

发表于 2019-03-11 |
字数统计: 1.5k | 阅读时长 ≈ 5

数据库存放数据的文件,本文称其为data file。数据库的内容在内存里是有缓存的,这里命名为db buffer。某次操作,我们取了数据库某表格中的数据,这个数据会在内存中缓存一些时间。对这个数据的修改在开始时候也只是修改在内存中的内容。当db buffer已满或者遇到其他的情况,这些数据会写入data file。

阅读全文 »

Java虚拟机性能监控及调优

发表于 2019-03-11 |
字数统计: 2k | 阅读时长 ≈ 7

常用虚拟机性能监控工具

JDK 命令行工具

image
其中的重中之重是 jstat 命令!而它最常用的参数就是 -gcutil,使用格式如下:

1
jstat -gcutil [pid] [intervel] [count]

阅读全文 »

计算机网络基础知识

发表于 2019-03-11 |
字数统计: 12.4k | 阅读时长 ≈ 44

一次完整的 HTTP 请求所经历的步骤

即在浏览器中输入 URL 地址 >> 显示主页的过程。总体来说分为以下几个过程:

  1. DNS 解析
  2. TCP 连接
  3. 发送 HTTP 请求
  4. 服务器处理请求并返回 HTTP 报文
  5. 浏览器解析渲染页面
  6. 连接结束
    阅读全文 »

Java虚拟机的执行机制

发表于 2019-03-10 |
字数统计: 9.1k | 阅读时长 ≈ 33

类文件结构

Class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在 Class 文件中,中间没有任何分隔符。Java 虚拟机规范规定 Class 文件采用一种类似 C 语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:无符号数和表,我们之后也主要对这两种类型的数据类型进行解析。

阅读全文 »

Java的 I/O机制

发表于 2019-03-10 |
字数统计: 8.3k | 阅读时长 ≈ 34

UNIX网络编程对I/O模型的分类

Linux 的内核将所有外部设备都看做一个文件来操作(一切皆文件),对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有响应的描述符,称为socket fd(socket文件描述符),描述符就是一个数字,指向内核中的一个结构体(文件路径,数据区等一些属性)。

根据UNIX网络编程对I/O模型的分类,UNIX提供了5种I/O模型。

进程是无法直接操作I/O设备的,其必须通过系统调用请求内核来协助完成I/O动作,而内核会为每个I/O设备维护一个buffer。

image

整个请求过程为: 用户进程发起请求,内核接受到请求后,从I/O设备中获取数据到buffer中,再将buffer中的数据copy到用户进程的地址空间,该用户进程获取到数据后再响应客户端。

阅读全文 »

Java容器

发表于 2019-03-10 |
字数统计: 16.9k | 阅读时长 ≈ 66
  • Collection

    • List
      • Arraylist: Object数组
      • Vector: Object数组
      • LinkedList: 双向链表(JDK1.6之前为循环链表,JDK1.7取消了循环)
    • Set
      • HashSet(无序,唯一): 基于 HashMap 实现的,底层采用 HashMap 来保存元素
      • LinkedHashSet: LinkedHashSet 继承与 HashSet,并且其内部是通过 LinkedHashMap 来实现的。有点类似于我们之前说的LinkedHashMap 其内部是基于 Hashmap 实现一样,不过还是有一点点区别的。
      • TreeSet(有序,唯一): 红黑树(自平衡的排序二叉树。)
  • Map

    • HashMap: JDK1.8之前HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少搜索时间
    • LinkedHashMap: LinkedHashMap 继承自 HashMap,所以它的底层仍然是基于拉链式散列结构即由数组和链表或红黑树组成。另外,LinkedHashMap 在上面结构的基础上,增加了一条双向链表,使得上面的结构可以保持键值对的插入顺序。同时通过对链表进行相应的操作,实现了访问顺序相关逻辑。
    • HashTable: 数组+链表组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的
    • TreeMap: 红黑树(自平衡的排序二叉树)
阅读全文 »

SpringBoot实现基于Token的web后台认证机制

发表于 2019-03-10 |
字数统计: 1.6k | 阅读时长 ≈ 6

几种常用的认证机制

HTTP Basic Auth、OAuth、Cookie Auth、Token Auth

阅读全文 »

教你如何迅速秒杀掉:99%的海量数据处理面试题

发表于 2019-03-10 |
字数统计: 9.1k | 阅读时长 ≈ 32

原文地址

  1. 分而治之/hash映射 + hash统计 + 堆/快速/归并排序;
  2. 双层桶划分
  3. Bloom filter/Bitmap;
  4. Trie树/数据库/倒排索引;
  5. 外排序;
  6. 分布式处理之Hadoop/Mapreduce。
    阅读全文 »

freemarker基础知识总结

发表于 2019-03-09 |
字数统计: 2.6k | 阅读时长 ≈ 11

Freemaker FTL指令常用标签及语法

注意**:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析。

freemaker注释:<#– 注释内容 –>格式部分,不会输出

基础语法

1、字符输出

1
2
3
4
5
${emp.name?if_exists}      // 变量存在,输出该变量,否则不输出
${emp.name!}           // 变量存在,输出该变量,否则不输出

${emp.name?default("xxx")} // 变量不存在,取默认值xxx
${emp.name!"xxx"}       // 变量不存在,取默认值xxx
阅读全文 »
1…345
le

le

50 日志
22 标签
GitHub
© 2019 le | Site words total count: 280.7k