Java8线程池ThreadPoolExecutor底层原理及其源码解析 编程技术

Java8线程池ThreadPoolExecutor底层原理及其源码解析

小侃一下 日常开发中, 或许不会直接new线程或线程池, 但这些线程相关的基础或思想是非常重要的, 参考 林迪效应 ; 就算没有直接用到, 可能间接也用到了类似的思想或原理, 例如tomcat, jetty, 数据库连接池, MQ; 本文不会对线程的基础知识进行介绍, 所以最好已"进食"关于线程的基础知识, 再"食用"本文更佳; 由于在...
阅读全文
Unsafe介绍及CAS原理解析 编程技术

Unsafe介绍及CAS原理解析

0.Unsafe介绍 JavaDoc说, Unsafe提供了一组用于执行底层的,不安全操作的方法。那么具体有哪些方法呢,我画了一张图。 可以看到Unsafe中提供了CAS,内存操作,线程调度,本机信息,Class相关方法,查看和设置某个对象或字段,内存分配和释放相关操作,内存地址获取相关方法。我自己抽空对上述方法进行了注释, 你可以在 这里看到 。 那么如何使用Uns...
阅读全文
微服务的诞生以及相关技术栈 编程技术

微服务的诞生以及相关技术栈

本文是一个开坑文,列出了所有笔者能想到以及接触到的微服务场景下用到的技术栈以及技术选型,将来会详细展开每一个内容 从tomcat服务到微服务的进化史 梦开始的地方 很多人刚入门时候都是从tomcat开始的,下载一个tomcat容器,然后启动startup.sh,在浏览器输入经典的 http://localhost:8080 ,就看到那个画风诡异的汤姆猫了(啊,爷春回) ...
阅读全文
JAVA并发(1)并发编程的挑战 编程技术

JAVA并发(1)并发编程的挑战

记得刚开始学JAVA的时候,在并发这一块最薄弱,只能做一些简单的多线程使用和对锁的使用,在其底层压根就没考虑过,最近抽空买了本JAVA并发编程艺术,要仔细认真的学习下。 上下文切换 一次上下文切换就是任务从保存到再加载的过程,因为处理器支持多线程执行代码的通过给每个线程分配CPU时间片来实现的,因为时间片非常短,所以CPU不停的切换线程执行,让我们感觉多个线程是同时执行的。 CPU通过时间片分...
阅读全文
不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过 编程技术

不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过

什么是线程安全? 当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题。 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题,但是做读操作时不会发生数据冲突问题。 线程安全解决办法? 1、如何解决多线程之间线程安全问题? 答:使用多线程之间同步s...
阅读全文
常见的架构设计原则总结 软件架构

常见的架构设计原则总结

在上一篇文章《学了那么多技术,为何依然成不了架构师》中分享了为什么要学习架构设计原则,本篇文章作为该文章的一个延伸,总结了一些常用的架构设计原则,希望对你有用。 通用原则 KISS原则(Keep it simple and stupid) 最小代价(努力)原则 尽可能在一开始的时候,作出正确的选择,因为一旦这个架构设计出现,后面的人很有可能不愿意为了更好的架构而改进,而是遵...
阅读全文
备战金九银十面试季,每天一个面试小技巧(五锁机制篇) 编程技术

备战金九银十面试季,每天一个面试小技巧(五锁机制篇)

前言: hello大家好我是搬砖,没错又是我,又来给大家分享面试题来了。身为一个面试题狂魔,每天不是在刷题的路上就是在找题的路上。今天在刷B站的时候忽然发现一个锁机制的问题,仔细回想一下还没有做一下总结,今天就来给大家总结一下,希望对你们有用。 锁的原因都是由并发问题发生的,在此我只是写一些面试中可能会问到的问题以及问题的答案,并不是给大家深入的讲解锁机制,一般面试官问都是从一...
阅读全文
Netty 源码分析之 四 Promise 与 Future: 双子星的秘密 Java

Netty 源码分析之 四 Promise 与 Future: 双子星的秘密

永顺大牛写的系列教程 《源码之下无秘密 ── 做最好的 Netty 源码分析教程》 是目前我读过最好的netty源码分析文章。但不知道什么原因,作者在写到第三章的时候停更了。因此,我想尝试凭着个人的理解,续写后边几个章节。 写在最前 永顺前辈已经写完章节有如下: Netty 源码分析之 番外篇 Java NIO 的前生今世 Netty 源码分析之 零 磨刀不误砍...
阅读全文
Loading...