zoukankan      html  css  js  c++  java
  • 随记

    1

    hashcode equals

    比较两个值是否相同,String a=”aa”,String b=”aa”;

    首先比较两个值的hashcode,hashcode是一种算法,将每个变量算出一个哈希码值存入哈希表,哈希表有很多位置,相同的哈希码值存到相同的位置。如果hashcode相等,再次比较equals,最后判断是否相等,如果hashcode不相等,不用再比较了,减少大量数据的比较次数。

    —————得出结论 两个变量hashcode相等不一定值相等,值相等hashcode一定相等

    2

    进程是资源分配单位,线程是CPU调度单位
    进程拥有一个完整的资源平台,而线程只独享指令流执行的必要资源,如寄存器和栈
    线程具有就绪,等待和运行三种基本状态和状态间转换关系

    3

    并行:多个cpu同时处理多个事件,真正做到同时运行

    并发:通过cpu调度算法 使多个事件在同一个时间段一起运行,看起来是同时运行

    4

    同步与互斥

    【同步是一种更高级的互斥】

    互斥 只是单个进程将临界资源锁住占用,用完解锁,不在乎其他进程,进程之间使用是无序的。

    同步 是在互斥的基础上,将几个进程有序的合作的进行互斥

    5

    服务器状态码

    200请求正常处理

    404NOTFOUND 找不到资源对象

    500 服务器内部错误

    504 请求超时

    503 服务器不可用

    6

    乐观锁与悲观锁

    悲观锁:认为每次这块共享资源被使用都会被修改,不得已每个线程使用都会让其他线程阻塞,不易发生冲突  多用于写操作

    乐观锁:认为数据一般不会造成冲突,在数据提交更新时候检测一下数据冲突,发现冲突交给用户处理。提高吞吐量高 多用于读操作

    7

    API:应用程序编程接口

    将一些函数,代码,操作等封装后留下接口供别人使用,这个接口就是API

    8

    JVM:java虚拟机

    本质上是一种程序,使java代码不需要根据不同平台编译成不同目标代码。只需要编译在JVM上运行的目标代码,实现了跨平台

    9

    同步与异步

    同步如果得不到满足就进入阻塞,无法继续运行,挂起(白白占着资源不往下走)除非得到满足。

    异步如果得不到满足可以一边等待一边干别的事,非阻塞

    10

    数据库连接池

    当系统初始化的时候,就会建立一个数据库连接池,在连接池中预先建立好数据库连接对象,将连接对象存储在内存中。当用户访问数据库时,直接从连接池中调取连接对象使用,使用完了放回去下一个用户可以接着用。可以通过设置数据库连接池来设置初始化连接数,最大 最小连接数,最大空闲时间

    11

    序列化与反序列化

    pojo类继承Serializable接口,该类可以接收序列化,反序列化。

    User user=new User();

    ObjectOutputStream  out=new ObjectOutputStream(new FileOutputStream(“filename”));

    out.writeObject(user);

    12

    大数据

    顾名思义,很庞大,很大量的数据,对这些数据进行有价值的提取。对庞大的数据进行捕捉和处理

    13

    人工智能

    如何使计算机去做只有人才能做到的智慧工作

    14

    区块链

    去中心化思想,每一个用户都是一个中心,用户与用户之间组成一个链网,把每个用户的每一步操作都通知到所有用户,不可删除,不可更改.主要用在金融方面

    15

    物联网

    物联网就是在互联网的基础上,进行的拓展,实现物与物 万物相连。物品通过红外感应器,全球定位等设备,将物品与物品通过互联网相连接,进行信息交换和通信。

    16

    JDK动态代理和Cglib动态代理的区别

    JDK动态代理只能代理实现了接口的类,Cglib动态代理是对原来的类创造一个子类继承所有的方法,再加入advice;

    17

    http和https区别

    http以明文方式在浏览器与服务器间发送,没有数据加密

    https在http基础上加了SSL协议为数据加密

    18

    赖注入和控制反转是同一概念:

            依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同。依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。

    19

    幂等性控制:

    幂等性 一般指的是一个方法或者一个API无论一次调用还是多次调用都产生的是相同的结果.(比如用户交易时由于网络延迟等原因连续多次点击下单按钮,只能下单成功一单)

    保证幂等的策略: 1通过唯一订单号或唯一标识来确定是否执行操作   2. 通过CAS保证原子性的判断唯一标识 再执行操作

  • 相关阅读:
    正向代理和反向代理
    负载测试和压力测试
    cs 与 bs 架构
    什么是amcl
    一个故事告诉你比特币的原理及运作机制
    Tor Browser(洋葱浏览器)——一款使你匿名上网的浏览器
    CAS3.5.x(x>1)支持OAuth2 server
    帮你深入理解OAuth2.0协议
    使用Spring MVC统一异常处理实战
    tcpdump非常实用的抓包实例
  • 原文地址:https://www.cnblogs.com/ttaall/p/12013144.html
Copyright © 2011-2022 走看看