段嗣国_社区达人页

个人头像照片
段嗣国
已加入开发者社区1805
勋章 更多
个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
乘风问答官
乘风问答官
个人头像照片
技术博主
技术博主
个人头像照片
开发者认证勋章
开发者认证勋章
个人头像照片
江湖侠士
江湖侠士
成就
已发布62篇文章
10条评论
已回答33个问题
3条评论
已发布0个视频
github地址
我关注的人 更多
技术能力
兴趣领域
  • Java
  • 前端开发
  • Linux
擅长领域
  • Java
    高级

    能力说明:

    精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。

  • 微服务
    中级

    能力说明:

    熟悉微服务常用开放框架,理解Spring、Spring Boot,以及Spring Cloud的概念和不同,对Spring Cloud Alibaba有较为全面的认知。对Istio具备基础运维能力,掌握基本组件的知识。

  • 数据库
    高级

    能力说明:

    掌握Java开发环境下所需的MySQL高级技巧,包括索引策略、innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握日常SQL诊断和性能分析工具和策略。可对云数据库进行备份恢复与监控、安全策略的设置,并可对云数据库进行性能优化。掌握主要NOSQL数据库的应用技术。

互联网一线农民工。
暂无精选文章
暂无更多信息

2022年11月

  • 11.29 23:45:47
    发表了文章 2022-11-29 23:45:47

    Arthas之WatchSql

    在使用Arthas排查线上问题的时候,有些时候我们需要查看某些Sql的生成,如果线上没有完备的APM的话,那么如何临时查看呢,前几篇文章我们分析了Mybatis的插件机制,如果你还记得的话,我们可以通过watch这个插件进行查看。
  • 11.28 01:52:19
    发表了文章 2022-11-28 01:52:19

    Arthas之Logger动态更新

    日常开发中,我们经常会对某些业务代码进行日志埋点,但是在查找某些故障的时候,如果想不停机的动态更改logger的日志级别,有没有简单的一种方式?比如我只想更改我指定类的日志级别。
  • 11.28 01:50:44
    发表了文章 2022-11-28 01:50:44

    The telnet port 3658 is used by process

    是否在本地使用Arthas的时候,遇到The telnet port 3658 is used by process 34725 instead of target process 44848, you will connect to an unexpected process的异常,其实解决方法很简单。
  • 11.28 01:49:39
    发表了文章 2022-11-28 01:49:39

    Install Arthas

    Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
  • 11.27 00:29:04
    发表了文章 2022-11-27 00:29:04

    正则表达式

    正则表达式(Regular Expression),通常被用来检索、替换那些符合某个规则的文本数据。在众多计算机语言中基本都支持正则表达式,如PHP、Java、Python等。在Java中可以通过处理字符串的方式达到检索,替换文本字符串的目的,正则表达式可以在书写代码的时候可以更加简洁,如果你熟悉正则表达式,通常几行代码就可以搞定相当复杂的字符串处理方式。
  • 11.26 23:55:04
    发表了文章 2022-11-26 23:55:04

    浅析缓存读写策略

    随着我们业务量的增长,系统面对的压力也陡然上升,大量的读写请求到数据库往往会伴随着各式各样的问题,可能仅仅是一条慢SQL,就有可能拖垮整个系统服务。通常这个时候,我们除了做数据库的读写分离架构,还会对数据库进行分库分表。但是可能有些一成不变或者极少时间触发变更的数据,像类目、类目属性等,大量的针对类目维度的读数据库也会给数据库带来各种压力,通常会以NoSql数据库与关系型数据库互相搭配的方式,以用来更好的服务与我们的业务发展。
  • 11.24 23:46:14
    发表了文章 2022-11-24 23:46:14

    阻塞/阻塞/同步/异步

    咱就说有没有一种可能,同步、异步、阻塞、非阻塞,这几个关键词拆开看都感觉挺明白的。但是同步阻塞、同步非阻塞、异步阻塞、异步非阻塞,这几个关键词组装起来,看起来就有点那么晦涩了。这个在日常八股中经常出现字眼,其背后对应的到底是个什么样的逻辑?我们来一起揭开它那不那么神秘的面纱。/手动狗头。
  • 11.24 23:39:21
  • 11.24 23:33:30
    回答了问题 2022-11-24 23:33:30
  • 11.23 10:02:54
    回答了问题 2022-11-23 10:02:54
  • 11.23 09:58:40
  • 11.23 09:56:23
    回答了问题 2022-11-23 09:56:23
  • 11.23 00:27:35
    回答了问题 2022-11-23 00:27:35
  • 11.23 00:20:40
    发表了文章 2022-11-23 00:20:40

    还在写if?试试枚举策略

    日常开发中或者代码优化过程中,一定会遇到不少的if语句,如果判断逻辑多了,会导致代码极其冗余,阅读性也会大打折扣,"消灭"if语句的方式有很多,也分不同的场景,本文将使用枚举策略的方式优化繁琐的if语句,你可以参考下文。
  • 11.22 14:36:18
  • 11.22 14:34:55
    回答了问题 2022-11-22 14:34:55
  • 11.22 14:27:31
    回答了问题 2022-11-22 14:27:31

    分布式数据库问题

    踩0 评论0
  • 11.22 14:16:33
    回答了问题 2022-11-22 14:16:33
  • 11.22 14:09:17
  • 11.22 13:55:54
  • 11.20 23:39:49
    发表了文章 2022-11-20 23:39:49

    浅析什么是顺序消息?

    在日常开发中,或多或少的都遇到过顺序消息的使用场景,那么为什么要使用顺序消息呢?如果不使用顺序消息会有什么问题吗?市面上的消息中间件又是如何实现的呢?
  • 11.17 01:50:46
    回答了问题 2022-11-17 01:50:46

    linux系统下redis崩溃

    踩0 评论0
  • 11.17 01:45:47
    回答了问题 2022-11-17 01:45:47
  • 11.17 01:44:29
    回答了问题 2022-11-17 01:44:29

    PolarDB 是完全开源吗?

    踩0 评论0
  • 11.17 00:37:31
    发表了文章 2022-11-17 00:37:31

    Tomcat是如何打破"双亲委派"机制的?

    上文我们详细了解了类加载以及什么是双亲委派机制,相信很多童鞋都了解Tomcat打破了双亲委派机制,本文将对Tomcat为什么要打破双亲委派机制,以及Tomcat是如何打破双亲委派机制的,进行完整性的复盘与解析。
  • 11.13 17:47:16
    发表了文章 2022-11-13 17:47:16

    深入理解SpringFactories

    我们在SpringBoot框架中,经常会看到spring.factories文件,里面写了自动配置相关的类名。但是往往我们在项目中使用配置类都是使用@Configuration注解,那么为什么还需要spring.factories文件?它的作用又是什么呢?
  • 11.13 17:43:15
    发表了文章 2022-11-13 17:43:15

    MAT(Memory Analyer Tool)入门拾遗

    MAT是基于Eclipse的内存分析工具,MAT(Memory Analyer Tool),它是一个快速、功能丰富的Java Heap的分析工具,它可以帮助我们查找内存泄漏和排查问题,而且还有丰富的报表统计等等。我们可以通过插件的形式运行还可以单独下载,在前文中我们介绍了如何安装MAT工具,详情可以翻阅查看。
  • 11.13 17:42:06
    发表了文章 2022-11-13 17:42:06

    深入理解ClassLoadingLock

    上回书说道,我们在java.lang.ClassLoader中的loadClass方法中看到有类加载相关的并发控制,那么它到底是为了解决什么样的问题,以及它是如何使用的呢?
  • 11.13 17:41:02
    发表了文章 2022-11-13 17:41:02

    浅析类加载缓存机制

    从上文我们分析了类加载器的过程与定义,我们从中得知,在JVM类加载器中有三大特性,其中缓存机制有效的保证了在同一个类加载器实例下,相同全名的类只加载一次,即loadClass方法不会被重复调用。我们这个小节就来看看它是如何利用缓存机制的已经它的流程是如何的。
  • 11.13 17:39:35
    发表了文章 2022-11-13 17:39:35

    双亲委派机制是什么?

    如果跟同事谈“双亲委派”,难免显得很八股了,但是这个“双亲委派”却是JVM在类加载环节必不可少的一个操作,充分的理解它,能够使我们更加良好的理解JVM在加载类的时候背后细节。不仅如此,在学习了解一些其他的技术,例如:SPI、OSGI等等,也能相辅相成,融会贯通,可谓“两仪生四象,四象生八卦”
  • 11.13 17:36:17
    发表了文章 2022-11-13 17:36:17

    浅析@SneakyThrows

    在日常的开发中,相信你一定使用过Lombok,它是一款开源的可用于Java平台的代码生成库。我们在定义JavaBean的时候,会使用IDE自动生成构造方法、getter、setter、equals、hashCode、toString等方法,一旦类的属性有修改就要重新生成,通过使用Lambok的简单注解来精简代码就能达到消除冗长代码的目的。

