找到343篇关于Java编程的文章

Java中HashMap和ConcurrentHashMap的区别

Arushi
更新于2020年6月21日 12:18:12

5K+ 次浏览

以下是Java中HashMap和ConcurrentHashMap类的显著区别:HashMapConcurrentHashMap同步HashMap是非同步的。ConcurrentHashMap是同步的。线程安全HashMap不是线程安全的。ConcurrentHashMap是线程安全的。迭代器类型HashMap迭代器是快速失败的,如果在迭代期间发生并发修改,ArrayList会抛出ConcurrentModificationException异常。ConcurrentHashMap是安全失败的,在迭代期间永远不会抛出ConcurrentModificationException异常。空值HashMap允许键和值为null。ConcurrentHashMap不允许null键/值。它会抛出NullPointerException异常。性能HashMap更快。ConcurrentHashMap比HashMap慢。自Java版本1.21.5起示例import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; public class Tester {    public static void main(String[] args) {       List arrayList = new ArrayList(); ... 阅读更多

Java中ArrayList和CopyOnWriteArrayList的区别

Vikyath Ram
更新于2020年6月21日 12:23:44

3K+ 次浏览

以下是Java中ArrayList和CopyOnWriteArrayList类的显著区别:ArrayListCopyOnWriteArrayList同步ArrayList是非同步的。CopyOnWriteArrayList是同步的。线程安全ArrayList不是线程安全的。CopyOnWriteArrayList是线程安全的。迭代器类型ArrayList迭代器是快速失败的,如果在迭代期间发生并发修改,ArrayList会抛出ConcurrentModificationException异常。CopyOnWriteArrayList是安全失败的,在迭代期间永远不会抛出ConcurrentModificationException异常。其原因是CopyOnWriteArrayList每次修改时都会创建一个新的ArrayList。删除操作ArrayList迭代器支持在迭代期间删除元素。如果尝试在迭代期间删除元素,CopyOnWriteArrayList.remove()方法会抛出异常。性能ArrayList更快。CopyOnWriteArrayList比ArrayList慢。自Java版本1.21.5起示例import java.util.Iterator; import java.util.concurrent.CopyOnWriteArrayList; public class Tester { ... 阅读更多

Java中的Deque接口

Fendadis John
更新于2020年6月21日 12:26:34

377 次浏览

java.util.Deque接口是java.util.Queue接口的子类型,支持在两端插入和删除元素。接口声明public interface Deque extends QueueArrayDeque类java.util.ArrayDeque类提供可调整大小的数组并实现Deque接口。以下是关于Array Deques的重要几点:Array deques没有容量限制,因此它们会根据需要增长以支持使用。它们不是线程安全的;在没有外部同步的情况下。它们不支持多个线程的并发访问。Array deques中不允许使用空元素。它们比Stack和LinkedList更快。这个类及其迭代器实现了Collection和Iterator的所有可选方法…… 阅读更多

Java中的CopyOnWriteArrayList类

karthikeya Boyini
更新于2020年6月19日 14:41:11

4K+ 次浏览

类声明public class CopyOnWriteArrayList    extends Object implements List, RandomAccess, Cloneable, SerializableCopyOnWriteArrayList是ArrayList的线程安全变体,其中可以更改ArrayList的操作(添加、更新、设置方法)会创建底层数组的克隆。CopyOnWriteArrayList应该用于线程环境中,其中读取操作非常频繁,而更新操作很少。CopyOnWriteArrayList的迭代器永远不会抛出ConcurrentModificationException异常。由于迭代器已创建,对CopyOnWriteArrayList的任何类型的修改都不会在迭代期间反映出来。在迭代中不支持List修改方法,如remove、set和add。此方法将抛出UnsupportedOperationException异常。可以添加null到…… 阅读更多

Java中的CopyOnWriteArraySet类

Samual Sam
更新于2020年6月19日 14:45:11

549 次浏览

类声明public class CopyOnWriteArraySet    extends AbstractSet implements SerializableCopyOnWriteArraySet类在其所有操作中内部使用CopyOnWriteArrayList,因此具有CopyOnWriteArrayList的基本属性。CopyOnWriteArraySet是线程安全的。CopyOnWriteArraySet应该用于线程环境中,其中读取操作非常频繁,而更新操作很少。CopyOnWriteArraySet的迭代器永远不会抛出ConcurrentModificationException异常。由于迭代器已创建,对CopyOnWriteArraySet的任何类型的修改都不会在迭代期间反映出来。在迭代中不支持Set修改方法,如remove、set和add。此方法将抛出UnsupportedOperationException异常。CopyOnWriteArraySet方法以下是CopyOnWriteArraySet类中可用的一些重要方法。序号方法和…… 阅读更多

使用Java计算文本文件中的字符数

karthikeya Boyini
更新于2020年6月19日 13:10:12

5K+ 次浏览

我们可以使用Java的BufferedReader类读取文件中的字符。请参见下面的示例:示例考虑类路径中的以下文本文件。test.txt这是第1行 这是第2行 这是第3行 这是第4行 这是第5行 这是第6行 这是第7行 这是第8行 这是第9行 这是第10行Tester.javaimport java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; public class Tester {    private static final String FILE_PATH = "data.txt";    public static void main(String args[]) throws IOException {       ... 阅读更多

使用Java计算文本文件中的段落数

karthikeya Boyini
更新于2020年6月19日 13:13:30

547 次浏览

我们可以通过将文件读入字符串,然后根据“\r”模式进行分割来读取文件中的段落。请参见下面的示例:示例考虑类路径中的以下文本文件。test.txt这是第1行 这是第2行 这是第3行 这是第4行 这是第5行 这是第6行 这是第7行 这是第8行 这是第9行 这是第10行Tester.javaimport java.io.File; import java.io.FileInputStream; import java.io.IOException; public class Tester {    public static void main(String args[]) throws IOException {       FileUtil fileUtil = ... 阅读更多

Java中的耦合

karthikeya Boyini
更新于2020年6月19日 13:22:22

4K+ 次浏览

耦合是指一个对象使用另一个对象。它也可以被称为协作。一个对象依赖于另一个对象来完成某些任务,可以分为以下两种类型:紧耦合 - 当一个对象创建要使用的对象时,这就是紧耦合的情况。由于主对象自己创建对象,因此无法轻松地从外部世界更改此对象,将其标记为紧密耦合的对象。松耦合 - 当一个对象从外部获取要使用的对象时,这就是松耦合…… 阅读更多

Java中的数据库操作

karthikeya Boyini
更新于2020年6月19日 13:27:08

1K+ 次浏览

本文提供了一个创建简单 JDBC 应用程序的示例。这将向您展示如何打开数据库连接、执行 SQL 查询以及显示结果。创建 JDBC 应用程序构建 JDBC 应用程序包含以下六个步骤:导入包:需要包含数据库编程所需的 JDBC 类所在的包。大多数情况下,使用 import java.sql.* 就足够了。注册 JDBC 驱动程序:需要初始化驱动程序,以便您可以打开与数据库的通信通道。打开连接:需要使用 DriverManager.getConnection() 方法创建一个 Connection 对象,它代表……阅读更多

使用 SimpleDateFormat 进行日期格式化

karthikeya Boyini
更新于 2020年6月19日 12:43:03

浏览量:905

SimpleDateFormat 是一个具体的类,用于以区域敏感的方式格式化和解析日期。SimpleDateFormat 允许您首先选择任何用户定义的日期时间格式模式。示例在线演示import java.util.*; import java.text.*; public class DateDemo {    public static void main(String args[]) {       Date dNow = new Date( );       SimpleDateFormat ft =               new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");       System.out.println("Current Date: " + ft.format(dNow));    } }这将产生以下结果:输出当前日期:Sun 2004.07.18 at 04:14:09 PM PDT SimpleDateFormat……阅读更多

广告