技术
东方球败
多年的技术沉淀、多年的行业经验积累,期待与大家一起交流技术的心得和技能,让技术拉近你我的距离,尽情的享受技术的快乐和魔力吧!
展开
-
ReentrantReadWriteLock深度介绍
一、ReentrantReadWriteLock是什么,他的特性是什么?锁:可重入的读写锁 可重入:类似synchronized,如果不支持读锁重入,会死锁 读写分离:两把锁隔离,提高锁效率,读同步,读写互斥,写写互斥,读读不互斥 支持 fair unfair 支持锁降级,不支持升级为支持降级,不支持升级?请读者思考?二、ReentrantReadWriteLock类继承关系,与...原创 2020-04-19 23:22:42 · 227 阅读 · 0 评论 -
安装K8S时的Linux服务器免密登录操作
由于分布式集群的规模很大,各种面向集群的版本发布和软件包安装,都需要登录服务器,个人之前利用自动化ansible工具安装K8S集群,涉及各种大量的软件包安装和文件配置,免密登录对提高操作部署的效率非常有必要。我当时安装的是三台服务器,分别如下:linux服务器A(192.168.43.130, user:root)linux服务器B(192.168.43.131, user:roo...原创 2020-03-25 22:35:51 · 1027 阅读 · 0 评论 -
JVM触发GC的条件和时机
触发MinorGC(Young GC) 虚拟机在进行minorGC之前会判断老年代最大的可用连续空间是否大于新生代的所有对象总空间 1、如果大于的话,直接执行minorGC 2、如果小于,判断是否开启HandlerPromotionFailure,没有开启直接FullGC 3、如果开启了HanlerPromotionFailure, JVM会判断老年代的最大...原创 2020-02-19 23:27:28 · 2139 阅读 · 0 评论 -
区块链学习简介
简介 互联网上的贸易,几乎都需要借助金融机构作为可资信赖的第三方来处理电子支付信息。虽然这类系统在绝大多数情况下都运作良好,但是这类系统仍然内生性地受制于“基于信用的模式”(trust based model)的弱点。我们无法实现完全不可逆的交易,因为金融机构总是不可避免地会出面协调争端。而金融中介的存在,也会增加交易的成本,并且限制了实际可行的最小交易规模,也限制了日常的小额支付交...原创 2020-02-17 22:50:45 · 306 阅读 · 0 评论 -
技术之路你并不孤单,我与你同行
Java提供多线程机制,在并发时以多个线程来处理每个请求的方式完成请求和响应。然而,广大程序员在实际编程时会遇到各种各样的问题和疑惑,在面对这些疑难杂症时,有的同学通过百度或谷歌迅速精准的搜索到解决方法,然后大功告成,在紧张的工作节奏中完成了领导交代的任务,待下次又出现这类问题时,再次百度或谷歌,如果哪天断网你还无法解决问题了!?我想说的是,一定要真正的理解问题背后的原因,比如线程死锁,到...原创 2020-02-13 14:46:29 · 147 阅读 · 0 评论 -
java过滤html标签获取纯文本信息
package com.lyt.base.util; import java.util.regex.Pattern; public class FilterHtmlUtil { public static String Html2Text(String inputString){ String htmlStr = inputString; //含html标签的字符串...转载 2019-07-15 09:26:00 · 166 阅读 · 1 评论 -
【IM产品开发系列之Redis发布订阅】SpringBoot2.0中使用redis的发布订阅模式
最近项目组要做个IM即时通讯工具,用于渠道营销人员使用。拿到需求后,一时茫然不知如何实现,之前也没做过IM的经验,于是花了2天研究业界,设计个方案,拉上项目组(项目经理、技术经理和几个核心研发人员)评审通过,开始组建团队开工干活。今天主要介绍下用户上线后触发聊天列表的推送机制。 聊天列表主要是:发送者、未读消息条数、最近一条消息内容、最近一条消息发送时间、消息全局...原创 2019-06-04 21:43:15 · 815 阅读 · 0 评论 -
【技术小常识之排查错误】org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected
今天做了个查询数据库功能,用的Spring的JdbcTemplate的查询方法queryForObject,结果业务查询时出现如下错误:之前一直未出现类似问题,然后深入源码DataAccessUtils.java,据此分析应该是查询结果集为空,导致抛出异常EmptyResultDataAccessException,防止用户未对数据做判断,提高程序健壮性;如果结果集大于1也会报错...原创 2019-04-22 21:50:14 · 5241 阅读 · 1 评论 -
微服务注册和发现组件Eureka
在大型系统架构中,会拆分多个子系统。以大型电商系统为例,一般拆分为以下几个核心模块:会员中心、商品中心、订单中心、库存中心、支付系统、积分系统等。这些系统实现的功能包括:调用外部接口、提供接口给外部调用、自身的业务逻辑。如何管理这些大量的接口服务,这些服务元信息如何共享给所有的调用者,这时需要一个中心化的服务元信息管理平台。而作为SpringCloud生态圈中的核心组件,注册中心Eurek...原创 2019-03-07 22:45:16 · 423 阅读 · 1 评论