logo头像

小时候,哭是我们解决问题的绝招。长大后,笑是我们面对现实的武器。

多线程 — 概述及底层实现机制浅析

多线程多线程是为了使得多个线程并行的工作以完成多项任务, 以提高系统的效率. 线程是在同一时间需要完成多项任务的时候被实现的. 什么是线程、进程在讨论多线程之前, 我们需要先认识一下, 进程、线程, 以及相关值得注意的问题. 我们一起...

Java面试圣经

基础篇基本功 面向对象的特征 final, finally, finalize 的区别 https://www.jianshu.com/p/c45b6d782e91 重载和重写的区别 说说反射的用途及实现 https://www....

排查CPU负载高

一、Overview本篇文章针对的是排查Java程序出现高负载的情况,如果是其他语言写的程序,如:php、python、go,无非就是换个工具,排查的步骤是类似的 以下三类工具 从原生的top、jstack到功能强大的Arthas 和...

Arthas

ArthasArthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的...

多线程, 到底该设置多少线程

一、前言作为2年以上的开发人员,如果还不理解多线程与多进程之间的区别,那你就赶紧停停手头的工作,回去好好复习吧 现在的程序设计中基本上都是多线程的,作为业务开发人员可能很多人都没有写过多线程的代码,因为这些高危的代码都由框架帮我们实现...

排查产线系统僵死

查看某个进程下各个线程运行情况 12345678910toptop - 15:14:57 up 18 days, 20:55, 2 users, load average: 8.29, 8.57, 8.88Tasks: 16 t...

Java面试之基础篇 - HashMap

前言掌握Java基础技能不仅能在工作中得心应手,在面试中也会占尽优势。相信大家在过去的面试过程中一定被问到过关于HashMap的知识,最近笔者也在准备面试,打算重新学习一遍Java集合的知识。在此带领大家一起来学习下 HashMap...

Kafka是如何实现几十万的高并发写入

开篇在初识kafka 一文中讲了使用MQ(消息队列)来设计系统带来的好处:业务解耦、流量削峰、灵活扩展 当下流行的MQ有很多,因为我们公司在技术选型上选择了使用Kafka,所以我就整理了一篇关于Kafka的入门知识。通过技术选型 我们...

深入理解JVM - 垃圾回收之世代垃圾收集过程

前言在 深入理解 - 垃圾回收 中我们详细讲解了JVM垃圾回收的机制、垃圾收集算法以及各种垃圾回收器的原理和优缺点。 通过上一篇文章我们知道现在主流的垃圾回收器都采用了分代收集算法,本文我们就来详细讲解下垃圾回收器是如何进行分代收集垃...

深入理解JVM - 垃圾回收

前言在 JVM内存结构 中我们详细讲解了JVM中的内存是如何分布和组成的。 我们已经知道JVM内存结构主要有三大块:堆内存、方法区和栈内存,而堆又是JVM中占用内存最大的一块,但是堆占用的空间也不是无限的(在JVM中会有参数来进行控制...