一个技术人天马行空的一亩田

技术需要土壤来扎根,技术需要土壤来成长,技术人更需要土壤来吐槽~

HotSpot 虚拟机对象探秘

对象的内存布局 在Hotspot虚拟机中,对象的内存布局分为以下3块区域: 对象头(Header) 实例数据(Instance Data) 对齐填充(Padding) 对象头 对象头记录了对象在运行过程中所需要使用的一些数据: 哈希码 GC分代年龄 锁状态标志 线程持有的锁 偏向线程ID 偏向时间戳 对象头可能包含类型指针,通过该指针能确定对象属于哪个类。如果对象是一个数组,那么对......

JVM内存结构

Java虚拟机的内存空间分为5个部分: 程序计数器 Java虚拟机栈 本地方法栈 堆 方法区 JDK 1.8同JDK 1.7比,最大的差别是: 元数据区取代了永久代。 元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。 程序计数器(PC寄存器) 程序计数器的定义 程序计数器是一块较小的内存空间,是......
JVM

如何在Java程序中获取自己的进程号

在分布式系统中,对于一个需要全局唯一ID的需求,我们可能会按照如下的格式来定一个ID的组成: 机器编号 + 进程号 + 时间戳 + 流水号 按照上面这个逻辑,我们可能会得到一个类似 08C5 00375 20210320232030 0001 这样的ID。 当然根据您的业务实际情况,这个ID的规则可能会有很多变种。比如去掉空格、加上业务标志符、时间戳到毫秒、时间戳到日期、每个部分用不同的......

用crontab创建个定时任务

在Linux环境上创建定时任务时,我们可以使用 crontab 来实现。下面就来简单讲讲如何使用。 crontab crontab 的参数及书写格式如下: Usage:  crontab [options] file  crontab [options]  crontab -n [hostname] Options:  -u <user>  define user  -e   ......

推荐一个叫“开发者边车”的工具

一站解决GitHub访问问题(内含福利)

给位开发者兄dei~,有没有因为访问GitHub各种问题而抓狂滴? 来来来,今天给你介绍个好东西(阅读完了有福利哦~)。 dev-sidecar 这个项目是我在Github上发现的一个项目,项目地址如下: GitHub: https://github.com/docmirror/dev-sidecar Gitee: https://gitee.com/docmirror/dev-sidec......

如何使用PM2做进程管理

使用PM2让你的应用7*24永不离线

简介 什么是PM2? PM2 P(rocess) M(anager) 2 是一个内建了负载均衡器的守护进程管理器,可以帮助我们进行应用程序管理。通过PM2,可以保持我们的服务 7*24 在线,并且在服务重载的时候可以保证零停机。 PM2创建初期时专门为Node.js应用打造的,所以PM2是依赖于Node.js的。 当前PM2的稳定版本是 5.0.3,适用于所有 Linux, macOS 和 ......

为什么我们要用Redis

本文将会从 Redis 的几大特性开始讲起,分别讲解 Redis 的速度快、支持多种数据类型、功能多样、服务简单、客户端语言丰富、支持持久化及主从复制、高可用、分布式这几大特点。从这几大特点中,读者可以详细的知道为什么要学习 Redis 以及学习 Redis 有什么用。下面正式开始本文的学习。先介绍本文的思维导图。 速度快 数据都在内存中:计算机由运算器,控制器,存储器,输入设备,输出设......

Spring Boot通过配置获取随机值

如果您想在Spring Boot项目的配置文件(application.properties 或 application.yml)中设置一个随机值,应该怎么办呢?这个Spring Boot已经有了解决方案。下面就通过示例详细说明。 配置随机值 在Spring Boot项目中同构配置获取随机值可以参考如下配置示例: application.properties 1234567my.id=$......

推荐几个Java学习资源

互联网时代,网上的资源大把大把。但是资源多了也是问题。不知道怎么学习?不知道上哪获取学习资源?怎么筛选资料?这些或许都成了迈向学习的第一步障碍。下面介绍一筐子资源供您参考。 GitHub 技术社区 Doocs GitHub 技术社区Doocs,致力于打造一个内容完整、持续成长的互联网开发者学习生态圈! Doccs社区优质项目 # 项目 描述 1 advanced-java ......

用Excel公式构造一波SQL

今天突然接到一个任务,要将Excel中的数据导入到数据库(MySQL)中去。打开Excel一看,好家伙2K+的数据,瞬间头大。当时就想着 “完了,看来得写一小段代码执行一下了”。 还好,当时几个同事在一起,有个小伙伴给了个建议 “你可以用刚才转Excel中的时间为字符串的办法拼个SQL出来啊!” 听这么一说,看了一下Excel中数据结构,这完全可以嘛!那就动手写起来 准备工作 这里假设需要导......