上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 本文转载自哪些原因会导致JAVA进程退出? 导语 JAVA进程消失可能有哪些原因? 那我们就开一篇文章说一下这个问题,其实很easy的,无外乎三种情况。 linux的OOM killer杀死 JVM自身故障 jvm的OOM导致进程退出(很罕见,我至今没遇见过) linux的OOM killer Li 阅读全文
posted @ 2020-06-28 10:43 Yungyu 阅读(1498) 评论(0) 推荐(1) 编辑
摘要: 本文转载自深入理解JDK中的Reference原理和源码实现 前提 这篇文章主要基于JDK11的源码和最近翻看的《深入理解Java虚拟机-2nd》一书的部分内容,对JDK11中的Reference(引用)做一些总结。值得注意的是,通过笔者对比一下JDK11和JDK8对于java.lang.ref包的 阅读全文
posted @ 2020-06-28 01:19 Yungyu 阅读(322) 评论(1) 推荐(0) 编辑
摘要: 本文转载自HTTP2 的前世今生 #导语 作为一名 Web 后端开发工程师,无论是工作中,还是面试时,对于 HTTP 协议的理解都是必不可少的。而 HTTP2 协议的发布更是解决了 HTTP1.1 协议中一系列的问题。这篇文章是根据我在团队的一次技术分享改编而来,里面介绍了 HTTP/1.0 和 H 阅读全文
posted @ 2020-06-28 00:37 Yungyu 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 本文转载自HTTP 协议中的并发限制及队首阻塞问题 串行连接 HTTP/0.9 和早期的 HTTP/1.0 协议对 HTTP 请求处理是串行化的。假如一个页面包含 3 个样式文件,同属于一个协议、域名、端口。那么,浏览器一共需要发起四次请求,并且每次只能打开一个 TCP 通道,在一个请求资源完成下载 阅读全文
posted @ 2020-06-28 00:29 Yungyu 阅读(1854) 评论(0) 推荐(0) 编辑
摘要: 本文转载自聊聊JMM 什么是JMM JMM (Java Memory Model )Java内存模型是一个语言级别的内存模型抽象,它屏蔽了底层硬件实现内存一致性需求的差异,提供了对上层的统一的接口来提供保证内存一致性的编程能力。 Java作为一个跨平台的语言,Java内存模型作为一个中间层模型,它适 阅读全文
posted @ 2020-06-28 00:04 Yungyu 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 本文转载自聊聊CacheLine 导语 文章聊聊缓存一致性协议中我们提到过,缓存里面最小的单位是缓存行/缓存条目,但是缓存中的具体存储结构是什么样的,缓存行中有存放的是什么?在缓存中是如何寻找指定是还是还存在?本篇我们就聊聊一下Cache Line 缓存中的组构 文章中出现的缓存和Cache,指的是 阅读全文
posted @ 2020-06-28 00:03 Yungyu 阅读(1306) 评论(0) 推荐(0) 编辑
摘要: 本文转载自聊聊CPU的LOCK指令 导语 在多线程操作中,可能最经常被提起的就是数据的可见性、原子性、有序性。不管是硬件方面、软件方面都在这三方面做了很足的工作,才能保证程序的正常运行。 之前发表过一篇文章聊聊缓存一致性协议 如果感兴趣的话可以去阅读一下,里面谈到了缓存一致性的实现和处理过程,读完之 阅读全文
posted @ 2020-06-28 00:02 Yungyu 阅读(7034) 评论(2) 推荐(0) 编辑
摘要: 本文转载自聊聊内存屏障 #导语 在之前文章聊聊JMM,说到了内存屏障,内存屏障在Java语言实现一致性内存模型上起到了重要的作用,本文我们一起聊一聊内存屏障 内存屏障是什么 在cpu执行指令的过程中,对于同一个线程中没有数据依赖的指令可以重新排序优化,有数据依赖的指令按照顺序串行执行,来保证单线程程 阅读全文
posted @ 2020-06-27 23:59 Yungyu 阅读(3843) 评论(0) 推荐(0) 编辑
摘要: 本文转载自Java volatile 关键字底层实现原理解析 导语 在Java多线程并发编程中,volatile关键词扮演着重要角色,它是轻量级的synchronized,在多处理器开发中保证了共享变量的**“可见性”**。“可见性”的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的 阅读全文
posted @ 2020-06-27 23:41 Yungyu 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 本文转载自volatile关键字?MESI协议?指令重排?内存屏障?这都是啥玩意 摘要 三级缓存,MESI缓存一致性协议,指令重排,内存屏障,JMM,volatile。单拿一个出来,想必大家对这些概念应该有一定了解。但是这些东西有什么必然的联系,或者他们之间究竟有什么前世今生想必是困扰大家的一个问题 阅读全文
posted @ 2020-06-27 23:12 Yungyu 阅读(510) 评论(0) 推荐(1) 编辑
摘要: 本文转载自聊聊缓存一致性协议 什么缓存一致问题 在谈缓存一致性协议之前我们先了解一下缓存一致性问题是什么,它是怎么出现的。 现在处理器处理能力上要远胜于主内存(DRAM),主内存执行一次内存读写操作,所需的时间可能足够处理器执行上百条的指令,为了弥补处理器与主内存处理能力之间的鸿沟,引入了高速缓(C 阅读全文
posted @ 2020-06-27 22:39 Yungyu 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 本文转载自JVM杂谈之JIT 导语 JIT技术是JVM中最重要的核心模块之一。我的课程里本来没有计划这一篇,但因为不断有朋友问起,Java到底是怎么运行的?既然Hotspot是C写的,那Java是不是可以说运行在C之上呢?为了澄清这些概念,我才想起来了加了这样一篇文章,算做番外篇吧。 Just In 阅读全文
posted @ 2020-06-27 20:45 Yungyu 阅读(993) 评论(0) 推荐(0) 编辑
摘要: 本文转载自java 泛型详解 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体 阅读全文
posted @ 2020-06-27 19:33 Yungyu 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 本文转载自Java中的逆变与协变 导语 看下面一段代码 Number num = new Integer(1); ArrayList<Number> list = new ArrayList<Integer>(); //type mismatch List<? extends Number> lis 阅读全文
posted @ 2020-06-27 14:02 Yungyu 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 本文转载自疯狂的String 导语 在java中字符串是我们比较常用的一个类型,字符串是不可变的,类被声明为final , 存储字符的char[] value数据也被声明为final ,我们对String真的了解么?我们看一下String是有多么的疯狂。本文中是在JDK8下面测试,不同的JDK可能会 阅读全文
posted @ 2020-06-27 13:00 Yungyu 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 本文转载自java中synchronized与Lock的异同 前言 synchronized和Lock通过互斥保障原子性,能够保护共享数据以实现线程安全,其作用包括保障原子性、可见性、有序性 常见问题 在平时聊天或者面试过程中,可能会被问到,既然已经有了synchronized了,为什么JSR166 阅读全文
posted @ 2020-06-27 12:39 Yungyu 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 本文转载自不使用的大对象为什么要手动设置null,真的有效吗? 导语 在我们开发过程中,对于大的对象使用过后,为了help gc ,我们会手动将大对象置为null,背后的原理是什么,是不是最佳的实践。 案例一 首先我们先看一段代码 package com.bk.exercise.stack; /** 阅读全文
posted @ 2020-06-27 12:37 Yungyu 阅读(997) 评论(0) 推荐(0) 编辑
摘要: 本文转载自不使用反射如何调用某个实例对象的方法 导语 如何调用一个对象的方法?我们可以通过实例化对象直接调用、使用反射机制、通过代理对象等,本文介绍一种新的方法MethodHandle,这种方法在开发中很少会用到,但使用起来感觉很顺手。 什么是MethodHandle? MethodHandle是J 阅读全文
posted @ 2020-06-27 12:33 Yungyu 阅读(941) 评论(0) 推荐(1) 编辑
摘要: 本文转载自JVM 字节码之 int 入栈指令(iconst、bipush、sipush、ldc) 前言 本文介绍 int 入栈指令 iconst、bipush、sipubh、Idc。 当 int 取值 -15 采用 iconst 指令,取值 -128127 采用 bipush 指令,取值 -3276 阅读全文
posted @ 2020-06-26 21:21 Yungyu 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 本文转载自Linux系统下CPU使用(load average)梳理 导语 在平时的运维工作中,当一台服务器的性能出现问题时,通常会去看当前的CPU使用情况,尤其是看下CPU的负载情况(load average)。对一般的系统来说,根据cpu数量去判断。比如有2颗cup的机器。如果平均负载始终在1. 阅读全文
posted @ 2020-06-25 23:46 Yungyu 阅读(488) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页