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

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

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

Java Lambda表达式知多少

1. 匿名内部类实现 匿名内部类仍然是一个类,只是不需要程序员显示指定类名,编译器会自动为该类取名。因此如果有如下形式的代码,编译之后将会产生两个class文件: public class MainAnonymousClass { public static void main(String[] args) { new Thread(new Runnable(){ ...
阅读全文
SpringBoot 原理深入及源码剖析 编程技术

SpringBoot 原理深入及源码剖析

SpringBoot 项目间接继承 spring-boot-dependencies,该文件对常用技术框架进行了统一版本管理,所以在SpringBoot 项目 pom.xml 引入spring-boot-dependencies管理的依赖文件不需要标注依赖文件版本号。引入 starter 就可以实现对应场景开发,而不需要额外导入相关依赖文件。 自动配置(启动流程) SpringBoot ...
阅读全文
微服务的诞生以及相关技术栈 软件架构

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

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

JVM-运行时数据区—方法区

在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。例如:BEA JRockit/IBM J9中不存在永久代的概念。 现在看来,当年使用永久代,不是好的idea。导致Java程序更容易OOM(超过-XX:MaxPermSize上限)。 ...
阅读全文
Thymeleaf从入门到精通 Spring

Thymeleaf从入门到精通

什么是Thymeleaf 大家好,我是bigsai,今天我们来学习Thymeleaf,如果你对Thymeleaf比较陌生也不要紧,它很容易学习与理解,并有着自己鲜明的特色。 开始之前,我们依旧问一个问题: 什么是Thymeleaf? Java模板引擎 模板引擎介绍 模板引擎?你可能第一次听说模板引擎,估计你会禁不住想问: 什么是模板引擎? 模板引擎 (...
阅读全文
看了这篇你就会手写RPC框架了 编程技术

看了这篇你就会手写RPC框架了

一、学习本文你能学到什么? RPC的概念及运作流程 RPC协议及RPC框架的概念 Netty的基本使用 Java序列化及反序列化技术 Zookeeper的基本使用(注册中心) 自定义注解实现特殊业务逻辑 Java的动态代理 自定义Spring Boot Starter 这里只是列出了你能从RPC框架源码中能学到的东西,本文并不会每个知...
阅读全文
难难难难难!对象的创建七连问 Java

难难难难难!对象的创建七连问

难难难难难!对象的创建七连问 关于 Object o = new Object() 请解释一下对象的创建过程?(半初始化) 加问 DCL 与 volatile 问题?(指令重排) 对象在内存中的存储布局?(对象与数组的存储不同) 对象头具体包括什么?(markword classpointer)...
阅读全文
SpringBoot系列之使用Spring Task实现定时任务 Spring

SpringBoot系列之使用Spring Task实现定时任务

定时任务是企业开发中很常用的,比如定时推送一些接口数据,在java中实现定时任务的方法有Spring Task、Quartz等等框架,也有JDK自带的ScheduledExecutorService、Timer Quartz框架比较复杂,之前我写过一个入门教程,读者可以参考学习: Quartz系列之任务调度框架原理简介 Spring Task是Spring3.0以后自带的task,可以...
阅读全文
五分钟体验springboot集成普罗米修斯 Spring

五分钟体验springboot集成普罗米修斯

Prometheus 是一套开源的系统监控报警框架。它由工作在 SoundCloud 的 员工创建,并在 2015 年正式发布的开源项目。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,非常的受欢迎。 简介 Prometheus 具有以下特点: 一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数...
阅读全文
Loading...