必须掌握的30种SQL语句优化 编程开发

必须掌握的30种SQL语句优化

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索...
阅读全文
常见Serialize技术探秘(XML、JSON、JDBC byte编码、Protobuf) 编程开发

常见Serialize技术探秘(XML、JSON、JDBC byte编码、Protobuf)

目前业界有各种各样的网络输出传输时的序列化和反序列化方案,它们在技术上的实现的初衷和背景有较大的区别,因此在设计的架构也会有很大的区别,最终在落地后的:解析速度、对系统的影响、传输数据的大小、可维护性...
阅读全文
如何保护Java程序 防止Java反编译 编程开发

如何保护Java程序 防止Java反编译

架构师之旅 2018-10-30 12:01:00 Java是一种跨平台的、解释型语言。Java 源代码编译中间“字节码”存储于class文件中。Class文件是一种字节码形式的中间代码,该字节码中包...
阅读全文
Netty源码分析之Reactor线程模型源码分析 编程开发

Netty源码分析之Reactor线程模型源码分析

多线程 随着硬件性能的提升,CPU的核数越来越越多,很多服务器标配已经达到32或64核。通过多线程并发编程,可以充分利用多核CPU的处理能力,提升系统的处理效率和并发性能。 从2005年开始,随着多核...
阅读全文
帖子中心,数据库架构优化与实践 系统架构

帖子中心,数据库架构优化与实践

本文将以“帖子中心”为例,介绍“1对多”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践: 如何来实施水平切分 水平切分后常见的问题 典型问题的优化思路及实践 一、什么是...
阅读全文
一次堆外内存泄露的排查过程 编程开发

一次堆外内存泄露的排查过程

摘要: 堆外内存泄露的排查方法,kafka,ScriptEngine脚本引擎的内存泄露问题 背景:车联网应用,高频的监控数据解析入库查询。涉及到的中间件包括OTS、KAFKA、REDIS、RDS、DU...
阅读全文
进程、线程、协程原理 编程开发

进程、线程、协程原理

在最原始的时候程序是这样运行的,我们假设这两个程序为 A 和 B 而这两个程序都很大,每个程序大概有几千到几万行代码,它们两个的存在意义就是到CPU上去运行,通过计算机和人类进行交互。 CPU 是一个...
阅读全文
互联网数据库“跨库分页”架构技术实践 MySQL

互联网数据库“跨库分页”架构技术实践

一、需求缘起 分页需求 互联网很多业务都有分页拉取数据的需求,例如: 微信消息过多时,拉取第N页消息。 京东下单过多时,拉取第N页订单。 浏览58同城,查看第N页帖子。 这些业务场景对应的消息表,订单...
阅读全文
Json 数据 序列化和反序列化 编程开发

Json 数据 序列化和反序列化

一: 序列化意义: Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。为了实现两个Java进程之间传输对象等数据。 二: 两种数据传输方式...
阅读全文
Hash算法解决冲突的方法总结 编程开发

Hash算法解决冲突的方法总结

Hash算法解决冲突的方法一般有以下几种常用的解决方法 1, 开放定址法: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入 公式为...
阅读全文