Java .util包有很多实用的类、接口和异常。 向量类,堆栈类, 哈希表 ,枚举接口,日历类, 随机函数 类,映射接口和属性类。 Vector 类 vector是异构的,可以存储不同的对象,同时可以动态增加存储容量 所有向量操作都是针对Object类进行的,要将从向量空间取回的Object对象进行向下转型。 元素个数小于等于容量。 ......
305
0
0
2023-09-06
本文使用 Maven 进行配置, Gradle 可以参考下面文档 Spring Boot Gradle 插件参考指南 一、场景 最常见的是容器镜像,将依赖、代码、配置分层后可以利用容器镜像层缓存机制加快构建和下载,这个场景使用分层是最优最简单的。 k8s 移除 Docker 后,文档中的 Docker 都去掉了…现在也把常说的 ......
222
0
0
2023-09-05
本文开始介绍并发队列,为后面介绍 线程池 打下基础。并发队列莫非也是 出队 、 入队 操作,还有一个比较重要的点就是如何保证其 线程安全性 ,有些并发队列保证 线程安全 是通过 lock ,有些是通过 CAS 。 我们从 ConcurrentLinkedQueue 开始吧。 1. 介绍 Co ......
252
0
0
2023-09-04
(文末思维脑图将会打开你的新世界) 1、在 java 中如何跳出当前的多重嵌套循环? 在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出外层循环。例如, ok:for (int i = ; i < 10; ......
236
0
0
2023-09-04
前言面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式弥补了面向对象编程(OOP)的不足。 除了类(classes)以外,AOP提供了 切面。切面对关注点进行模块化,例如横切多个类型和对象的事务管理。 (这些关注点术语通常称作 横切(crosscutting) 关注点。)Spring的一个关键的组件就是 AOP框架。 尽管如此,Spring ......
235
0
0
2023-09-04
简介项目中,请求时发送超大 json 数据外;响应时也有可能返回超大 json 数据。《Springboot 之 Filter 实现 Gzip 压缩超大 json 对象》实现了请求数据的 gzip 压缩。本篇通过 filter 实现对响应 json 数据的压缩。先了解一下以下两个概念: 请求头: Accept-Encoding : gzip 告诉服务器, ......
253
0
0
2023-09-04
导读 同理,世界上只有两种代码:高效代码和低效代码;世界上只有两种人:编写高效代码的人和编写低效代码的人。如何编写高效代码,是每个研发团队都面临的一个重大问题。所以,作者根据实际经验,查阅了大量资料,总结了” Java 高效代码50例 “,让每一个Java程序员都能编写出” 高效代码 “。1.常量&变量1.1.直接赋值常量值,禁止声明新对象直接赋值 ......
241
0
0
2023-09-04
1. 为什么要写这篇文章几年前 NoSQL 开始流行的时候,像其他团队一样,我们的团队也热衷于令人兴奋的新东西,并且计划替换一个应用程序的数据库。 但是,当深入实现细节时,我们想起了一位智者曾经说过的话:“细节决定成败”。最终我们意识到 NoSQL 不是解决所有问题的银弹,而 NoSQL vs RDMS 的答案是:“视情况而定”。类似地,去年RxJava 和 ......
374
0
0
2023-09-03
1. 介绍在我们日常的Java开发中,免不了和其他系统的业务交互,或者微服务之间的接口调用 如果我们想保证数据传输的安全,对接口出参加密,入参解密。 但是不想写重复代码,我们可以提供一个通用starter,提供通用加密解密功能 2. 前置知识2.1 hutool-crypto加密解密工具hutool-crypto提供了很多加密解密工具,包括对称加密,非对称加 ......
316
0
0
2023-09-03
本文简要介绍 Java 并发编程方面常用的类和集合,并介绍下其实现原理。 AtomicInteger 可以用原子方式更新int值。类 Atomic boolean 、AtomicInteger、AtomicLong 和 AtomicReference 的实例各自提供对相应类型单个变量的访问和更新。基本的原理都是使用CAS操作: boolean c ......
243
0
0
2023-09-03
目录:一.生产者和消费者模式 二.线上问题定位 三.性能测试 四.异步任务池 当你在进行并发编程时,看着程序的执行速度在自己的优化下运行得越来越快,你会觉得越来越有成就感,这就是并发编程的魅力。但与此同时,并发编程产生的问题和风险可能也会随之而来。一.生产者和消费者模式 线程通信 ,在 多线程 系统中,不同的线程执行不同的任务;如果这些任务之间存在联系, ......
237
0
0
2023-09-02
在当今技术驱动的世界里,我们都可以看到科技进步是多么频繁地出现,随之而来的是旧的工具和技术变得过时和缺乏竞争力。但并不是每一项技术都是一样的 Java 是二十多年来在科技界享有强大地位的少数技术之一! 根据各种标准报告,Java仍然是最流行和最需要的编程语言之一。Java如此受欢迎的主要原因之一是它有广泛的应用程序,如Android开发,Web应用, ......
266
0
0
2023-09-01
消息中间件能做什么消息中间件主要解决的就是分布式系统之间消息传递的问题,它能够屏蔽各种平台以及协议之间的特性,实现应用程序之间的协同。举个非常简单的例子,就拿一个电商平台的注册功能来简单分析下,用户注册这一个服务,不单单只是insert一条数据到数据库里面就完事了,还需要发送激活邮件、发送新人红包或者积分、发送营销短信等一系列操作。假如说这里面的每一个操作, ......
361
0
0
2023-09-01
Sharding-JDBC背景:出于工作的需要,非常需要详细了解数据库分表分库的内容,这样便于选择版本,了解原理及性能,做出更好的选择。Sharding- JDBC是 sharding Sphere的第一个产品,也是ShardingSphere的前身。 它定位为轻量级 Java框架 ,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形 ......
238
0
0
2023-08-31
作者 | 楚昭来源 | 阿里巴巴中间件(ID:Aliware_2018)在计算机行业有一个定律叫”摩尔定律”,在此定律下,计算机的性能突飞猛进,而且价格也随之越来越便宜, CPU 从单核到了多核,缓存性能也得到了很大提升,尤其是多核 CPU 技术的到来,计算机同一时刻可以处理多个任务。在硬件层面的发展带来的效率极大提升中,软件层面的多 线程 编程已经成为必 ......
225
0
0
2023-08-30