聊聊 Java 的几把 JVM 级锁

聊聊 Java 的几把 JVM 级锁

简介 在计算机行业有一个定律叫"摩尔定律",在此定律下,计算机的性能突飞猛进,而且价格也随之越来越便宜,cpu从单核到了多核,缓存性能也得到了很大提升,尤其是多核cpu技术的到来,计算机同一时刻可以处...
阅读全文
springboot集成bootstrap fileinput实现单个文件上传

springboot集成bootstrap fileinput实现单个文件上传

fileinput给了个maxFileCount参数来限制上传文件数目,但是仍然多图片可以分批量上传,我这里只需要上传一个,所以就修改了一下,如下: 依赖静态资源 jquery bootstrap的j...
阅读全文
Java对象序列化底层原理源码解析

Java对象序列化底层原理源码解析

摘要: Java序列化是指把Java对象保存为二进制字节码的过程,Java反序列化是指把二进制码重新转换成Java对象的过程。那么为什么需要序列化呢? What Java序列化是指把Java对象保存为...
阅读全文
Netty开发redis客户端

Netty开发redis客户端

我们可以使用redis-cli这个客户端来操作redis,也可以使用window的命令行telnet连接redis。本文,我们的目标是使用netty来实现redis客户端,实现目标为: 1. 启动ne...
阅读全文
如何保护Java程序 防止Java反编译

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

架构师之旅 2018-10-30 12:01:00 Java是一种跨平台的、解释型语言。Java 源代码编译中间“字节码”存储于class文件中。Class文件是一种字节码形式的中间代码,该字节码中包...
阅读全文
一次堆外内存泄露的排查过程

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

摘要: 堆外内存泄露的排查方法,kafka,ScriptEngine脚本引擎的内存泄露问题 背景:车联网应用,高频的监控数据解析入库查询。涉及到的中间件包括OTS、KAFKA、REDIS、RDS、DU...
阅读全文
RabbitMQ发布订阅实战-实现延时重试队列

RabbitMQ发布订阅实战-实现延时重试队列

摘要: 本文将会讲解如何使用RabbitMQ实现延时重试和失败消息队列,实现可靠的消息消费,消费失败后,自动延时将消息重新投递,当达到一定的重试次数后,将消息投递到失败消息队列,等待人工介入处理。 R...
阅读全文