![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA
文章平均质量分 60
java相关
融极
未来像盛夏的大雨,来不及撑伞就已经倾盆而下。
展开
-
Java的SPI服务发现机制详解
Java的SPI服务发现机制详解原创 2023-04-05 22:49:39 · 105 阅读 · 0 评论 -
彻底弄懂Java中ThreadLocal的原理与用法
彻底弄懂Java中ThreadLocal的原理与用法原创 2023-03-19 17:47:13 · 155 阅读 · 0 评论 -
Java之HashMap详解
Java之HashMap详解原创 2023-03-19 17:46:04 · 155 阅读 · 0 评论 -
彻底弄懂Java8中的flatMap流的扁平化
java8 flatMap原创 2023-03-07 21:23:10 · 445 阅读 · 0 评论 -
JUC快速入门(彻底搞懂JUC)
java JUC原创 2023-02-15 22:23:08 · 276 阅读 · 0 评论 -
JUC快速入门(彻底搞懂JUC)
java JUC原创 2023-02-15 22:22:04 · 269 阅读 · 0 评论 -
JUC快速入门(彻底搞懂JUC)
java JUC原创 2023-02-15 22:08:31 · 245 阅读 · 0 评论 -
Java Annotation详解
java annotation原创 2023-02-15 22:07:27 · 228 阅读 · 0 评论 -
Java Annotation详解
java annotation原创 2023-02-15 21:48:57 · 189 阅读 · 0 评论 -
JAVA反射机制Reflection详解
java reflection原创 2023-02-15 21:48:32 · 208 阅读 · 0 评论 -
字符集与编码总结
字符集类型原创 2023-01-03 16:54:09 · 607 阅读 · 0 评论 -
java忽略证书验证(兼容http,https)
java忽略证书验证原创 2023-01-03 10:51:28 · 9033 阅读 · 2 评论 -
Java对base64编解码总结
base64编解码原创 2022-11-11 17:09:07 · 7837 阅读 · 0 评论 -
Java中VO,BO,PO,DO,DTO的详解
java原创 2022-11-08 10:56:16 · 3175 阅读 · 0 评论 -
JDK动态代理生成的类保存到磁盘
jdk动态代理文件保存原创 2022-10-01 11:08:46 · 732 阅读 · 0 评论 -
Idea简单项目结构与配置
java 普通项目目录规范原创 2022-09-23 15:14:48 · 831 阅读 · 0 评论 -
Java读取classpath路径下的文件
java 类路径下文件读取原创 2022-09-23 14:42:34 · 3013 阅读 · 0 评论 -
Java枚举详解
java 枚举原创 2022-09-23 14:00:49 · 163 阅读 · 0 评论 -
java 8 Stream中peek的使用
Stream peek原创 2022-09-22 15:41:59 · 132 阅读 · 0 评论 -
浅谈Java中Stream流关闭
InputStream原创 2022-08-29 19:56:29 · 7879 阅读 · 2 评论 -
foreach遍历删除元素问题总结
foreach遍历删除、添加元素原创 2022-08-09 14:41:54 · 9965 阅读 · 2 评论 -
Java正则表达式
正则表达式原创 2022-07-14 09:58:52 · 332 阅读 · 0 评论 -
Java程序启动参数 -D详解
概述java程序启动参数 -D是用来做什么的呢?去查询了一下官方解释:Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes:java -Dfoo="some string" SomeClass也就是说-D是用来在启动一个java程序时设置系统属性值的。如果该值是一个字符串且包含空格,那么需要包在一对双引号中。何为系原创 2022-05-06 14:02:24 · 8241 阅读 · 0 评论 -
new Object[0]的作用
概述在集合转换成数组时通常可以看到xxx.toArray(new Object[0])的代码,为什么这样写呢,什么意思呢?示例 public static void main(String[] args) { Set<Integer> sets = new HashSet<>(); sets.add(1); sets.add(2); sets.add(3); Integer[] integer原创 2022-04-26 16:38:11 · 1957 阅读 · 0 评论 -
Java8总结
概述原创 2022-04-06 16:54:59 · 307 阅读 · 0 评论 -
Java中的锁
概述Lock接口锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序时靠synchronized关键字实现锁功能的,而Java SE5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能,只是在使用时需要显示地获取和释放锁。虽然它缺少了(通过synchronized块或者方法所提供的的)隐式获取释放锁的便原创 2022-04-03 17:27:28 · 519 阅读 · 0 评论 -
详解java中的final关键字
概述final 简介final关键字可用于多个场景,且在不同场景具有不同的作用。首先,final是一个非访问修饰符,仅适用于变量,方法或类。下面是使用final的不同场景:上面这张图可以概括成:当final修饰变量时,被修饰的变量必须被初始化(赋值),且后续不能修改其值,实质上是常量;当final修饰方法时,被修饰的方法无法被所在类的子类重写(覆写);当final修饰类时,被修饰的类不能被继承,并且final类中的所有成员方法都会被隐式地指定为final方法,但成员变量则不会变。fina原创 2022-04-03 15:14:04 · 3614 阅读 · 0 评论 -
接口设计总结
接口代码具体实现跟着表走。接口责任单一,不要设计的很通用,否则复杂度指数级增长。接口和交互(点击等动作)最好一一对应,不要在A页面查询出数据带到B页面中,前端会很不舒适。接口参数、返回值、命名形式、类命名保持一致性。...原创 2022-03-29 21:27:38 · 634 阅读 · 0 评论 -
Java并发编程基础
概述java从诞生开始就明智地选择了内置对多线程的支持,这使得Java语言相比同一时期的其他语言具有明显的优势。线程作为操作系统调度的最小单元,多个线程能够同时执行,这将显著提升程序的性能,在多核环境中表现得更加明显。但是,过多的创建线程对线程的不当管理也容易造成问题。本章将着重介绍Java并发编程的基础知识,从启动一个线程到线程间不同的通信方式。线程简介现在操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。现代操作系统调度的最小单元是线程,也原创 2022-03-27 21:56:43 · 1340 阅读 · 0 评论 -
正则表达式总结
概述参考全网最全正则表达式总结,让你的工作效率事半功倍,赶快收藏原创 2022-03-03 09:12:33 · 168 阅读 · 0 评论 -
CompletableFuture:组合式异步编程-Java 8
概述我们看到的下一代网络应用都采用“混聚”(mash-up)的方式:它会使用来自多个来源的内容,将这些内容聚合在一起,方便用户生活。比如,你可能希望为你的法国客户提供指定主题的热点报道。为实现这一功能,你需要向谷歌或者Twitter的API请求所有语言中针对该主体最热门的评论,可能还需要依据你的内部算法对它们的相关性进行排序。之后,你可能还需要使用谷歌的翻译服务把它们翻译成法语,甚至利用谷歌地图服务定位出评论者的位置信息,最终将所有这些信息聚集起来,呈现在你的网站上。当然,如果某些外部网络服务发生响应原创 2022-03-01 22:20:54 · 529 阅读 · 0 评论 -
默认方法-Java 8
概述Java 8中的接口现在支持在声明方法的同时提供实现。通过两种方式可以完成这种操作,其一,Java8允许在接口内声明静态方法;其二,Java8引入了一个新功能,叫默认方法,通过默认方法你可以指定方法的默认实现。换句话说,接口能够提供方法的具体实现。因此,实现接口的类如果不显式地提供方法的具体实现,就会自动继承默认的实现。这种机制可以使你平滑地进行接口的优化和演进。概述默认方法默认方法是Java8中引入的新特性,希望能借此以兼容的方式改进API。默认方法由default修饰符修饰,并像类中声明原创 2022-02-27 22:49:16 · 456 阅读 · 0 评论 -
重构、测试和调试-Java 8
概述为改善可读性和灵活性重构代码概述代码的可读性使用Java 8,你可以减少冗长的代码,让代码更易于理解。通过方法引用和Stream API,你的代码会变的更直观。重构代码,用Lambda表达式取代匿名类。用方法引用重构Lambda表达式。用Stream API重构命令式的数据处理。从匿名类到Lambda表达式的转换在某些情况下,将匿名类转换为Lambda表达式可能是一个比较复杂的过程。首先,匿名类和Lambda表达式中的this和super含义是不一样的。在匿名类中,this代表的是原创 2022-02-21 22:06:59 · 327 阅读 · 0 评论 -
并行数据处理与性能-Java 8
概述并行流我们可以通过对收集源调用parallelStream方法来把集合转换为并行流。并行流就是一个把内容分成多个数据块,并用不同的线程分别处理每个数据跨的流。并行流背后使用的基础架构是分支/合并框架。分支/合并框架分支/合并框架的目的是以递归的方式将可以并行的任务拆分成更小的任务,然后将每个子任务的结果合并起来生成整体结果。使用RecursiveTask工作窃取SpliteratorSpliterator是Java 8中加入的另一个新接口;这个名字代表“可分迭代器”。和Iterator原创 2022-02-21 21:43:30 · 444 阅读 · 0 评论 -
用流收集数据-Java 8
概述流可以用类似于数据库的操作帮助你处理集合。你可以把Java 8的流看做花哨又懒惰的数据集迭代器。它们支持两种类型的操作:中间操作(如filter或map)和终端操作(如count、findFirst、forEach和reduce)。中间操作可以链接起来,将一个流转换为另一个流。这些操作不会消耗流,其目的是建立一个流水线。与此相反,终端操作会消耗流,产生一个最终结果,例如返回流中的最大元素。它们通常可以通过优化流水线来缩短计算时间。我们之前用过collect终端操作了,当时主要是用来把Stream中所原创 2022-02-19 17:30:27 · 495 阅读 · 0 评论 -
类型信息-Java编程思想
概述运行时类型信息(RTTI)使得你可以在程序运行时发现和使用类型信息。它是你只能在编译期执行面向类型的操作的禁锢中解脱出来,并且可以使用某些非常强调的功能。对RTTI的需要,揭示了面向对象设计中许多有趣(并且复杂)的问题,同时也提出了如何组织程序的问题。本章将讨论Java是如何让我们在运行时识别对象和类的信息的。主要有两种方式:一种是“传统的”RTTI,它假定我们在编译时已经知道了所有的类型;另一种是“反射”机制,它允许我们在运行时发现和使用类的信息。类型转换前先做检查使用类字面常量xxx.c原创 2022-02-13 20:44:34 · 270 阅读 · 0 评论 -
使用流-Java8
概述流让你从外部迭代转向内部迭代。实际上所有的元素只会迭代一次,只是在迭代每个元素时,元素会执行赋予的所有操作。这种处理数据的方式很有用,因为你让Stream管理如何处理数据。这样Stream API就可以在背后进行多种优化。此外,使用内部迭代的话,Stream API可以决定并行运行你的代码。这要是用外部迭代的话就办不到了,因为你只能用单一线程挨个迭代。在本章中,你将会看到Stream API支持的许多操作。这些操作能让你快速完成复杂的数据查询,如筛选、切片、映射、查找、匹配和规约。接下来,我们会原创 2022-02-10 22:27:03 · 823 阅读 · 0 评论 -
Java8流源码解析-串行流
概述参考java8串行流源码解析原创 2022-02-08 22:05:25 · 564 阅读 · 0 评论 -
流-Java8
概述集合是Java中使用最多的API。要是没有集合,还能做什么呢?几乎每个Java应用程序都会制造和处理集合。集合对于很多编程任务来说都是非常基本的:它们可以让你把数据分组并加以处理。流是什么流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,你可以把他们看成遍历数据集的高级迭代器。此外,流还可以透明地并行处理,你无需写任何多线程代码了!我们会在第7章中详细解释流和并行化是怎么工作的。List<String> lowC原创 2022-02-07 14:04:09 · 383 阅读 · 0 评论 -
Lambda表达式-Java8
概述利用行为参数化来传递代码有助于应对不断变化的需求。它允许你定义一个代码块来表示一个行为,然后传递它。你可以决定在某一个事件发生时(例如单机一个按钮)或在算法中的某个特定时刻运行该代码。一般来说,利用这个概念,你就可以编写更为灵活且可重复使用的代码了。但你也看到,使用匿名类来表示不同的行为并不令人满意:代码十分啰嗦,这会影响程序员在实践中使用行为参数化的积极性。在本章中,我们会教给你Java8中解决这个问题的新工具一一Lambda表达式。它可以让你很简洁地表示一个行为或传递代码。现在你可以把Lambd原创 2022-01-30 16:45:18 · 1042 阅读 · 0 评论