原文:面试题:double和long为什么不是线程安全的?

Java虚拟机规范定义的许多规则中的一条:所有对基本类型的操作,除了某些对long类型和double类型的操作之外,都是原子级的。 目前的JVM java虚拟机 都是将 位作为原子操作,并非 位。 当线程把主存中的 long double类型的值读到线程内存中时,可能是 两次 位值的写操作,显而易见,如果几个线程同时操作,那么就可能会出现高低 个 位值出错的情况发生。 要在线程间共享long与d ...

2020-09-15 20:10 0 618 推荐指数:

查看详情

Java面试题-线程安全

1. 什么叫线程安全?servlet是线程安全吗? 答:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说 ...

Tue Jun 02 01:57:00 CST 2015 0 2829
Java面试题:Servlet是线程安全的吗?

Servlet不是线程安全的。 要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的。 当Tomcat接收到Client的HTTP请求时,Tomcat从线程池中取出一个线程,之后找到该请求对应的Servlet对象并进行初始化,之后 ...

Thu Dec 17 05:33:00 CST 2015 4 43449
面试题:ConcurrentHashMap实现线程安全的原理

在ConcurrentHashMap没有出现以前,jdk使用hashtable来实现线程安全,但是hashtable是将整个hash表锁住,所以效率很低下。 ConcurrentHashMap将数据分别放到多个Segment中,默认16个,每一个Segment中又包含了多个HashEntry列表 ...

Mon May 07 04:23:00 CST 2018 0 964
Java面试题:Servlet是线程安全的吗?(转)

原文地址:https://www.cnblogs.com/chanshuyi/p/5052426.html Servlet不是线程安全的。 要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的。 当Tomcat接收 ...

Wed Jul 10 06:47:00 CST 2019 0 2605
Double Dispatch讲解与实例-面试题

引言 说实话,我看过GoF《Design Patterns》,也曾深深的被李建忠《设计模式》系列Webcast吸引。但是还没有见过“Double Dispatch模式”。的确GoF提及的设计模式只是最初对设计模式的系统介绍,它不可能涵盖所有的模式。另外随着时间的流逝,技术日新月异的变化,技术大牛 ...

Wed Jan 27 07:28:00 CST 2016 3 2324
Java多线程(二) —— 线程安全线程同步、线程间通信(含面试题集)

上一篇博文:Java多线程(一) —— 线程的状态详解中详细介绍了线程的五种状态及状态间的转换。本文着重介绍了线程安全的相关知识点,包括线程同步和锁机制、线程间通信以及相关面试题的总结 一、线程安全 多个线程在执行同一段代码的时候,每次的执行结果和单线程执行的结果都是一样的,不存在执行 ...

Tue Jul 04 06:50:00 CST 2017 0 4917
面试题:写出常见线程安全线程安全的类

线程安全:   StringBuffer 、HashTable(和HashMap功能都一样,唯一不一样的是:HashTable为线程安全和key/value不可以为null值)、Vector(JDK1.0时候出来)、stack(栈先进后出) 线程安全:   StringBuilder ...

Fri Dec 15 03:46:00 CST 2017 0 2219
线程面试题

1、什么是线程池java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个 ...

Thu Aug 26 23:43:00 CST 2021 0 126
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM