随笔分类 - java
摘要:一、问题描述 最近优化公司需要对不同的业务系统的缓存工具提供一个标准化的解决方案。各个业务系统将缓存数据通过map结构进行存储,然后在缓存系统中将这些map获取出来,然后保存在redis数据库中。技术经理想到的最好解决方案是将map集合直接存储在redis的hash表中。但是要求对hash表中的每个
阅读全文
摘要:1、背景 有时候,我们需要一次性操作多个 Redis 命令,但是 这样的多个操作不具备原子性,而且 Redis 的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算。所以,一般在开发中,我们会利用 lua 脚本来实现 Redis 的事务。 2、lua 脚本 Redis 中使用 lua
阅读全文
摘要:一、简介 Redis中为什么引入Lua脚本?Redis是高性能的key-value内存数据库,在部分场景下,是对关系数据库的良好补充。Redis提供了非常丰富的指令集,官网上提供了200多个命令。但是某些特定领域,需要扩充若干指令原子性执行时,仅使用原生命令便无法完成。Redis 为这样的用户场景提
阅读全文
摘要:问题背景 双十一零点时,有一个服务A(后文该服务都用A来代替)的tp99由平常的50ms左右突然彪到60000ms,导致调用端积累了几十W的数据,同时,也影响到了同一个docker上的其他服务。那为什么会出现这种问题呢,且看下面排查过程。 问题分析 1、将一台docker上其他服务都进行下线,同时将
阅读全文
摘要:前言 在实际项目开发过程中,我们有时候需要让项目在启动时执行特定方法。如要实现这些功能: 提前加载相应的数据到缓存中;检查当前项目运行环境;检查程序授权信息,若未授权则不能使用后续功能;执行某个特定方法; 实现方式 那么实现提前加载的方式有哪些呢?接下来我为大家介绍七种实现方式,按照执行顺序进行介绍
阅读全文
摘要:rose手册计划 rose项目源代码地址:http://code.google.com/p/paoding-rose/ 目标:光大rose在国内java行业的使用,降低java入门。 人人网、糯米网释出的、开源的高效Java web开发框架。在小米米聊服务端再次被验证和使用。一个从零开始的创业公司,
阅读全文
摘要:参考: https://blog.csdn.net/YYBDESHIJIE/article/details/109261837 https://www.jianshu.com/p/ed88955fa1bc
阅读全文
摘要:转自:https://developer.aliyun.com/article/270260 套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接
阅读全文
摘要:转自:http://www.manongjc.com/detail/52-wrccbcsrfqkhzpg.html 参考: http://events.jianshu.io/p/7dc2d6577b10 https://www.jianshu.com/p/c584fb47bc69 https://w
阅读全文
摘要:现象描述 在使用 HttpClient 调用后台 resetful 服务时,“Connection reset” 是一个比较常见的问题,有同学跟我私信说被这个问题困扰很久了,今天就来分析下,希望能帮到大家。例如我们线上的网关日志就会抛该错误: 从日志中可以看到是 Socket 套接字在 read 数
阅读全文
摘要:Spring Boot默认支持Tomcat,Jetty,和Undertow作为底层容器。而Spring Boot默认使用Tomcat,一旦引入spring-boot-starter-web模块,就默认使用Tomcat容器。 <dependency> <groupId>org.springframew
阅读全文
摘要:一、前言 Tomcat 作为 Java Web 程序比较常用的 Servlet 容器实现,在 Web 开发中有比较重要的地位。 二、Tomcat使用的IO模式 Tomcat 有三种 IO 模式,BIO、NIO、APR。 在 Tomcat7 及以下 Linux 中默认启用的是 BIO 模式,Tomca
阅读全文
摘要:实现Serializable接口的目的是为类可持久化,比如在网络传输或本地存储,为系统的分布和异构部署提供先决条件。若没有序列化,现在我们所熟悉的远程调用,对象数据库都不可能存在, serialVersionUID适用于java序列化机制。简单来说,JAVA序列化的机制是通过判断类的serialVe
阅读全文
摘要:问题起源 在Postman调用接口中,忘记设置Origin,发现@CrossOrigin未生效(响应头没有cors的) 在filter中设置了Access-Control-Allow-Origin发现@CrossOrigin未生效(响应头没有cors的) 原理分析 先说原理:其实很简单,就是利用sp
阅读全文
摘要:本文是在使用过滤器添加动态header过程中遇到设置header无效,经过研究源码而产生。 因为特殊需求,自定义的header必须在经过Controller处理之后,才能确定,所以不能在请求处理之前设置,必须在请求处理之后。于是出现了这个坑。 问题分析 springboot版本:2.1.7 在spr
阅读全文
摘要:老版本: #server config #web_environment是否是web项目 spring.main.web_environment=true #是否加载springboot banner spring.main.show_banner=false 现版本: #server config
阅读全文
摘要:我们知道,静态变量是在类的实例化之前就进行了初始化(类的初始化阶段),所以静态变量是跟着类本身走的,跟具体的对象无关,所以我们获取变量就不需要传入对象,直接传入null即可: 1 public class User { 2 public static String name; 3 } 4 5 fie
阅读全文
摘要:转自:https://blog.csdn.net/qq_40124555/article/details/126629409 参考:https://blog.csdn.net/weixin_40776321/article/details/120170756 参考:https://blog.csdn
阅读全文
摘要:转自:https://blog.csdn.net/ancongxie6976/article/details/101326474 一、使用场景 1.因某些原因,我们可能将log4j中的配置变量化,进行动态获取 2.动态获取内容不存在时,我们希望能够赋上通用的值 二、语法 单变量: ${前缀:变量:-
阅读全文
摘要:转自:https://blog.csdn.net/xiaokanfuchen86/article/details/126695797 log4j2.xml 是不归 spring 管理的,所以也就没法读取到 application.yml 里面的配置了。 解决方式: 通过 spring 的 监听器(L
阅读全文

浙公网安备 33010602011771号