
java
文章平均质量分 72
@泡泡糖
普通大学生一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习分享-Callable 和 Runnable 任务
顺带回顾学习一下Callable 或 Runnable 任务Runnable:适用于不需要返回结果或不抛出检查型异常的简单任务。Callable:适用于需要返回结果或可能抛出检查型异常的复杂任务。FutureTask:可以封装Callable或Runnable任务,提供任务的异步执行、结果获取和任务取消功能。通过理解Callable和Runnable的区别,以及FutureTask如何封装这些任务,可以更好地进行并发编程和任务管理。原创 2024-06-13 21:12:29 · 592 阅读 · 2 评论 -
学习分享-FutureTask和消息队列的区别
上篇回顾了一下FutureTask 的相关原理,现在分享一下它和消息队列的区别。FutureTask定义FutureTask是一个实现了接口的类,用于封装异步任务,并且能够获取任务的执行结果。用途:用于管理单个任务的异步执行,可以在任务完成后获取结果或取消任务,适合处理需要返回结果的任务。消息队列定义:消息队列是一种用于在分布式系统中传递消息的数据结构,通常用于解耦生产者和消费者。用途:用于在不同系统或不同模块之间传递消息,适合处理异步通信、大规模并发请求、任务队列、事件驱动架构等场景。原创 2024-06-13 21:11:12 · 572 阅读 · 0 评论 -
学习分享-tryLock和 lock的区别
阻塞行为lock方法是阻塞的,如果锁不可用,调用线程会一直等待直到获得锁。tryLock方法是非阻塞的,如果锁不可用,它会立即返回一个布尔值,指示锁是否获取成功。灵活性lock方法适合在必须获取锁的情况下使用,不考虑获取锁的时间长短。tryLock方法提供了更大的灵活性,可以立即返回结果,也可以指定超时时间,适合在需要非阻塞获取锁的情况下使用。使用场景lock适用于需要确保访问共享资源,并且能够容忍阻塞的情况。tryLock。原创 2024-06-11 18:33:18 · 927 阅读 · 0 评论 -
Optional-远离Null指针异常
是一个容器对象,用来包含非null值。Optional对象要么包含一个类型为T的对象,要么不包含任何对象;换句话说,Optional对象要么是非空的,要么是空的。引入Optional的主要目的是为了代码层面上的改进,避免直接返回null或直接处理可能为null的对象。原创 2024-05-17 16:29:21 · 741 阅读 · 0 评论 -
Java—拆箱和封箱
在Java中,拆箱(Unboxing)和封箱(Boxing)是自动化的过程,用于在基本数据类型和它们对应的引用类型(包装类)之间进行转换。这两个概念在处理基本数据类型与对象之间的转换时尤其重要,因为集合框架(如ArrayListHashMap等)仅能存储对象类型,不能直接存储基本数据类型(如intdouble等)。原创 2024-03-23 14:01:13 · 616 阅读 · 0 评论 -
深入理解IO和NIO的原理和区别
在计算机编程领域,IO(Input/Output)和NIO(Non-blocking Input/Output)代表了两种截然不同的输入输出模型,它们在数据输入和输出方面采用不同的理念和机制。本文将深入剖析IO和NIO的原理,以及它们之间的主要区别。原创 2023-11-11 12:43:21 · 397 阅读 · 0 评论 -
Java 8 Stream API-流式处理
Java 8 引入的 Stream API 是一项重要的功能改进,为开发者提供了一种新的处理集合数据的方式。通过引入函数式编程风格,Stream API 简化了对集合数据的处理,使得代码更为简洁、灵活,同时也提高了性能。本篇博客将总结和介绍 Java 8 Stream API 的主要特性以及它为开发者带来的便利。原创 2023-11-08 00:51:36 · 254 阅读 · 0 评论 -
Java集合框架:Collection 与 Map 接口深度解析
Java的集合框架提供了丰富的工具和数据结构,其中 Collection 和 Map 接口是这个框架的核心。这两个接口分别用于处理一组对象和键值对的映射关系,是Java编程中不可或缺的部分。让我们深入挖掘这两个接口的特性以及它们的实际应用场景。原创 2023-11-07 13:47:37 · 423 阅读 · 0 评论 -
浅析Lambda表达式
Lambda表达式通常与自定义函数接口一起使用,这些接口只有一个抽象方法。这种方式允许你创建灵活的、可定制的行为,而不需要大量的匿名内部类。// 结果为7Lambda表达式是Java编程中的重要特性,它改善了代码的可读性和简洁性,使Java更适合处理现代应用程序开发。通过充分利用Lambda表达式,可以更轻松地进行集合操作、多线程编程、事件处理和创建自定义函数接口。原创 2023-09-12 21:39:17 · 171 阅读 · 0 评论 -
RuntimeException详解
在Java中,异常是指在程序执行过程中出现的不正常情况,可能会导致程序终止或产生意外的结果。是Exception类的一个子类,它代表了一类特殊的异常,通常被称为“非受检异常”或“运行时异常”。与其他异常不同,异常及其子类在代码中并不需要显式地捕获或声明处理。这是因为它们通常表示由程序逻辑错误引起的异常情况,即在代码编写过程中产生的错误。因此,Java编译器允许我们在处理这些异常时更加灵活,而不需要强制性地进行异常处理。常见的:当试图访问一个空对象的成员时抛出。:当传递给方法的参数不合法时抛出。原创 2023-08-16 16:47:22 · 3604 阅读 · 0 评论 -
Java中的equals与“==“:深入探究对象比较的细微差异
equals方法用于对象内容的比较,而"=="操作符用于对象引用的比较。对于基本数据类型(如int、char等),"=="比较的是它们的值是否相等。但对于对象引用,"=="比较的是它们的内存地址是否相同,即它们是否指向同一个对象。比如,在String类中,equals方法被重写,使其比较两个字符串的内容是否相同,而不是比较它们是否指向同一块内存。在上述示例中,str1和str2的内容相同,但是它们是两个不同的对象,所以使用equals方法比较内容时返回true,而"=="操作符比较引用时返回false。原创 2023-07-31 15:56:30 · 192 阅读 · 0 评论 -
深入理解Spring中的立即加载和延迟加载
本文介绍了Spring框架中的立即加载和延迟加载策略,并解释了它们的适用场景和使用方法。了解加载策略的选择对于开发高效的Spring应用程序至关重要。根据具体的需求和应用场景,选择合适的加载策略,可以提高应用程序的性能和资源利用效率。原创 2023-07-17 15:59:06 · 1282 阅读 · 2 评论 -
探索Java中的Set集合:独一无二的元素之旅
Set集合是一种无序且不允许重复元素的集合,提供了高效的去重和查找功能。本文将深入探索Java中的Set集合,介绍其基本概念、常见实现类以及常用方法,帮助读者全面了解和灵活应用Set集合在Java编程中的优势。通过合理选择和使用Set集合的实现类,我们可以高效地进行去重、判重等操作,提高代码的可读性和性能。TreeSet是基于红黑树实现的有序Set集合,它可以按照元素的自然顺序或自定义的比较器进行排序。TreeSet提供了有序的元素集合。Set接口定义了一系列常用的方法,用于操作和访问Set集合中的元素。原创 2023-07-15 12:49:15 · 410 阅读 · 0 评论 -
解析Java空指针异常:原因、避免和处理
空指针异常是在尝试访问或操作一个空对象时抛出的异常。当我们使用一个值为null的引用执行方法调用、字段访问或数组访问时,就会出现空指针异常。它是一种编程错误,常常表示存在逻辑错误或者缺乏必要的错误处理机制。空指针异常是Java编程中常见的运行时异常之一,通常由于对空引用执行方法调用、字段访问或数组访问而引发。为了避免空指针异常,我们应始终初始化引用、检查返回值以及避免使用。原创 2023-07-06 15:27:47 · 10422 阅读 · 0 评论 -
Java 异常处理:使用 throws 和 try-catch 的区别
当我们编写Java代码时,可能会遇到需要处理异常的情况。我们可以使用 throws 和 try-catch 关键字来处理异常,具有不同的使用场景原创 2023-03-31 15:35:44 · 354 阅读 · 0 评论 -
提高代码封装性的好习惯:Java中的get和set方法
在Java中,get和set方法是用于访问对象的私有属性的一种常见方法。通常情况下,属性被声明为私有的,以防止其他类直接访问该属性,而是通过get和set方法来访问。本篇博客将介绍Java中的get和set方法,它们的作用以及如何使用它们。原创 2023-03-30 13:26:38 · 8588 阅读 · 0 评论 -
深入理解数据层和业务层:为什么它们在软件开发中如此重要?
在软件开发中,数据层和业务层是两个非常重要的概念。它们的主要目的是将软件系统的不同部分分离开来,从而使系统更易于维护、扩展和重用。在本文中,我们将深入探讨数据层和业务层的概念、作用、以及在实际项目中的应用。在软件开发中,数据层和业务层是两个非常重要的概念。数据层负责处理数据存储和访问,而业务层负责处理业务逻辑和业务规则。它们通过将不同部分分离开来,使得软件系统更易于维护、扩展和重用。此外,数据层和业务层还可以提高系统的性能、降低风险并提高系统的扩展性。原创 2023-03-23 10:58:35 · 5229 阅读 · 0 评论 -
深入理解DAO对象:分离业务逻辑与数据访问的有效方式
在软件开发中,数据存储和访问是一个至关重要的方面。为了提高应用程序的可扩展性和可维护性,开发人员通常会将业务逻辑和数据访问逻辑分离。而DAO对象正是这一目的的一种有效实现方式。原创 2023-03-22 19:52:05 · 910 阅读 · 1 评论 -
JDBC中PreparedStatement详解及应用场景介绍
在Java中,当需要向数据库中执行SQL语句并传递参数时,我们通常会使用PreparedStatement接口。PreparedStatement继承自Statement接口,用于预编译SQL语句并执行参数化查询,这样可以提高执行效率并防止SQL注入攻击。原创 2023-03-20 12:55:33 · 8278 阅读 · 2 评论 -
浅析java应用程序的耦合性
浅析java应用程序的耦合性原创 2023-03-17 01:44:57 · 962 阅读 · 0 评论 -
java反射机制的基础应用讲解
java反射机制的基础应用讲解原创 2023-03-17 01:31:47 · 106 阅读 · 0 评论 -
浅析java反射机制(详解)
在Java中,反射机制(Reflection)非常重要,但对于很多开发者来说,这并不容易理解,甚至觉得有点神秘~在此,我将献上一份Java反射机制的个人粗略见解,希望你们会喜欢。原创 2023-03-17 00:48:35 · 655 阅读 · 0 评论 -
浅析Java中的final关键字(详细)
浅析Java中的final关键字(详细)原创 2023-03-10 13:03:04 · 5481 阅读 · 3 评论 -
Java继承详解:从基本概念到实践技巧
Java继承详解:从基本概念到实践技巧原创 2023-03-08 00:51:24 · 227 阅读 · 1 评论 -
Java中重载和重写的概念、区别及应用场景
Java中重载和重写的区别及应用场景原创 2023-03-07 11:08:58 · 1001 阅读 · 0 评论 -
Java-lambda表达式入门(总结)
Java-lambda表达式入门(总结)原创 2023-03-05 00:03:33 · 308 阅读 · 1 评论 -
java增强for循环
在 Java 中,“增强 for 循环”,也称为“for-each 循环”,是一种快捷的循环语法,用于遍历数组和集合类对象原创 2023-02-07 18:42:54 · 2846 阅读 · 2 评论 -
java中读取用户输入的整数、字符、字符串、单词
java中取用户输入的整数、字符、字符串、单词原创 2023-02-07 16:32:46 · 5598 阅读 · 1 评论 -
Java数组拷贝与反转的快捷方法
Java数组拷贝与反转的快捷方法原创 2023-02-09 15:06:29 · 553 阅读 · 0 评论