Java常用API总结_java常用的api-程序员宅基地

技术标签: JAVA  java  开发语言  

Java常用API总结

Java中常用API总结:

Java中常用的API有很多,下面列举一些常见的:

  1. Java基础类库:包括基本数据类型的包装类、String类、Object类等。

  2. 集合类:包括List、Set、Map等。常用的有ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。

  3. IO类:包括字节流和字符流的API,常用的有InputStream、OutputStream、Reader、Writer等。

  4. 网络编程类:包括Socket和ServerSocket等。

  5. 并发编程类:包括多线程编程的API,如Thread、Runnable、Executor、Semaphore等。

  6. JDBC类:用于数据库的连接和操作,包括DriverManager、Connection、Statement、ResultSet等。

  7. XML类:用于XML文件的解析和生成,包括DocumentBuilderFactory、DocumentBuilder、Document、Element、XMLStreamWriter等。

  8. JSON类:用于JSON数据的解析和生成,包括JSONObject、JSONArray等。

  9. 正则表达式类:用于处理字符串的正则表达式,包括Pattern、Matcher等。

  10. 时间日期类:包括Date、Calendar等。

  11. 数学类:包括Math类等。

  12. 加密类:包括MD5、SHA等常用的加密算法。

  13. 图像处理类:包括ImageIO、BufferedImage等。

  14. GUI类:包括AWT和Swing两个GUI编程框架。

  15. 安全类:包括java.security包等。

Java基础类库的API:

Java基础类库(API)是Java SE提供的一组类和接口,提供了Java语言的核心功能,包括基本数据类型的包装类、字符串操作、日期时间管理等。以下是Java基础类库常用的API:

  1. Object类:是Java SE 中每个类的基类,提供了一些常用的方法如equals()hashCode()toString()

  2. String类:字符串类,提供了大量的字符串操作方法,如indexOf()substring()trim()等。

  3. StringBuilder和StringBuffer类:字符串缓冲区类,提供了高效的字符串连接方式。

  4. Math类:提供了数学操作的方法,如取绝对值(Math.abs())、幂运算(Math.pow())等。

  5. Integer、Double、Boolean等包装类:提供了基本数据类型的封装,方便进行对象操作。

  6. Class类:反射API类,用于在运行时获取对象的信息。

  7. Enum类:枚举类型类。

  8. System类:提供了标准输入输出和错误输出,以及获取系统属性和环境等方法。

  9. Exception类:异常类的基类,用于处理异常情况。

  10. Date和Calendar类:用于日期和时间的操作。

  11. Arrays类:提供了数组操作的方法,如排序、二分查找等。

  12. Collections类:提供了集合操作的方法,如排序、查找、添加、删除等。

  13. Random类:用于生成随机数。

  14. StringTokenizer类:字符串分割类。

  15. System类:用于获取系统相关信息。

java集合类API:

Java 集合类 API 包含了一系列类和接口,用于处理对象的组合。Java 集合类可以用于存储、操作和检索对象。Java 集合有三种类型:

  1. List:一种有序的集合,可以存储重复的元素。常用的实现类有 ArrayList、LinkedList 和 Vector。

  2. Set:一种无序的集合,不可以存储重复的元素。常用的实现类有 HashSet、TreeSet 和 LinkedHashSet。

  3. Map:一种将键和值进行映射的集合,键和值都可以是任意类型的对象,不可以重复,但是同一个值可以有多个键。常用的实现类有 HashMap、TreeMap 和 LinkedHashMap。

Java 集合类 API 还提供了一些常用的方法:

  1. add():添加元素到集合中;

  2. remove():从集合中删除元素;

  3. clear():清空整个集合;

  4. contains():检查集合是否包含某个元素;

  5. size():返回集合中元素的个数;

  6. iterator():返回一个用于遍历集合中元素的迭代器;

  7. isEmpty():检查集合是否为空;

  8. toArray():将集合转换成数组;

  9. get():获取指定位置的元素;

  10. put():向 Map 中添加键值对;

  11. keySet():返回 Map 中所有键的 Set 集合;

  12. values():返回 Map 中所有值的 Collection 集合。

  13. List 接口提供了一些特有的方法,如 add(index, element) 用于在指定位置插入元素、get(index) 用于获取指定位置的元素等。

  14. Set 接口提供的方法与 Collection 接口基本相同,但是没有索引的概念,并且提供了一些与集合内容相关的方法,如 removeAll(Collection<?> c) 用于从集合中删除所有属于指定集合的元素、retainAll(Collection<?> c) 用于删除集合中不属于指定集合的元素等。

  15. Map 接口提供了一些特有的方法,如 putIfAbsent(key, value) 用于仅在指定键不存在时才将指定值与指定键相关联、getOrDefault(key, defaultValue) 用于获取在 Map 中为指定键存储的值,如果没有则返回指定默认值等。

