Java——名词解释1

1、什么是回滚?

   答:比如:同时有事务A同时执行多个操作添加数据和更新数据,当添加成功之后,更新发生了错误,那么就会把之前执行的添加的数据给删除掉,就叫回滚。

2、什么是脏数据?

    答:脏数据就是在临时更新(读脏)数据中产生的。比如:事务A更新了某个数据项X,但是由于某中原因,事务A出现了问题,于是要把A回滚。但是在回滚之前,另一个事务B读取了数据项X的值(A更新后),A回滚了事务,数据项恢复了原值。事务B读取的就是数据项X的就是一个“临时”的值,就是脏数据。

3、什么是不可重复度?

    答:事务A首先读取了一条数据,然后执行逻辑的时候,事务B将这条数据改变了,然后事务A再次读取的时候,发现数据比匹配了,就是所谓的不可重复读。一般在update用到

4、什么幻读?

   答:事务A首先根据条件索引得到N条数据,然后事务B改变了这N条数据之外的M条或者增添M条符合事务A搜索条件的数据,导致事务A再次搜索发现有N+M条数据了,就产生了幻读。一般在select中用到

5、什么是工作流?

 答:比如用请假流程来举例:员工使用账户登录系统——点击请假------项目经理登录系统点击同意——部门经理登录系统点击同意。这样一个请假流程就结束了。关于项目经理怎么把员工请假的信息给部门经理,这个就是需要后台自动运行。

6、什么叫对象持久化?

  答:持久化的对象,是已经存储到数据库或保存到本地硬盘中的对象。为了保存在内存中的各种对象的状态,并且可以把保存的对象状态在读出来,虽然你可以用你自己的何种各样的方法来保存Object states,但是Java给你提供一种更好的保存对象状态的机制,那就是序列化。简单来说,就是对象序列化是将对象状态转换为可保持或传输的格式的过程。

     什么情况下需要序列化:

     a)当你想把内存中的对象状态保存到一个文件中或者数据库中的时候;

     b)当你想用套接字在网络上传送对象的时候;

     c)当你想通过RMI传输对象的时候。

对象实现序列化,只需要实现Serialization接口。

7、什么套接字?

      答:比如:两个人使用电话通信,你是主叫方,对方是被叫方。电话就是Socket。

              那么你就需要一个Socket,对方就需要一个ServerSocket。在双方连接成功时,都会产生一个socket实例,操作这个实例,完成所需的会话。

              对于一个网络连接来说,套接字是平等的,没有差别,不会因为在服务器端和客户端产生不停级别。所以不管socket还是serverSocket他们的工作都是通过SocketImpl类及其子类完成的。

                          

8、怎么理解加权因子(扩容因子)?

    答:首先要了解List、Map、Set的加载因子,默认初始值。初始大小,就是创建时可容纳的默认元素个数;加载因子,表示某个阀值/,用0-1之间的小数来表示,当已有元素占比达到这个阀值后,底层将进行扩容操作;扩容方式,即指定每次扩容后的大小规则,比如翻倍等。

        当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存,要将容器原来的数据全部复制到新的内存上,使效率大大降低了;

当加载因子的系数小于等于1时,及当元素个超过容量长度乘加载因子的系数时,进行扩容。

注:另外,扩容也有默认倍数的,不同的容器扩容情况不同。

9、什么是雪崩?

     答: 为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。

           服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。
 

以后补充。。。。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值