代码改变世界

让面试官心服口服:Thread.sleep、synchronized、LockSupport.park的线程阻塞有何区别?

2020-11-22 18:19 by tera, 129 阅读, 1 推荐, 收藏, 编辑
摘要:前言 在日常编码的过程中,我们经常会使用Thread.sleep、LockSupport.park()主动阻塞线程,或者使用synchronized和Object.wait来阻塞线程保证并发安全。此时我们会发现,对于Thread.sleep和Object.wait方法是会抛出InterruptedE 阅读全文

JNI-从jvm源码分析Thread.interrupt的系统级别线程打断原理

2020-11-15 14:50 by tera, 117 阅读, 1 推荐, 收藏, 编辑
摘要:前言 在java编程中,我们经常会调用Thread.sleep()方法使得线程停止运行一段时间,而Thread类中也提供了interrupt方法供我们去主动打断一个线程。那么线程挂起和打断的本质究竟是什么,本文就此问题作一个探究。 本文主要分为以下几个部分 1.interrupt的使用特点 2.jv 阅读全文

JNI-从jvm源码分析Thread.start的调用与Thread.run的回调

2020-11-06 17:23 by tera, 144 阅读, 1 推荐, 收藏, 编辑
摘要:前言 在java编程中,线程Thread是我们经常使用的类。那么创建一个Thread的本质究竟是什么,本文就此问题作一个探索。 内容主要分为以下几个部分 1.JNI机制的使用 2.Thread创建线程的底层调用分析 3.系统线程的使用 4.Thread中run方法的回调分析 5.实现一个jni的回调 阅读全文

Java动态代理——框架中的应用场景和基本原理

2020-11-01 21:40 by tera, 288 阅读, 1 推荐, 收藏, 编辑
摘要:前言 之前已经用了5篇文章完整解释了java动态代理的原理,本文将会为这个系列补上最后一块拼图,展示java动态代理的使用方式和应用场景 主要分为以下4个部分 1.为什么要使用java动态代理 2.如何使用java动态代理 3.框架中java动态代理的应用 4.java动态代理的基本原理 1.为何要 阅读全文

并发编程——比AtomicInteger更优的多线程计数类:LongAdder原理分析

2020-10-27 19:50 by tera, 222 阅读, 0 推荐, 收藏, 编辑
摘要:前言 最近在学习ConcurrentHashMap的源码,发现它采用了一种比较独特的方式对map中的元素数量进行统计,自然是要好好研究一下其原理思想,同时也能更好地理解ConcurrentHashMap本身。 本文主要思路分为以下5个部分 1.计数的使用效果 2.原理的直观图解 3.源码的细节分析 阅读全文

google protocol buffer——protobuf的问题和改进2

2020-09-20 15:43 by tera, 175 阅读, 0 推荐, 收藏, 编辑
摘要:这一系列文章主要是对protocol buffer这种编码格式的使用方式、特点、使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务。 在上一篇文章中,我们举例了在移动互联网场景下原生protobuf类库使用上的问题,并且自己完成了一个java的编码类库。本文中 阅读全文

google protocol buffer——protobuf的问题及改进一

2020-09-07 17:56 by tera, 200 阅读, 0 推荐, 收藏, 编辑
摘要:这一系列文章主要是对protocol buffer这种编码格式的使用方式、特点、使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务。 在上一篇文章中,我们完整了解了protobuf的编码原理,那么在这篇文章中,我将会展示在使用过程中遇到的问题,以及解决方案。并 阅读全文

google protocol buffer——protobuf的编码原理二

2020-08-30 17:31 by tera, 215 阅读, 0 推荐, 收藏, 编辑
摘要:这一系列文章主要是对protocol buffer这种编码格式的使用方式、特点、使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务。 在上一篇文章中,我们主要通过一些示例了解了protobuf的使用特性,以及和这些特性相关的基础编码原理。 编码原理只开了个头, 阅读全文

google protocol buffer——protobuf的使用特性及编码原理

2020-08-24 17:43 by tera, 284 阅读, 0 推荐, 收藏, 编辑
摘要:这一系列文章主要是对protocol buffer这种编码格式的使用方式、特点、使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务。 在上一篇文章中,我们展示了protobuf在java中的基本使用方式。而本文将继续深入探究protobuf的编码原理。 主要分 阅读全文

google protocol buffer——protobuf的基本使用和模型分析

2020-08-16 13:22 by tera, 248 阅读, 0 推荐, 收藏, 编辑
摘要:这一系列文章主要是对protocol buffer这种编码格式的使用方式、特点、使用技巧进行说明,并在原生protobuf的基础上进行扩展和优化,使得它能更好地为我们服务。 1.什么是protobuf protocol buffer是由google推出一种数据编码格式,不依赖平台和语言,类似于xml 阅读全文