ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

随手记

2022-06-08 11:32:31  阅读:187  来源: 互联网

标签:顺序 随手 try 索引 finally catch 执行


1、JUC

JUC是java.util.concurrent的简写,Java的线程处理类。


2、Synchronized

synchronize是Java只中的关键字,是一种同步锁。

  • 底层实现
    • 获取锁时,执行monitor enter,计数器+1,释放锁时,执行monitor exit,计数器-1。
    • 当计数器为0时,则当前锁空闲,可占用,反之则进入等待状态。
  • 特性
    • 原子性:一个或多个操作,要么全部执行,要么都不执行。
    • 可见性:多个线程的资源和信息对于其他线程都是可见的。
    • 有序性:执行的顺序按照源代码的顺序执行。
  • 作用对象
    • 修饰实例方法
    • 修饰静态方法
    • 修饰代码块
    • 修饰类

3、try catch finally return

  • try catch finally语法结构

    • 在Java异常处理语法中,try块是必须的,如果没有try,后面也不能有catch和finally。
    • 在有try块的情况下,catch块和finally块都是可选的,catch块和finally块至少出现一个。
    • catch块必须位于try块后面,finally块必须在catch块后面。
  • 执行顺序

    参考出处[JAVA中try、catch、finally带return的执行顺序总结 - PC君 - 博客园 (cnblogs.com)](https://www.cnblogs.com/pcheng/p/10968841.html#:~:text=JAVA中try、catch、finally带return的执行顺序总结. 异常处理中,try、catch、finally的执行顺序,大家都知道是按顺序执行的。.,即,如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。. 但是当try、catch、finally中加入return之后,就会有几种不同的情况出现,下面分别来说明一下。. 也可以跳到最后直接看总结。.)


4、HashMap、LinkedHashMap、ArrayList

(1)、HashMap

  • 时间复杂度

    如果桶里面没有元素,那么直接将元素插入/或者直接返回未查找到,时间复杂度就是O(1),如果里面有元素,那么就沿着链表进行遍历,时间复杂度就是O(n),链表越短时间复杂度越低,如果是红黑树的话那就是O(logn)。

  • 扩容

    • 条件:当链表长度大于8,数组长度大于等于64时,转化成红黑树。
    • 负载因子为0.75

(2)、LinkedHashMap

LinkedHashMap是有序的,该有序指的是插入的顺序或者是访问的顺序。

(3)、ArrayList

  • ArrayList是一个连续存储的动态数组,适合做下标访问。
  • 扩容机制:需要创建新的数组,把旧的数组拷贝到新的数组中。

5、索引

  • 索引是一个单独存在在磁盘上的数据结构,索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

  • InnoDB存储引擎的层实现是B+树。

  • 索引类别

    • Primary Key 聚集索引
    • Unique 唯一索引
    • FullText 全文索引
    • Spatial 空间索引
  • 为什么使用B+树

    • B+树的非叶子节点只用来保存索引,不存储数据,所有的数据都保存在叶子节点,而B树的非叶子节点也会保存数据,这样就使得B+树的查询效率更加稳定。
    • B+树的内部结点并没有指向关键字具体信息的指针,因此其内部结点相对B 树更小,同样空间可以读入更多的节点,所以B+树的磁盘读写代价更低。
  • 聚簇索引和非聚簇索引

    • 聚簇索引的叶子结点存放了所有的数据。
    • 非聚簇索引的叶子结点不存放数据,存放的是该列对应的主键,查找数据时,需要根据主键再去索引中找。
  • 索引的使用条件

    • 索引并不是越多越好,索引需要一定的物理空间。
    • 避免对经常修改或更新的表建立索引。
    • 数据量较少的表最好不适用索引。
    • 避免对经常进行排序和分组的列建立索引。
    • 必须满足最左前缀原则。

6、https://www.baidu.com的解析

参考出处(28条消息) 【网络原理】详解访问域名 www.baidu.com 中的DNS解析过程_Josvin的博客-CSDN博客


7、网络协议

  • TCP和UDP
    • TCP是连接安全可靠的传输协议,UDP是无连接不可靠不安全的。
    • TCP传输数据时需要三次握手,UDP不需要。
    • TCP有丢包重发机制,丢包可以重发,保证数据的正确性,UDP只负责发送数据。
    • TCP头部最小为20字节,最大60字节,UDP头部仅8字节。
  • 为什么需要四次握手
    • 响应断开连接请求时,ACK和FIN包并不是一起发送给客户端。客户端发送FIN包给服务端,服务度返回ACK确认收到,服务度再发送FIN包给客服端,客户端返回ACK确认收到服务端的FIN,断开连接。

标签:顺序,随手,try,索引,finally,catch,执行
来源: https://www.cnblogs.com/yeyu2000/p/16355023.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有