java
文章平均质量分 82
徐小冠
网名:耶马
一生放荡不羁-----爱自由
高级Java工程师、架构师、知识博主。拥有多年大型系统开发经验,目前在支付公司担任高级开发工程师擅长源码研究、解决方案制定、业务架构、技术架构。已完成多个支撑日百万访问量平台的系统架构,支撑平台稳定运行,同城多机房,异地多活,两地三中心,参与公司单元化改革
展开
-
线程池自查注意点
该记录首先将介绍线程池的基本概念,在介绍完之后再举例论证当前各项目中存在的线程池创建问题,用以自查。2、线程池的任务调度流程(1)如果当前工作线程数量小于核心线程数量,执行器总是优先创建一个任务线程,而不是从线程队列中获取一个空闲线程。(2)如果线程池中总的任务数量大于核心线程池数量,新接收的任务将被加入阻塞队列中,一直到阻塞队列已满。在核心线程池数量已经用完、阻塞队列没有满的场景下,线程池不会为新任务创建一个新线程。(3)当完成一个任务的执行时,执行器总是优先从阻塞队列中获取下一个任务,并开始执原创 2022-12-03 21:53:49 · 675 阅读 · 1 评论 -
Mybatis 调用空指针_java.lang.NullPointerException
我写了一个策略模式,实现类是通过new 出来的FollowOperationStrategyCalculatorContext实现了数据库的操作, @Autowired @Resource Mapper注解是不起作用的, 因为自己new出来的对象不是spring容器中的,无法使用注入,因此UserMapper对象当然为NULL啦。所以要注入到容器里面,方法有多种,自己看着处理哦。主要着急,大脑里面debug一下,可能出现的原因,经常复盘。写代码还是细腻一些,多思考 多看看源码,反向思考原因。原创 2022-10-12 21:19:39 · 2205 阅读 · 0 评论 -
查看cpu 命令,了解机器极限
大促流量的时候想看一下机器cpu咋样了,直接来一下 top好家伙,吓一跳,给你看看 正常情况下的top%CPU -- CPU 使用率:进程正在使用的 CPU 百分比。默认情况下,top将其显示为单个 CPU 的百分比。在多核系统上,您可以拥有大于 100% 的百分比。例如,如果 3 个内核的使用率为 60%, top则 CPU 使用率为 180%。 您可以通过在运行时点击来切换此行为,以显示正在使用的可用 CPU 的总体百分比。问题来了,我们有几个cpu呢,以前没有关注过Architecture: x86_原创 2022-06-24 15:16:12 · 799 阅读 · 0 评论 -
JVM 操作指令-解析字节码参考使用
推荐插件:jclasslib Bytecode Viewerjclasslib Bytecode Viewer - IntelliJ IDEs Plugin | Marketplacehttps://plugins.jetbrains.com/plugin/9248-jclasslib-bytecode-viewer一、栈和局部变量操作(1)将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类原创 2022-05-21 15:44:39 · 220 阅读 · 0 评论 -
分析类初始化阶段的死锁现象-问题解析
上代码![image.png](https://img-blog.csdnimg.cn/img_convert/f6ef8a951f08fd78d1a7693f98c0d1d2.png#clientId=u34e7b8d0-0f31-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u958be568&margin=[object Object]&name=image.png&originHei.原创 2022-01-15 21:27:41 · 1385 阅读 · 0 评论 -
Redis-Cluster查询不到key
Redis Cluster的查询不到Vlaue的原因文章目录Redis Cluster的查询不到Vlaue的原因redis 是什么什么是Cluster解决方案Jedis 介绍池化的连接查询不到数据大概会出现的原因是redis 是什么什么是Cluster背景: 公司的Redis使用的架构是Cluster的模式,如下图模式,也是为了可扩展,还有HA,之前的生产环境都是正常的,没有任何问题的,但是最近突然发现,部分KEY 查询不到Redis数据,进行了数据库查询,量级也不是很大的,但是有个部门的新老业原创 2021-06-06 00:55:48 · 1863 阅读 · 3 评论 -
洞察设计模式的底层逻辑 -读后感
原文地址 公众号:阿里技术笔记分享地址:文档:徐明冠- 洞察设计模式的底层逻辑 -读后感.note链接:http://note.youdao.com/noteshare?id=c5235d3fc8b42d3a1e61ae12326154f3&sub=95B9128ED9C240368285C556D65C710D读后感讲的是什么看透底层逻辑的本质(找到变化,封装变化),设计模式中的特点:(面条,过程,对象),哪些在变化着,封装变化(如何去封装).思考什么在变化着.变化的分类(线性原创 2021-04-25 16:53:52 · 934 阅读 · 0 评论 -
一文教你高效画出技术架构图-读后感
原文地址文章中内容:讲解画图的方法论,有哪些视图(4+1),推荐的画图方法(C4模型:主要针对软件架构师和开发人员),同时分享了"三画"他们公司数据工具的案例,同时文章尾部分享了一些画图工具(Keynote,Xmind,EdrawMax,Visio,OmniGraffle,Process On)学习到的地方:画图是为了和别人更好的讲解和交流,受众有没有准确的接受到想要传递的信息,有时候会被外面的条条框框被约束着,比如(虚线,实线)在不需要解释和的前提下可以直接看懂,对应的 管理.原创 2021-04-25 16:50:55 · 412 阅读 · 0 评论 -
个人代码 小册子
代码 小册子 优秀代码记录: 解决 ToString 的问题@ToString(exclude = { "mobileHCode", "electronicCode", "teleCode", "cityName", "provTelecode","proviceCode" })利用注解 @ToString(exclude = {"字段名称","字段名称"})注意细节 public QueryMyProductOfferResDTO getQueryTelecomMemb原创 2020-12-07 15:04:36 · 234 阅读 · 0 评论 -
hashmap 遍历操作 基于 JDK 1.8 一共11个版本
hashmap 遍历操作 基于 JDK 1.8 一共11个版本HashMap 的遍历操作 结合网上总结11种使用迭代器和Map.Entrylong i = 0;Iterator<Map.Entry<Integer, Integer>> it = map.entrySet().iterator();while (it.hasNext()) { Map.Entry<Integer, Integer> pair = it.next(); i原创 2020-12-07 15:01:25 · 666 阅读 · 0 评论 -
java 个人代码 小册子记录遇到的坑
java 个人代码 小册子记录遇到的坑 优秀代码记录:代码部分 解决 ToString 的问题@ToString(exclude = { "mobileHCode", "electronicCode", "teleCode", "cityName", "provTelecode","proviceCode" })利用注解 希望toString 中不展示的字段 @ToString(exclude = {"字段名称","字段名称"})注意细节 public QueryMyP原创 2020-12-03 14:14:27 · 262 阅读 · 0 评论 -
IDEA 个人私藏插件
IDEA 个人私藏插件文章目录IDEA 个人私藏插件使用方法插件列表清单1 Alibaba java Coding Guidelines操作方法2 **CodeGlance**3 AceJump4 Markdown support5 Maven Helper6 JRebel for IntelliJ (热部署) 在本地跑代码非常的方便的7 Mybatis plugin8 GsonFormat9 Material Theme UI10 **FindBugs**11 **GenerateAllSetter**原创 2020-10-20 17:54:41 · 7136 阅读 · 3 评论 -
九月第一周面试群总结:
九月第一周面试群总结:1京东一面自我介绍讲一下dubbo这个rpc框架的调用方式dubbo配合zookeeper怎么进行服务注册与发现springboot是怎么读取dubbo.xml文件的,启动spring项目的时候是怎么实例化dubbo里面的类的,分析具体细节与源码zookeeper和eureka注册中心的区别,cap定理,zookeeper选举过程平时怎么优化mysql的,mysql的索引结构,每个结点怎么存,mysql一张表最大能存多少数据。b+树的树深度怎么计算。叶子结点存了什么聚原创 2020-09-08 09:14:56 · 211 阅读 · 0 评论 -
Date 对象在http和dubbo中被转义
Date 对象在http和dubbo中被转义最近继上次 http接口改造为dubbo接口进行限流处理的后续工作,一共有9个接口需要进行改动,当时是全部改好了,也都验证没有问题的,昨天突然发现有个接口的在一个位置调用的没有数据展示出来,这就很奇怪了,其他位置也调用了,这里开启大家的聪明的小脑袋思考一下 问题会出现在哪里的思考:运营没有配置,或者大数据没有推荐,接口针对这个位置没有返回数据接口有数据,数据被改变了前端接收有问题接口改造有问题,需要定位问题点好了,生产有问题了,现在来排原创 2020-07-04 12:32:00 · 624 阅读 · 0 评论 -
事故复原背景
文章目录事故复原背景:调查接口不支持进行限流:数据库查询频率过高机器的CPU资源代码配置代码设计问题解决方案总结总结今天看了一下日期已经到20年的6月份,距离上次的生产事故已经过去了半个月了,各种复盘,总结,解决方案和代码优化也已经上生产了,在进行逐步验证中事故复原背景:组织大型促销活动,我们的APP 是一个支付软件,活动的优惠力度比较大,5折立减 没有门槛最高优惠20元活动上午8点开始区分 运营商用户(电信用户奖池最多, 移动/联通 用户多但是奖品池少)活动是5天,前4天是抢红包活动,最后原创 2020-06-13 17:12:36 · 380 阅读 · 0 评论 -
lombok 高效快速使用 --从入门到熟练使用 以及Lombok找不到符号问题
什么是lombok:如何使用:需要下载 jra 包 下载的maven 地址 pom包 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId>...原创 2020-06-04 16:30:07 · 375 阅读 · 0 评论 -
记录一次生产Redis 告警
记录一次生产Redis 告警当社会工具人 开始享受完成996的福报,晚上10.30到家开始享受这一天的仅有的自己私人生活,突然手机邮件. 群里被疯狂的@我 把我搞慌了,最近好像没有发版啊,一直挺稳定的啊,运维组开始刷锅直接扔图出来 看下方:–>从上午的6点开始正常的增长一直在稳定的增长 直到晚上9点才基本稳定下来, TMD 我都到家了,才告诉我 哎!没有办法 大佬都在群里,应用负责人是我,还好我带了电脑,这个还是比较难排查的,这个不是代码的bug先想想 最近做了什么, …哦,这个应用功原创 2020-05-24 16:01:38 · 233 阅读 · 2 评论 -
LockBock.xml 配置信息 仅供参考
<?xml version="1.0" encoding="UTF-8"?><configuration> <!-- 控制台输出配置 --> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="utf-8"> <Pattern>[%date{yyyy-MM.原创 2020-05-14 11:00:19 · 288 阅读 · 0 评论 -
idea 中使用 Git
1)在idea中创建一个工程,例如创建一个java工程,名称为idea-git-test,如下图所示:创建本地仓库在菜单中选择“vcs”→Import into Version Control→Create Git Repository...选择工程所在的上级目录。本例中应该选择idea-projects目录,然后点击“OK”按钮,在工程的上级目录创建本地仓库,那么id...原创 2020-05-07 22:54:55 · 225 阅读 · 0 评论 -
Docker安装 下载镜像 部署容器 备份 创建私服
Docker学习目标:掌握Docker基础知识,能够理解Docker镜像与容器的概念完成Docker安装与启动掌握Docker镜像与容器相关命令掌握Tomcat Nginx 等软件的常用应用的安装掌握docker迁移与备份相关命令能够运用Dockerfile编写创建容器的脚本能够搭建与使用docker私有仓库1 Docker简介1.1 什么是...原创 2020-04-25 22:59:22 · 524 阅读 · 0 评论 -
浅拷贝和深拷贝的简单通俗的讲解
浅拷贝:同一个文件夹的两个快捷方式,虽然是两个不同的快捷方式,但是指向的文件夹是同一个,不管是通过哪个快捷方式进入,对该文件夹下的文件修改,相互影响。深拷贝:我们复制某个文件夹(含里面的内容)在另外一个目录进行粘贴,就可得到具有相同内容的新目录,对新文件夹修改不影响原始文件夹...原创 2020-04-14 16:39:36 · 501 阅读 · 0 评论 -
10 x 工作法
10 x 工作法接到需要和开始工作的时候 以终为始的思想, 前面多思考,后面做的时候更加的轻松,自己的想法和产品与 项目经理的最终点是否一致, 为什么会出现不一致,因为我们的上下文的定义不一样,所有信息的差距很大,所以需要去沟通. DOD 的模式开发,需要的是列出开发的清单, 需求的清单, 功能的清单 编写代码的风格的检查 自己的单元测试 自测通过 日志是否打印完整 ...原创 2020-04-04 22:17:11 · 263 阅读 · 0 评论 -
给大忙人看的码农翻身记
码农翻身记个人读后感文章目录码农翻身记个人读后感本书介绍大纲启发分享个人的能力欠缺的地方书中比较棒的建议本书介绍《码农翻身》用故事的方式讲解了软件编程的若干重要领域,侧重于基础性、原理性的知识。 非常适合刚入门大学生或者 计算机领域入行 一两年左右的新人, 也适合从传统开发到微服务开发的 研发人员。其中有大量的大白话来讲解技术,这样可以通俗易懂的了解 计算机的每个组件的作用和我们平常中...原创 2020-03-09 12:38:53 · 1888 阅读 · 1 评论 -
SQL分页查询
SQL分页查询:背景 在公司的系统中有一个平台是 做配置管理的 就是所谓的 CRUD 的平台,但是点击后进去到页面第一次看到的是一次查询的页面 (点击页面自动的触发查询的功能) 后面就可以你的CRUD的操作是给运营的同事来操作的,但是一般的是我们数据量比较的少的业务是之间查询出来所有的数据,直接返回给前端的让他自己做分页的,但是有一些数据量达到上万级别的时候,不能让他们乱搞了,...原创 2020-03-08 13:20:12 · 33001 阅读 · 3 评论