2022年10月

  • 10.18 09:49:43
    发表了文章 2022-10-18 09:49:43

    深入理解FutureTask

    我们在日常的多线程编程中,为了充分的利用现在计算机多核的CPU资源,通常是需要开启多个线程来执行相对应的异步任务。在Java中,如果想新建一个线程,就必须要实现Runnable接口或者继承Thread。但是无论这两种方式如何实现,我们都无法获取任务执行的返回结果,那么有没有一种方式是可以获取异步线程返回的结果呢?
  • 10.18 09:40:49
    发表了文章 2022-10-18 09:40:49

    浅析wait与synchronized

    在Java语言中,Object作为顶级的父类中有一个wait()方法,我们都知道wait()跟notify()作为Java中的线程通信机制,但是你有没有想过:为什么wait方法是在Object中?它为什么不是在Thread中?
  • 10.11 23:23:22
    发表了文章 2022-10-11 23:23:22

    源码浅析SpringMVC请求的流转过程

    Spring MVC框架使用了其”模型-视图-控制器”( Model-View-Controller )架构方式,用于开发灵活且松散耦合的 Web 应用程序。我们都使用过SpringMVC来处理信息,并渲染视图到Browser。但需要注意的是,在现在的架构中,大都采用了前后端分离的情况,而我们在使用SpringMVC的时候,只需要关注M(Model),C(Controller)这两个部分,而视图渲染的部分则交给了前端。
  • 10.11 23:17:03
    发表了文章 2022-10-11 23:17:03

    如何管理属于自己的图床?

    作为开发者的你,平时肯定会有很多自己的笔记,记录着许多工作问题、学习记录等等。近年来有很多支持在线编辑的平台,例如wolai、语雀等等,它们或多或少的都支持在线的markdown的编辑,也支持导入导出等丰富功能。但是对笔者来说,这些平台虽然功能繁多,但因个人习惯不同,笔者还是习惯了Typora的简约的风格,也便于持久化存放、不会因为网络等问题访问不了笔记等原因。在实际使用的过程中,会遇到在笔记中图片上传的问题,在发布到其他平台的时候由于都是本地图片,还需要上传一次,这个时候图床就派上用场了。
  • 10.10 15:42:27
    发表了文章 2022-10-10 15:42:27

    如何优雅的关闭线程池?

    使用自创建的线程跟使用线程池有啥区别?提到线程池是不是脑海中闪现了创建线程池的那几个核心参数、工作流程、线程池的复用、拒绝机制、缓冲机制等,这些理论知识点想必也牢记许久了。虽然线程池支持在虚拟机进程接受到退出命令后可以进行shutdown。那么shutdown跟线程中断又有什么区别?在运行中的线程能否直接kill掉?我们能否监听关闭事件进行补偿?
  • 10.10 00:51:42
    发表了文章 2022-10-10 00:51:42

    MacM1安装MAT全流程安装指南

    MAT作为开发者分析堆栈快照信息的常用工具,本文介绍了在MBP M1中安装指南。
  • 10.10 00:47:09
    发表了文章 2022-10-10 00:47:09

    浅析Mybatis核心组件

    Mybaits作为国内大流行的“伪”ORM框架,它也是不少大厂的“御用框架”,可想而知其地位举足轻重。究其原因,国内很多互联网公司早期大部分都是基于面向数据库(表)编程,而java对象只是作为数据的载体,数据模型的CRUD都设计在一张表上,而业务逻辑就是不同表的CRUD集合。所以开发者需要它做的就是将SQL自动封装映射成java对象,没有其他花里胡哨的功能,这也是它流行原因之一。
  • 10.10 00:44:57
    发表了文章 2022-10-10 00:44:57

    深入浅出Mybatis拦截器

    我们平时所谈的拦截器与过滤器有什么区别?我们在使用Mybatis时候,如果想动态的改写sql如何实现?倘若在多租户的系统中,如何依据当前的线程上下文中的请求租户信息,动态的改写sq设置租户信息?又或者如何增加sql的执行耗时或者信息摘要呢?

