java
文章平均质量分 62
架构成长指南
http://my.csdn.net/dweizhao#
展开
-
Java Stream中的API你都用过了吗?
在本教程中,您将通过大量示例来学习 Java 8 Stream API。Java 在 Java 8 中提供了一个新的附加包,称为。该包由类、接口和枚举组成,允许对元素进行函数式操作。您可以通过在程序中导入包来使用流。原创 2023-11-22 12:39:06 · 77 阅读 · 0 评论 -
Lambda 表达式各种用法,你都会了吗
`Lambda`表达式是 Java 8 中引入的最有影响力的功能之一。它们通过允许简洁而优雅地创建匿名函数来实现 Java 中的函数式编程。在这篇博文中,我们将探讨编写 `lambda` 表达式的各种形式。原创 2023-11-14 12:41:57 · 108 阅读 · 0 评论 -
Spring boot 磁盘大小监控
在spring boot的actuator组件中有很多检查项,其中磁盘空间检查也是比较重要的一块,下面重点分析一下通过注解 @ConditionalOnEnabledHealthIndicator查看应用,看到有@ConditionalOnEnabledHealthIndicator(“diskspace”)内容...原创 2022-06-08 15:32:49 · 1253 阅读 · 0 评论 -
灰度发布-Spring cloud gray系列之Spring gateway 服务网关灰度请求测试
基于spring-cloud-gateway-core:2.2.5.RELEASE调用关系图灰度配置因为网关调用的是service-a,所以对此服务进行实例灰度配置,当请求参数version为v4,走灰度实例20104测试脚本###灰度请求curl http://127.0.0.1:20401/ser-a/api/test/get?version=v4###正常请求curl http://127.0.0.1:20401/ser-a/api/test/get?version原创 2021-05-29 09:57:19 · 468 阅读 · 0 评论 -
基于eureka的平滑发布方案
什么叫平滑发布?在发布的过程中不影响用户的使用,系统不会因发布而暂停对外服务,不会造成用户短暂性无法访问;eureka manage介绍不管是服务提供方还是服务调用方都必须接入eureka manage功能,这个可以控制应用上下线,在发布的过程中可以优雅下线eureka manage提供了两个接口- 上线服务:http://ip:port/manage/online- 下线服务:http://ip:port/manage/offline如果调用manage/online.原创 2020-11-03 23:03:01 · 1083 阅读 · 0 评论 -
JDK源码-AQS独占锁分析
概述AQS是Java中除了synchronized锁,其他锁的基类,掌握了其原理,对我们了解其他锁事半功倍。AQS通过volatile int state和FIFO队列,来实现我们期望的同步需求,子类通过继承同步器并需要实现它的方法来管理其状态,在多线程中对状态的操作必须保证原子性,因此需要用到如下方法 private volatile int state; protected final int getState() { return state; }原创 2020-11-03 22:43:52 · 135 阅读 · 0 评论 -
JDK源码-AQS共享锁分析
概述我们这里共享锁已ReentrantReadWriteLock读写锁为例来进行说明,写锁是排它锁,读锁是共享锁,如下图图一,当t1线程获取了读锁后,t2线程也是可以获取到读锁,但是当t3线程获取写锁时,则对写锁进行阻塞。图二,当t1线程获取到写锁后,t2、t3是没法获取读锁的下面让我们分析一下读锁的是怎么实现的ReentrantReadWriteLock共享锁实现分析实现共享锁主要要实现两个方法,如下获取锁实现方法更改state的值返回大于等于0的值,则获取成功,否则获取失败,线程进入原创 2020-11-03 22:42:31 · 223 阅读 · 0 评论 -
spring @ControllerAdvice源码分析
@ControllerAdvice的实现类主要在ExceptionHandlerExceptionResolver中初始化ExceptionHandlerExceptionResolve实现了InitializingBean的afterPropertiesSet接口,在这个接口中调用了initExceptionHandlerAdviceCache方法,initExceptionHandlerAdviceCache方法调用了ControllerAdviceBean类findAnnotatedBeans方法原创 2020-09-16 00:34:57 · 457 阅读 · 0 评论 -
ThreadPoolExecutor线程的创建与销毁分析
ThreadPoolExecutor线程的创建与销毁分析固定线程池(newFixedThreadPool) 单例线程池(newSingleThreadExecutor) 缓存线程池(newCachedThreadPool)原创 2017-11-22 14:22:27 · 19301 阅读 · 0 评论 -
JVM client模式和Server模式的区别
专用和公用JRE的不同不同点在于专用JRE的bin里不仅有“client”目录,还有“server”目录,而公用的只有"client"目录。其实client和server是Java运行的两种模式,那么它们有什么区别呢?JVM client模式和Server模式启动,分别针对桌面应用和服务器应用做了相应的优化,client版本加载速度较快,server版本加载速度较慢但运行起来较转载 2017-09-07 09:56:16 · 297 阅读 · 0 评论 -
位移&二进制转换&原码&反码&补码
<< 左移 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。格式 需要移位的数字 << 移位的次数计算过程1. 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零2. 当左移的运算数是int 类型时,每移动1位它的第31位就要被移出并且丢弃;3. 当左移的运算数是long 类型时,每移动1位它的第63位就要被移出并且丢弃。4. 当左原创 2017-07-10 11:11:01 · 5800 阅读 · 1 评论 -
HashMap死循环分析
HashMap死循环介绍点击打开链接,如果在上面还看不明白,请参考此文章。void resize(int newCapacity) { Entry[] oldTable = table; int oldCapacity = oldTable.length; if (oldCapacity == MAXIMUM_CAPACITY) {原创 2017-06-20 22:11:47 · 406 阅读 · 0 评论 -
Poi基于程序控制导出Excel
导出excel有很多种方法,其中有jxl,poi,jsp都可以,其中我使用的是poi!例如:/** * 页面配置 * @param sheet * @param isfalg * @param pagesize */ private void PageConfig(HSSFSheet sheet,boolean isf原创 2012-08-01 23:52:09 · 557 阅读 · 0 评论 -
货币类型返回处理
最近在做excel导出,对应的有一个金额输入列,这导出的数据必须是金额形式,于是找到了BigDecimal。BigDecimal这个提供了货币格式,百分比形式,而且他比double更精确,还可以四舍五入,废话不多说下面举例一个货币处理: BigDecimal jfhj=new BigDecimal(0); //借方合计 jfhj=jfhj.add(psraccda原创 2012-08-01 23:35:22 · 601 阅读 · 0 评论 -
ForkJoinPool中submit处理流程
细节不详细介绍,具体可参考http://www.infoq.com/cn/articles/fork-join-introduction。本文主要分析的submit处理流程,示例代码:package com.company.Chapter06;import java.util.concurrent.ExecutionException;import java.util.concurrent原创 2017-06-20 09:02:02 · 5680 阅读 · 0 评论