自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有信仰的蜗牛

尊重每一行代码

  • 博客(12)
  • 收藏
  • 关注

原创 JVM线上实战(2)

通过《jvm线上实现(1)》定位到问题的所在,为了更近一步的定位错误信息,dump当前java进程堆信息加载当前的堆信息:jmap -dump:live,format=b,file=dump.hprof 5511 通过 Eclipse IDE MAT 插件进行堆分析Java堆分析: Eclipse 导入堆信息 1. 查看当前堆内存泄漏情况 堆的对象泄漏可以分析出,...

2018-08-30 13:58:10 2885

原创 高并发系统概念思想

什么是高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发是概念上的逻辑,表达的含义就是同一时间点出现大量的请求。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。响应时...

2018-08-30 09:23:24 2673

原创 Linux文件已删除,引用未释放(deleted)

问题描述:警告文件磁盘已经满了,通过:df -h, du -sh * 等指令配合使用,发现当前系统任然存在大量可以使用的空间。大量剩余的磁盘空间不清楚怎么丢失了…问题重现:通过指令:lsof | grep deleted 指令,查看当前系统句柄未释放情况[root@bigdata-hadoop2:/proc/21893/fd]# lsof | grep deleted...

2018-08-28 14:20:55 24973 1

原创 可重入锁:ReentrantLock理解使用

(一)可重入性可重入性描述这样的一个问题:一个线程在持有一个锁的时候,它内部能否再次(多次)申请该锁。如果一个线程已经获得了锁,其内部还可以多次申请该锁成功。那么我们就称该锁为可重入锁。通过以下伪代码说明:void methodA(){ lock.lock(); // 获取锁 methodB(); lock.unlock() // 释放锁}void met...

2018-08-28 11:16:32 23157 1

原创 java线程间通信wait,notify/notifyAll

1.概述Java所有的类都继承Object对象。Object对象有以下常用方法:// 克隆当前对象protected Object clone() // 判断对象内存空间地址是否相同boolean equals(Object obj) // 显示调用对象清理protected void finalize()// 获取当前对象的Class对象,可以获取方法区里类的元数据信息...

2018-08-24 17:50:35 242

原创 Jvm线上调优实战(1)

侦探问题根源通过top指令发现,当前5511的线程cup和内存的使用率过高:top : 5511 root 20 0 16.841g 6.088g 5584 S 47.0 39.2 4011:41 java 9550 root 20 0 2516200 67892 2436 S 0.7 0.4 204:20.40 java...

2018-08-23 17:12:52 11239 1

原创 线程安全之volatile

概述:Volatile是java提供的一种同步的手段,只不过它是轻量级的同步,为什么这么说,因为volatile只能保证多线程的内存可见性,不能保证多线程的原子操作。运用场景: 1. 运算结果并不依赖变量的当前的值,或者能够确保只有单一线程修改改变量的值 1. 该变量没有包含在具体的其他变量的变式中其实就是这个变量只提供读属性,不具备写和后期计算属性,只能读取,不能具体到业务中使用...

2018-08-23 16:53:32 243

原创 Java安全线程判断

1. 概述通俗的讲,java多线程本质上就是管理状态的访问,而通常来讲这些状态是:共享的,可变的状态 状态 : 一个对象的状态就是它的数据,存储在状态变量中。比如他的实例域和静态域。 共享: 是指一个变量可以被多个线程进行访问。 可变: 变量的值在其生命周期内是可以被其他线程改变的   无论何时,只要多余一个的线程访问给定的状态变量,而且摸个线程会写入改变量,时需要有必须需要用协调线程...

2018-08-23 15:55:16 1141

原创 JVM线程模型详解

1 jvm内存模型在描述jvm线程模型之前,我们先深入的理解下,jvm内存模型。在jvm1.8之前,jvm的逻辑结构和物理结构是对应的。即Jvm在初始化的时候,会为堆(heap),栈(stack),元数据区(matespace)分配指定的内存大小,Jvm线程启动的时候会向服务器申请指定的内存地址空间进行分配。在jdk1.8之后,使用了G1垃圾回收器,逻辑上依然存在堆,栈,元数据区。但是在物理结...

2018-08-23 15:04:05 11190 5

原创 Java Thread类源码详解

概述Java所有多线程的实现,均通过封装Thread类实现,所以深入Thread类,对深入理解java多线程很有必要构造函数:Thread的构造函数,采用缺省的方式实现://传入Runnable接口实现Thread(Runnable target)//传入Runnable接口实现,传入线程名Thread(Runnable target, String name...

2018-08-23 14:51:18 9332 6

原创 java多线程3种实现方式

java多线程的实现方式1.继承Thread类重写run()方法public class JavaThread01 extends Thread { @Override public void run() { System.out.println("Hello Thread01"); } public static void ma...

2018-08-23 14:44:59 167

原创 操作系统中进程、线程、并行并发基本概念

进程的概念及组成概念:进程是指在系统中能独立运行并作为资源分配的基本单位(++进程是资源分配的基本单位,例如jvm进程初始化,需要指定堆栈内存++),它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程间可以并发执行和交换信息。一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等组成:进程标识符:它是惟一的标志对应进程的一个标志符或数字...

2018-08-23 14:28:01 428

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除