摘要:
MySql数据库优化维度 首先,正常来说一个业务对应的数据,有很多复杂的数据库操作。不管是刚开始的业务,还是越发复杂的业务,都需要考虑数据库的设计、性能,并如何去调优。 数据库设计步骤 选择合适数据库 根据业务需求动向,分析业务数据的处理行为,分成两大类:联机事务处理OLTP(on-line tra 阅读全文
摘要:
Java技术细节【String intern 深入理解分析】 其实String intern在平时用的真的很少,也用不好,一般都是建议少用,最好不用。 首先这个会让人误解的地方是因为在不同的JDK版本Intern的细节有所不一样导致分歧。 需要明白字符串是放在字符串常量池中,还要知道不同版本的J 阅读全文
摘要:
你真的了解for循环遍历么 今天讲的for循环主要是针对Java语言的JDK1.8,在编程过程中或多或少的遇到过for循环遍历,比如:List、Set、Map等等集合容器,有时候碰到需要对集合容器数据进行相应的增删改操作的时候,都会纠结一番到底会不会出现修改问题呢,如何遍历会更好呢。 等看完这篇你会 阅读全文
摘要:
《Proxy系列专题》:JDK动态代理源码解析 其实说简单也简单,说复杂也很复杂,认真带着问题去看会不错的体会。 JDK动态代理的原理总结一句话:利用接口的的意义,是表达了此类型的功能大全,再利用字节码拼装技术,复制一份表皮,确定想要调用那个方法,在代理类中转反射调用目标对象的方法。 原理分析 首先 阅读全文
摘要:
Redis序列化问题 主要会出现一下问题: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to dese 阅读全文
摘要:
序列化相关认识 序列化的意义 将内存中的对象,以字节码形式存储起来,等待用时反序列化回来,主要是IO操作,可以有更长的生命周期和跨项目性质的作用。 序列化和反序列化 序列化:将对象的信息转化为字节码的形式存储或传输的过程,称为序列化。 public class Person{ private S 阅读全文
摘要:
《Proxy系列专题》:代理模式(静态、JDK、CGLib)使用 现象:在如今互联网时代,项目的复杂度不断的提升,有些场景下需要一定的设计优化来支撑业务的扩展,如为了不改动原始类,但需要对其做相应事件扩展,例如:日志,事物,功能增强等。 思想:想办法用一个B类代表另一个A类的功能,不改变其A类本质。 阅读全文
摘要:
接口相关数据日志打印 为什么要写这个呢,主要是随着项目的推动,数据量的提升,各种类型问题逐渐暴露出来,有时候在接口信息排查问题的日志数据不足或者凌乱,导致排查难度升高,所以一个比较完整可靠的接口日志是非常有必要的。 还有这个日志的打印没有什么明确的规范,完全是根据自身项目的需求所变化成长,衍生扩展有 阅读全文
摘要:
深入理解Logger日志——日志等级动态调整 不用多说在之前的文章也提及过,项目中日志的重要性,但有时候日志又会产生另一种伤害或者排除问题信息不全,如: 某些业务突然暴涨导致日志爆满压爆服务内存,会直接造成系统性能下降,极端情况下,甚至导致系统宕机。 在一些线上问题的排查中,因为缺少很多日志信息,d 阅读全文
摘要:
深入理解Logger日志——Slf4j框架绑定原理 说到Logger日志的动态绑定,主要归功与Slf4j,在之前的文章也说过,Slf4j是类似于Apache Common-Logging,英文为Simple Logging Facade,是一个简单的日志门面适配器,所有的日志代码都可以用slf4j方 阅读全文