
java
super苏然
java开发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
获取本机ip
ip原创 2022-12-12 10:26:13 · 141 阅读 · 0 评论 -
熔断、降级 Sentinel
熔断、降级 Sentinel原创 2022-07-15 18:18:37 · 304 阅读 · 0 评论 -
通过AOP对接口进行并发控制(限流同理)
redis限流原创 2022-06-10 11:36:30 · 889 阅读 · 0 评论 -
Dubbo负载均衡的源码流程(2022.5.30)
默认负载均衡策略:RandomLoadBalance(随机策略)在 Dubbo 3.0 中,负载均衡策略存在以下几种:1.RandomLoadBalance (随机)2.RoundRobinLoadBalance (轮询)3.ShortestResponseLoadBalance (最短反馈)4.LeastActiveLoadBalance (最少活跃)5.ConsistentHashLoadBalance (一致性 hash)..................原创 2022-05-27 15:33:24 · 632 阅读 · 0 评论 -
eden区分配至s0、s1
1.eden如何分配给s0、s1由此图看出,eden区做第一次YGC时,放入s0、s1时是随机的。2.是否内存泄漏FGC次数很少,占用时间很少,YGC很频繁,但是每次清理完,eden区几乎为0,达到预期效果,没有内存泄漏问题......原创 2022-05-11 14:54:03 · 1133 阅读 · 0 评论 -
JAVA去除括号及里面的内容(正则表达式 && 代码算法)
转载:https://www.cnblogs.com/diehuacanmeng/p/13223334.htmlprivate static String clearBracket(String context, char left, char right) { int head = context.indexOf(left); if (head == -1) { return context; } else {转载 2022-05-06 11:20:34 · 4732 阅读 · 3 评论 -
重构项目(mq消费业务)
上周历时2个月,重构完了一个以消费mq为主的项目,一开始花了半年的时间来吃透该项目的业务逻辑,在重构的过程中,对业务类进行优化,封装工具类,移除没有必要的私有方法,引入两个线程池,一个主要进行mq业务消费,一个进行末尾的解耦业务操作(主要是mq推送),减少DB的调用,全部准备数据在业务开始时通过多线程进行准备,后续业务即拿即用,解决一些隐藏隐患,提升模板模式的覆盖率,引入xxl-job,定时拉取mq消息(这里没有用推送方式,是因为该项目一天的消费量是在4-5千万级别,但是线上只部署了3台,为了让其在周末以及原创 2022-04-28 14:57:54 · 590 阅读 · 0 评论 -
nginx配置(相关字段含义)
########### 每个指令必须有分号结束。##################user administrator administrators; #配置用户或者组,默认为nobody nobody。#worker_processes 2; #允许生成的进程数,默认为1#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,serv原创 2022-04-28 11:34:12 · 473 阅读 · 0 评论 -
加盐密码校验
过完年,因为业务,需要对采购单进行改价限制,通过密码去修改价格,做了一个加盐的方式,进行密码校验,现在刚好有时间进行整理,列举一下接口,和底层的代码逻辑。Controller/** * 密码 */@RestController@RequestMapping("/api/rest/password")@Api(tags = "密码")@Slf4jpublic class PasswordController { @DubboReference(version="0.1", time原创 2022-04-26 18:05:37 · 2956 阅读 · 0 评论 -
从spring容器中获取自动装配的bean
第一种:最常见工具类import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;@Componentpublic class AppBea原创 2022-04-26 16:41:15 · 255 阅读 · 0 评论 -
使用Java 8的DateTimeFormatter取代传统的SimpleDateFormat
SimpleDateFormat和Calendar等传统日期类存在多个设计缺陷,以至于在Java中处理日期经常需要用到JodaTime等第三方工具库。Java 8已经提供新的日期工具类,和JodaTime是同一个作者,吸收了JodaTime的经验,基本涵盖了JodaTime的所有功能,所以不需要再引入JodaTime也不需要再使用传统日期工具类.Java8的java.time package主要提供了下面的类:● Instant:表示格林威治时间(UTC)开始的时间点,初始时间为1970-01-01 0原创 2022-04-15 18:07:46 · 3637 阅读 · 0 评论 -
搭建java脚手架
转载:https://www.cnblogs.com/sun-flower1314/p/15098057.html一、创建脚手架1.创建maven项目,引入脚手架依赖 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId转载 2022-03-17 17:28:45 · 3053 阅读 · 0 评论 -
重构项目,参考Ali规范
最近在重构整体负责,走的是dubbo服务,参考了阿里规范,进行了分层,如下的结构。原创 2022-03-17 16:28:12 · 530 阅读 · 0 评论 -
@FeignClient 实现简便http请求封装
我们一般在代码中调用http请求时,都是封装了http调用类,底层自己定义请求头,在写的时候,也是需要对返回的值进行json解析,很不方便。name:name属性会作为微服务的名称,用于服务发现url:host的意思,不用加http://前缀decode404:当发生http 404错误时,如果该字段位true,会调用decoder进行解码,否则抛出FeignException使用流程:(1)创建接口类(FeignApi),来统一规范需要调用的第三方接口@FeignClient(name =原创 2022-02-18 16:14:45 · 1465 阅读 · 0 评论 -
多线程学习
在 java 中实现多线程有四种方式,如下:1.继承 Thread 类2.实现 Runnable 接口3.使用 FutureTask4.使用 Executor 框架原创 2021-06-22 16:54:09 · 777 阅读 · 0 评论 -
JVM学习
1.内存结构图2.类加载过程(1).(2).(3).(4).解析:可以通过javap -v Math.class > Math.txt 反编译成字节码文件,看看执行流程,会展示引用的操作方式。(5).3.类加载器原创 2021-06-18 13:43:45 · 259 阅读 · 0 评论