2022年09月

  • 09.04 22:32:25
    发表了文章 2022-09-04 22:32:25
  • 09.04 22:28:02
    发表了文章 2022-09-04 22:28:02

    Git多环境配置

    你是不是曾遇到过这样一个问题,公司仓库往往为了满足公司git规范,往往需要全局配置用户名和邮箱........

2022年08月

  • 发表了文章 2023-11-20

    如何让AppleWatch自动锁定Mac?

  • 发表了文章 2023-11-20

    IntelliJ IDEA For Mac "not available for the Java logical font 'Serif' "

  • 发表了文章 2022-12-20

    桥接模式(Bridge Pattern)

  • 发表了文章 2022-12-20

    适配器模式(Adapter Pattern)

  • 发表了文章 2022-12-20

    原型模式(Prototype Design Pattern)

  • 发表了文章 2022-12-20

    建造者模式(Builder Pattern)

  • 发表了文章 2022-12-17

    工厂模式(Factory Pattern)(三)

  • 发表了文章 2022-12-17

    工厂模式(Factory Pattern)(二)

  • 发表了文章 2022-12-17

    工厂模式(Factory Pattern)(一)

  • 发表了文章 2022-12-16

    单例模式(Singleton Pattern)(三)

  • 发表了文章 2022-12-16

    单例模式(Singleton Pattern)(二)

  • 发表了文章 2022-12-16

    单例模式(Singleton Pattern)(一)

  • 发表了文章 2022-12-16

    常用设计模式的分类

  • 发表了文章 2022-12-13

    Java反射(Class)(一)

  • 发表了文章 2022-12-13

    Java反射(Constructor)(二)

  • 发表了文章 2022-12-11

    Java反射(Method)(三)

  • 发表了文章 2022-12-11

    Java反射(Field)(四)

  • 发表了文章 2022-12-10

    Java反射(扩展)(五)

  • 发表了文章 2022-12-10

    Simple Jsonpath Support

  • 发表了文章 2022-12-10

    Dubbo Generic Support

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2023-01-31

    2023,社区讨论聊什么?话题由你定!

    那就不得不说Web3.0了。/:手动狗头

    踩0 评论0
  • 回答了问题 2022-12-13

    Seata中有没有办法不写死namespace,而是从nacos中自动去获取呀?

    Seata支持从Nacos中自动获取Namespace。Seata的配置文件中有一个参数叫做nacos-config-service,可以配置Nacos的地址,然后Seata会从Nacos中自动获取Namespace。

    踩0 评论0
  • 回答了问题 2022-12-13

    请问DMS安全规则没有走指定的审批流而是走默认的ower是咋回事?

    可能是因为您在创建安全规则时没有正确配置审批流,或者您的审批流已经失效了。建议您重新配置审批流,或者重新创建一个新的安全规则。

    踩0 评论0
  • 回答了问题 2022-12-13

    云效中用git进行部署的时候,怎么兼容更新和回滚操作啊?

    首先,你需要在云效中创建一个Git仓库,并将你的代码推送到该仓库中。 然后,你可以在云效中创建一个部署任务,并设置部署的触发条件,比如每次代码更新时自动部署。 其次,在部署任务中,你可以设置回滚操作,当出现问题时,可以快速回滚到之前的版本。 同时,你还可以在部署任务中设置版本控制,可以根据不同的版本进行部署,方便快速更新和回滚。

    踩0 评论0
  • 回答了问题 2022-12-13

    OCR中如何查看API的调用情况,每天调用多少次呢?

    这个在控制台都有入口的,

    踩0 评论0
  • 回答了问题 2022-12-13

    Seata中设置了么还是用jackson做序列化呢?

    Seata中设置了client.undo.logSerialization=kryo,是为了提高undo log的序列化效率,Kryo比Jackson序列化效率更高。但是,Seata还是使用Jackson来序列化其他的对象,因为Jackson支持更多的数据类型,而Kryo只支持基本的数据类型。

    踩0 评论0
  • 回答了问题 2022-12-13

    请教一下sink Kafka的时候,会按主键分区吗?

    是的,Kafka会按照主键进行分区。Kafka使用一种叫做“分区密钥”的概念来确定消息将被发送到哪个分区。这个分区密钥可以是任何值,但通常是消息的主键。

    踩0 评论0
  • 回答了问题 2022-12-13

    使用pts做压测,每次请求的header里面带的token值不一样,这种怎么配置呢?

    可以使用pts脚本功能,在脚本中定义一个函数,用来生成每次请求的token值,然后在pts的配置文件中调用该函数,将生成的token值作为header参数传入。

    踩0 评论0
  • 回答了问题 2022-12-11

    请问nginx前端应用能接入arms吗?

    是的,您可以使用 NGINX 来作为您的应用程序的前端,并将其集成到阿里云的应用程序运行和管理服务(Alibaba Cloud Application Real-Time Monitoring Service,简称 ARMS)中。NGINX 是一种常用的 Web 服务器和反向代理服务器,可以帮助您提高网站的性能和可扩展性。通过使用 ARMS,您可以监控您的应用程序的性能和运行状况,以便更好地掌控您的业务。

    踩0 评论0
  • 回答了问题 2022-12-11

    MQTT 请问下 初次使用,直接输入网址点击发送就行了吗?

    通常情况下,您需要输入MQTT服务器的地址和端口号,然后使用客户端软件连接到该服务器。在连接成功之后,您就可以通过客户端软件向服务器发送消息了。不过,如果您是初次使用MQTT协议,建议您先了解MQTT协议的基本原理和使用方法,以便更好地使用该协议。

    踩0 评论0
  • 回答了问题 2022-12-11

    Elasticsearch中阿里云的ES可以 替代 solr 的 服务工具么?

    是的,阿里云的 Elasticsearch 服务可以替代 Apache Solr。Elasticsearch 是一个开源的搜索引擎,它与 Solr 类似,都可用于全文搜索、结构化搜索以及分析。不同之处在于 Elasticsearch 基于 Lucene 并扩展了它的功能,提供了一系列高级特性,包括分布式架构、实时搜索、索引自动扩展等。因此,Elasticsearch 在性能、可扩展性和易用性方面都优于 Solr。阿里云的 Elasticsearch 服务可以为您提供稳定、可靠的 Elasticsearch 云服务,并且可以通过控制台进行管理和监控。

    踩0 评论0
  • 回答了问题 2022-12-11

    DNS解析不同步的问题

    如果两个DNS同时解析同一个外部域名,但解析出来的IP地址不同,那么可能是因为DNS缓存导致的。

    踩0 评论1
  • 回答了问题 2022-12-11

    RDS MySQL默认的慢查询参数时间是什么?

    RDS MySQL 的默认慢查询时间是 10 秒。你可以通过修改 long_query_time 参数来更改这个阈值。例如,如果你想将阈值设置为 1 秒,你可以使用以下命令来修改该参数:

    SET GLOBAL long_query_time = 1;
    

    请注意,这个阈值只对新会话生效,对于已经存在的会话,它不会更改。你需要重新连接数据库才能使用新的阈值。

    此外,还有一个名为 slow_query_log 的参数,它可以用来启用或禁用慢查询日志。默认情况下,慢查询日志是禁用的。你可以使用以下命令来启用它:

    SET GLOBAL slow_query_log = 'ON';
    

    这样,MySQL 就会将所有超过阈值的查询记录到慢查询日志中,你可以通过查看这个日志来找出可能的性能瓶颈。

    踩0 评论0
  • 回答了问题 2022-12-11

    PolarDB MySQL动态脱敏是什么?

    可以在不重新部署应用程序的情况下,在MySQL数据库中的敏感数据进行动态脱敏。这样可以保证数据的安全性,同时又不影响应用程序的正常使用。

    踩0 评论0
  • 回答了问题 2022-11-30

    请问我这边回滚成功了,undolog表里没有日志,是咋回事呀?

    不能吧,不会是事务提交了导致undolog释放了吧,如果没提交,事务开始执行前undolog就开始写入了,要不查询下重做日志?

    踩0 评论0
  • 回答了问题 2022-11-30

    nacos集群中内存limit设置多少合适呀?

    这个怎么说呢,Nacos在standalone模式下默认是512的,其他我记得好像是2G,这个确实夸张了,感觉还是根据自己的业务量啥的,根据情况适当的进行调整吧。。

    踩0 评论0
  • 回答了问题 2022-11-30

    Elasticsearch中深度分页一般是用什么做的呀?

    1、from/size:性能最低,但是实现简单灵活性比较好;但是存在广为诟病的深度分页问题,如果数量比较小或者能容忍深度分页问题,可以用用。 2、scroll:性能一般,虽然解决了深度分页问题,但是无法反应数据的实时性;但就是维护成本高,需要维护一个scroll_id,这玩意适合做大数据量的查询导出。 3、searchAfter:性能最高,不存在深度分页问题能够反映数据的实时变更;但是实现复杂,需要有一个全局唯一的字段,连续分页的实现会比较复杂,因为每一次查询都需要上次查询的结果,不适用于大幅度跳页查询。 总结:我们就是核心业务使用的searchAfter,scroll好像官方不推荐了吧。from/size在后门接口或者边缘业务中可能会使用,但场景不多。

    踩0 评论0
  • 回答了问题 2022-11-30

    家用服务器哪个好用?

    Mac?这玩意没法无损升级哎。台式的起码你升级起来比较轻松。还是搞个ECS吧

    踩0 评论0
  • 回答了问题 2022-11-24

    我第一次想直接读binlog 日志。后面出问题了,想接着上次的开始读。怎么搞呢?

    binlog有start-position的参数的,从指定的起始位置开始读就行了

    踩0 评论0
  • 回答了问题 2022-11-24

    mysql -> mysql时候发生的,有知道什么情况的吗?

    检查下代码,是不是sqlSession没有关闭直接就sumbit了。

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息