除了标准 Java 集合类,Java 还提供了一些扩展集合类。比较常用的扩展集合类有以下几个:

  1. LinkedList:在 List 接口的基础上添加了一些额外的方法,如 addFirst()、addLast()、getFirst()、getLast() 等。可以用于实现栈、队列等数据结构。

  2. TreeMap:实现了 SortedMap 接口,使用红黑树存储键值对,可以实现对键进行排序的功能。

  3. PriorityQueue:使用堆数据结构实现的队列,可以快速的向队列中插入、删除和获取最小值。

Java 集合类 API 是 Java 编程中必须掌握的部分之一,正确的使用集合类可以显著提高程序的性能和可读性。

IO类和IO类的常用API:

IO类是Java常用的类之一,用于处理输入输出操作。常见的IO类有InputStream、OutputStream、Reader、Writer,它们分别用于读取字节流、写入字节流、读取字符流、写入字符流等操作。

常用的IO类API包括:

  1. FileInputStream/FileOutputStream:用于读写文件字节流。

  2. FileReader/FileWriter:用于读写文件字符流。

  3. BufferedReader/BufferedWriter:带缓冲区的字符流读写操作。

  4. DataInputStream/DataOutputStream:用于读写基本数据类型。

  5. ObjectInputStream/ObjectOutputStream:用于读写Java对象。

  6. ByteArrayInputStream/ByteArrayOutputStream:用于读写字节数组。

  7. PrintWriter:打印输出操作,可以将输出内容写入文件或控制台。

使用IO类需要注意的点包括:

  1. 防止数据丢失或损坏,需要在读写操作时使用缓冲区。

  2. 执行完IO操作后,需要手动关闭IO流,以释放资源并保障数据安全。

  3. 在编写异常处理时,需要注意IO操作可能会抛出的异常类型,如IOException等。

网络编程类:

网络编程是Java编程的重要方向之一,Java提供了丰富的网络编程类和API,如Socket、ServerSocket、DatagramSocket、InetAddress、URL、URLConnection等。

常用的网络编程类及其API包括:

  1. Socket/ServerSocket:用于建立TCP连接,实现网络通信。

  2. DatagramSocket:用于建立UDP连接,实现网络通信。

  3. InetAddress:用于获取和封装IP地址相关信息。

  4. URL/URLConnection:用于访问网络资源,获取数据。

  5. MulticastSocket:用于多点广播网络通信。

  6. HttpsURLConnection:用于建立HTTPS安全连接。

使用网络编程类需要注意的点包括:

  1. 网络编程是一种高耗资源的操作,在使用完成后需要及时释放资源,以保证系统的稳定性。

  2. 对于共用的系统资源,需要使用同步化技术,以避免多个线程同时访问产生的不同步问题。

  3. 在编写异常处理时,需要注意网络链接中可能出现的各种异常类型,如SocketException、UnknownHostException等。

并发编程类:

在Java中,有一系列用于并发编程的类和API,包括:

  1. 线程:Java中的线程通过Thread类实现,它用于在应用程序中创建和启动新的线程。

  2. 同步器:Java中常见的同步器是锁和信号量。它们用于解决多线程环境下的竞态条件问题。

  3. 线程池:线程池是一种可以重复使用的线程资源池,用于处理大量请求的场景。Java中的线程池可以通过ThreadPoolExecutor类实现。

  4. 并发容器:Java提供了一些并发安全的容器,包括ConcurrentHashMap、ConcurrentLinkedQueue、CopyOnWriteArrayList等,它们支持多线程环境下的原子操作和高并发读写。

  5. 原子类:Java中的原子类是线程安全的数字类型,例如AtomicInteger、AtomicLong等,可以保证多线程下的原子操作。

  6. Callable和Future:Callable接口是一种可以返回结果的线程,可以通过Future获取执行结果。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2301_77898017/article/details/135066324

智能推荐

yolov2训练_[人工智能]Mxyolov3 0.1版本发布,轻松训练K210模型-程序员宅基地

文章浏览阅读6.6k次,点赞13次,收藏73次。Mx-yolov3在过去的一段时间里,收到了许多反馈和BUG,但由于各种原因,很久没有去更新Mx-yolov3;经过几天的修改和改进,新的版本诞生了,我们将它定为1.0版本(你可以在软件界面右下角看到版本号,为了今后能更好的识别软件版本,新版本的软件您可以在“Import 创客”公众号中发送"Mx3"以此来获得下载链接);下面我们就来看看1.0版本做了哪些改进和修复。01改进和修复#增加..._yolov2.tflite 转kmodel

El表达式详解-程序员宅基地

文章浏览阅读105次。EL表达式 1、EL简介1)语法结构 ${expression}2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如: ${user.My-Name}应当改为${user["My-Name"] } ..._el解析

