Java专栏
文章平均质量分 94
提供经典java代码,算法,架构等文章
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
月下独码
CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。
展开
-
Java 泛型示例入门教程 - 泛型方法、类、接口
以上就是关于Java 中的泛型的全部内容,Java 泛型是一个非常广泛的主题,需要花费大量时间才能理解并有效使用它。本文旨在提供泛型的基本细节,以及我们如何使用它来扩展具有类型安全性的程序。原创 2024-08-18 18:16:45 · 700 阅读 · 5 评论 -
Java 中的面向对象编程 (OOP) 概念
顾名思义,面向对象编程或 Java OOP 概念是指在编程中使用对象的语言,它们使用对象作为实现代码中要发生的事情的主要来源。对象由查看者或用户看到,执行您分配的任务。面向对象编程旨在在编程中实现现实世界中的实体,如继承隐藏多态性等。OOP 的主要目的是将数据和操作它们的函数绑定在一起,以便除了该函数之外,代码的其他部分都无法访问这些数据。原创 2024-08-14 17:30:00 · 1108 阅读 · 1 评论 -
Java 中的异常
每当在方法内部发生异常时,该方法都会创建一个称为异常对象的对象并将其交给运行时系统 (JVM)。异常对象包含异常的名称和描述以及发生异常的程序的当前状态。是一种不必要的或意外的事件,发生在程序执行期间,即运行时,它会破坏程序指令的正常流程。它包含有关异常的信息,例如异常的名称和描述以及发生异常时程序的状态。在上面的例子中,数组的大小是固定的,也就是说,您只能访问索引 0 到 3 之间的元素。有时,Java 内置的异常不能很好地描述某种情况,在这种情况下,用户也可以创建异常,这种异常称为“用户定义异常”。原创 2024-08-14 13:30:00 · 852 阅读 · 0 评论 -
Java 数据结构入门示例
树数据结构允许分层表示,子元素会分支出来,而图数据结构可以具有由覆盖广泛复杂网络的节点(顶点)组成的更通用的数据结构。例如,链表数据结构由于其动态特性,可以使用任何可用内存,在添加元素时分配内存,而数组使用连续内存进行存储,需要特殊分配。Java 中的浮点数据类型是更精确的原始数据结构,可以存储精度高达七位的十进制值。数组数据结构是一种非原始数据结构,它按顺序存储元素集合,其中可以使用其索引(数组中的元素位置)访问每个元素。利用现有的 Java 集合,并使用具有优化性能和功能的预实现结构。原创 2024-08-14 06:45:00 · 609 阅读 · 0 评论 -
探索 Java 21 中虚拟线程的强大功能
总体而言,Java 21 中的虚拟线程代表了一项重大进步,使开发人员能够以更高的效率和可扩展性构建高度并发且响应迅速的应用程序。通过在 JVM 中提供轻量级、可扩展的并发,虚拟线程解决了与传统线程相关的许多限制,为开发人员提供了一种更高效、更灵活的并发编程方法。Java 中的传统线程是作为操作系统管理的本机线程实现的。此外,虚拟线程与 CompletableFuture 和其他异步编程结构的集成使开发人员能够充分利用 Java 并发框架的强大功能,同时受益于虚拟线程的性能优势。然后,我们在虚拟线程上调用。原创 2024-07-28 10:08:41 · 73 阅读 · 0 评论 -
面向新人的 Java 面试问题(1-50)
同样,所有读取流类的最上级类是 java.io.Reader,所有写入流类的最上级类是 java.io.Writer。每当我们创建一个新的字符串对象时,JVM 都会检查字符串池中是否存在该对象,如果池中存在字符串,则与变量共享相同的对象引用,否则将创建一个新对象。类加载器是 JRE(Java 运行时环境)的一部分,在执行字节码或创建的 .class 文件期间,类加载器负责将 Java 类和接口动态加载到 JVM(Java 虚拟机)。没有静态修饰符的类变量称为实例变量,通常由类的所有实例共享。原创 2024-08-15 19:12:16 · 774 阅读 · 0 评论 -
面向新人的 Java 面试问题(51-100)
Java 中的数组是动态创建的,这意味着数组的大小是在程序运行时确定的。使用 new() 的字符串与文字不同,因为当我们声明字符串时,它将元素存储在堆栈内存中,而当使用 new() 声明时,它会在堆内存中分配动态内存。是的,在 Java 中使用继承有一个限制,因为继承可以从超类和接口中继承所有内容,因此子类过于聚集,并且在某些情况下进行动态覆盖或动态重载时有时容易出错。复制构造函数是一种构造函数类型,我们将另一个对象作为参数传递,因为两个对象的属性看起来相同,这就是为什么构造函数似乎创建了一个对象的副本。原创 2024-08-15 19:20:45 · 989 阅读 · 0 评论 -
面向新人的 Java 面试问题(101-150)
例如,如果超类中的重写方法具有公共范围,则子类中的重写方法可以具有公共范围或更易于访问的范围(如 protected 或 default)。方法重写是指子类中的方法与超类中的方法具有相同的名称、参数和返回类型。当子类中的方法与其父类中的方法具有相同的名称、相同的参数或签名以及相同的返回类型(或子类型)时,则称子类中的方法重写了超类中的方法。类中的方法会覆盖父类的方法。Java 中常规数组的元素存储在连续的内存位置中,这意味着每个元素都存储在连续的内存块中。方法覆盖是指实现子类中的方法而不是父类中的方法。原创 2024-08-15 19:30:35 · 1139 阅读 · 4 评论 -
Java 中级面试题:30题
操作系统将单个 CPU 上运行大量线程时可用的 CPU 时间划分为小的时间片,并为每个线程提供一个执行的时间片。Java 中的守护线程的优先级低于用户线程,这意味着它们只能在没有用户线程运行时执行。Java 中的线程是轻量级的子进程,是进程的最小单位,并且具有单独的执行路径。这些线程使用共享内存,但它们独立运行,因此,如果线程中出现异常,则不会影响其他线程的工作,尽管它们共享相同的内存。线程有自己的程序计数器、执行堆栈和局部变量,但它与同一进程中的其他线程共享相同的内存空间。此方法不返回任何值。原创 2024-08-16 11:15:14 · 603 阅读 · 0 评论 -
Java 差异面试题:18题
队列中的插入和删除操作从列表的两端进行。删除操作从列表的前端进行,而插入操作则从列表的后端进行。Deque 也称为双端队列,也是一种线性数据结构,用于存储元素集合,并从两端进行删除和添加操作。队列数据结构用于存储元素,并用于执行入队、从队后或队尾出队等操作。堆栈数据结构用于存储元素,并用于执行从堆栈顶部推送、弹出等操作。与故障安全相比,快速故障处理速度更快,因为它不涉及集合的复制。Treemap 中的检索速度较慢,因为它使用树遍历来查找键。与 Treemap 相比,Hashmap 的检索速度更快。原创 2024-08-16 11:42:34 · 632 阅读 · 0 评论 -
Java 中高级面试题:16题
在这些情况下,应用程序创建了大量对象但并未使用它们,并且每个对象都有一些有效引用,Java 中的垃圾收集器无法销毁这些对象。JVM 中有不同类型的垃圾收集,每种垃圾收集都有不同的特点和性能影响。JDBC API 组件提供了各种方法和接口,以便于与数据库进行轻松通信,同时还提供了 java Se 和 java EE 等软件包,提供了一次编写即可在任何地方运行 (WORA) 的功能。线程优先级是这样的概念:每个线程都有一个优先级,用外行人的语言来说,可以说每个对象都有优先级,用 1 到 10 之间的数字表示。原创 2024-08-16 11:23:08 · 927 阅读 · 0 评论 -
15 个高难度 Java 面试题及答案
聘用合适的 Java 开发人员对您的业务至关重要。聘用不当可能会导致代码效率低下、错过最后期限以及团队活力不佳。这就是为什么在聘用候选人之前必须彻底审查每位候选人的原因。这个过程的一部分是在面试 Java 开发人员候选人时提出正确的问题。通过我们列出的,您可以评估申请人的理论知识、实践技能以及快速和创造性思考的能力。将这些问题与Java 技能测试结合起来,可确保您为团队选出最佳人才。原创 2024-08-16 12:14:19 · 1100 阅读 · 1 评论 -
【2024】20个高级 Java 面试问题及答案
在 Java 中,函数式接口是仅包含一个抽象方法的接口,它可以有多个默认或静态方法。随着 Java 8 中 lambda 表达式的引入,函数式接口变得越来越流行。探索函数式接口的概念,讨论它们在实现 lambda 表达式中的作用,并提供它们如何促进函数式编程概念实现的实际例子。原创 2024-08-16 12:02:55 · 1698 阅读 · 0 评论 -
【全网最新-首发】Springfox/swagger迁移springdoc-openapi & springdoc-openapi最新版本和springboot应用集成
OpenApi是业界真正的api文档标准,一个规范,其是由 Swagger 来实现并维护的,并被linux列为api标准,从而成为行业标准。swagger 是一个 api 文档维护组织,后来成为了 Open API 标准的主要定义者,现在最新的版本为17年发布的 Swagger3(Open Api3)。swagger2的包名为 io.swagger,而swagger3的包名为 io.swagger.core.v3。本文重点介绍springdoc-openapi与springboot应用的快速集成原创 2020-07-18 20:32:22 · 6426 阅读 · 8 评论 -
【全网最新-首发】Springfox 3.0.0(包含springfox-swagger2-3.0.0)即OpenAPI 3的发布与系统集成
[原创] SpringFox 3.0.0(包含springfox-swagger2-3.0.0)的发布与系统集成一. SpringFox 3.0.0 发布A. 此版本的亮点B. 兼容性说明C. 此版本已修补的漏洞二. 系统如何集成?A. swagger2-3.0 maven依赖加入,非常方便,只需一个B. swagger2-3.0配置代码,通用型C. 系统启动效果展示D. 切换成bootstrap-ui一. SpringFox 3.0.0 发布SpringFox 3.0.0 发布了,SpringFox原创 2020-07-16 23:48:44 · 12570 阅读 · 17 评论 -
java生成随机字符串,林海的CSDN博文,RandomStringGenerator,长度可以指定,字符约束范围可选,可用于生成随机密码,密约等场景,支持字符范围配置
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持在可选字符范围(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置)内生成随机字符串,即在选择的字符范围内去实现随机字符串生成,支持特殊字符生成,特殊到可以支持回车符,换行符,制表符,转义符,空格等。 具备洗牌算法功能,即在生成随机字符串之前,可...原创 2019-03-10 15:27:13 · 822 阅读 · 0 评论 -
java生成随机字符串,林海,Java随机字符串生成器,长度可以指定,字符约束范围可选,可用于生成随机密码,密约等场景,支持字符范围配置
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持在可选字符范围(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置)内生成随机字符串,即在选择的字符范围内去实现随机字符串生成,支持特殊字符生成,特殊到可以支持回车符,换行符,制表符,转义符,空格等。 具备洗牌算法功能,即在生成随机字符串之前,可...原创 2019-03-10 14:09:49 · 837 阅读 · 0 评论 -
加速 lucene 的搜索速度 ImproveSearchingSpeed
* Be sure you really need to speed things up.Many of the ideas here are simple to try, but others will necessarily add some complexity to your application. So be sure your searching speed is indeed原创 2013-09-09 13:51:57 · 1026 阅读 · 0 评论 -
Lucene IndexReader,IndexWriter,IndexSearcher 缓存应用
//判断处理reader是否改变 for (Entry<Directory, DirectoryReader> entry : new HashMap<Directory, DirectoryReader>(readerMap).entrySet()) { try { DirectoryReader oldReader = entry.getValue(); DirectoryReader newReader = DirectoryReader.openIfChan原创 2013-09-01 23:37:13 · 2408 阅读 · 0 评论 -
lucene4.4 索引的增删改查
reader = DirectoryReader.open(directory); QueryParser parser = new QueryParser(Version.LUCENE_44, "context", new StandardAnalyzer(Version.LUCENE_44)); Query query = parser.parse("lucene"); IndexSearcher searcher = ne原创 2013-09-01 20:18:17 · 1845 阅读 · 1 评论 -
关于索引删除的策略IndexDeletionPolicy
1、KeepOnlyLastCommitDeletionPolicy策略KeepOnlyLastCommitDeletionPolicy类在初始化一个IndexWriter的时候,在init方法中如果指定IndexDeletionPolicy deletionPolicy为null,则默认的索引删除策略为KeepOnlyLastCommitDeletionPolicy。2、KeepNoneOnInitDeletionPolicy策略初始化时删除所有提交点的索引段,最后提交的时候,保留最近提交点的索引原创 2013-09-04 21:48:10 · 862 阅读 · 0 评论