原文:面試題: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