pytorch学习记录_[exception|indice_conv|subm]feat=torch.size([47693-程序员宅基地

文章浏览阅读401次。1、shape与size()print('*' * 100)print('查看数据形状')data1 = torch.randn((7,3,32,32))print("shape:",data1.shape)print("size:",data1.size())查看数据形状shape: torch.Size([7, 3, 32, 32])size: torch.Size([7, 3, 32, 32])2、squeeze与unsqueeze#压缩print('*' * 100)p_[exception|indice_conv|subm]feat=torch.size([47693, 16]),w=torch.size([7, 7,

一个python实现的kline-chart图表程序(一)_python使用kimi chart-程序员宅基地

文章浏览阅读230次。至于MA,MACD,VOL这些应该属于指标,可以从基础数据计算得来或是直接加载,当然可加载的还有其它一些指标,比如买卖点或是直线,射线,线段或是矩形什么的。最好能把这个框架高度模块化,然后想计算什么指标直接加进去,或是做个什么插件,嗯,插件这一块明显还不熟,先做到高度封装的Kline再说。起因是想研究量化交易,然后核查算法的落角点,比如哪些指标的组合可以入场做单,没有一个形象化的工具算法写起来总是感觉差强人意。初步想法是需要一个数据串,里面记录一组开高低收量,然后打开程序后可以将这个基础数据显示成K线。_python使用kimi chart

报错cv2.error: OpenCV(4.1.2) error: (-215:Assertion failed) !_img.empty() in function 'cv::imwrite'-程序员宅基地

文章浏览阅读1.3w次。Traceback (most recent call last):File "D:/FER/FacePP/decode_json.py", line 174, in <module>demonstrate(r'C:\Users\user-pc\Documents\Dataset\FER\JsonFiles\FacePP\BBQNR\S3\angry\13342.jso..._error: (-215:assertion failed) !_img.empty() in function 'cv::imwrite

【业务架构】业务驱动的推荐系统相关技术总结_推荐系统需要哪些技术-程序员宅基地

文章浏览阅读1.2w次,点赞71次,收藏92次。推荐系统是一种基于用户历史行为和属性信息为用户推荐个性化内容的技术。而业务驱动的推荐系统,是指根据业务需求,将推荐系统集成进业务流程中,通过推荐系统提高业务效率、提升用户体验等目的。以下是一些相关实现技术。_推荐系统需要哪些技术

随便推点

为什么未来的趋势是全栈运营-程序员宅基地

文章浏览阅读453次。感谢关注天善智能,走好数据之路↑↑↑欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答、求职一站式搞定!全栈的概念起源于全栈工程师,英文Full Stack Developer。指代掌握多种技能,并且能够用这些技能独立完成产品。当我们说就差一个程序员的时候,需要的其实是一位全栈工程师。可能你已经理解我说的全栈运营的概念,全栈运营即运营多...

Kafka源码调试(二):编写简单测试客户端程序,以及发送事务消息的日志留档_kafka日志输出发送的消息-程序员宅基地

文章浏览阅读358次。1. 写一个测试客户端,采用流式应用的典型 “consume-transform-produce” 模式2. 记录 Kafka broker 节点日志,客户端日志等用于后续文章参照对比_kafka日志输出发送的消息

Android12 MTK平台 禁用SCTP协议_android sntp 禁用-程序员宅基地

文章浏览阅读831次,点赞22次,收藏23次。【代码】Android12 MTK平台 禁用SCTP协议。_android sntp 禁用

2022 年 MathorCup 高校数学建模挑战赛——大数据竞赛赛道 赛道 B:北京移动用户体验影响因素研究_影响客户语音业务和上网业务满意度的主要因素-程序员宅基地

文章浏览阅读543次,点赞4次,收藏5次。详细介绍采用信息增益率、XGBoost、随机森林综合筛选特征。_影响客户语音业务和上网业务满意度的主要因素

哈夫曼码编/译码系统-程序员宅基地

文章浏览阅读991次,点赞22次,收藏24次。编写一个哈夫曼码的编/译码系统,实现对输入的文本信息自动统计并依此为依据建立一个哈夫曼码的编/译码系统。

Revisiting Salient Object Detection: Simultaneous Detection, Ranking, and Subitizing of Multiple Sal_salient object ranking-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。问题:作者认为,显著性目标检测领域迄今为止的工作解决的是一个相当病态的问题。即不同的人对于什么是显著性目标没有一个普遍的一致意见。这意味着一些目标会比另一些目标更加显著,并且不同的显著性目标中存在着一个相对排名。本文方法:本文方法解决了考虑了相对排名这个更普遍的问题,并且提出了适合于衡量该问题的数据与度量方法,本文解决方案是基于相对显著性和分段式细化的分层表示的深度网络。该网络也可以解..._salient object ranking