标签:ThreadPoolExecutor

Java

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

2

changyuan.xu 发布于 2020-07-26

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

阅读(377)评论(0)赞 (0)

Java

从linux内核理解Java怎样实现Socket通信

6

darida 发布于 2020-07-26

前言 前段时间买本书研究了 TCP/IP 通信,弄清楚了计算机之间是怎么通信的。网络通信的的基础就是 TCP/IP 协议簇 ,也被称为 TCP/IP 协议栈 ,也被简称为 TCP/IP 协议 。 TCP/IP 协议 并不是只有 TCP 和 IP 协议,只是这俩用的比较多,就用这两...

阅读(63)评论(0)赞 (0)

Java

彻底搞懂 Java 线程池,干啥都不再发憷

11

hellas 发布于 2020-07-25

作为 Java 程序员, 无论是技术面试、 项目 研发或者是学习 框架源码,不彻底掌握 Java 多线程的知识,做不到心中有数,干啥都没底气,尤其是技术深究时往往略显 发憷 。 没事,跟随小猿的脚步,一起嗨起来!言归正传,书接上篇,继续探索多线程相关的知识。 1  回顾...

阅读(50)评论(0)赞 (0)

Java

URI不规范编码解决方案

小丁 发布于 2020-07-25

RFC 7230 与 RFC 3986 定义了 HTTP/1.1 标准并对 URI 的编解码问题作出了规范。但是,文本形式的规范和最终落地的标准之间总是存在着差距。标准中共 82 个字符无需编码。 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmno...

阅读(45)评论(0)赞 (0)

Java

Java并发

1

puefu.he 发布于 2020-07-24

1.基本并发方式 1.1 Callable 这个方式基本不用,会影响线程的思想。 2.线程池 Executor 2.1 ThreadExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

阅读(22)评论(0)赞 (0)

Java

写的很好!细数 Java 线程池的原理

2

xirruiqiang 发布于 2020-07-20

点击上方  IT牧场 ,选择  置顶或者星标 技术干货每日送达! 来源:http://39sd.cn/077D6 今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPoolExecutor类中的方法讲起,然后再讲述它的实现原理,接着给出了...

阅读(57)评论(0)赞 (0)

Java

Java对世界不同时区timezone之间时间转换的处理方法

1

puefu.he 发布于 2020-07-17

最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间。 一、关于时区的一些概念 1.1 什么是时区? timezone,即由于世界各国家与地区经度不同,地方...

阅读(62)评论(0)赞 (0)

Java

面试之敌系列 3 多线程详解

37

puefu.he 发布于 2020-07-15

官方定义:线程是CPU调度和分配的基本单位,一定要和进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位区别清楚。注意,一个是cpu的,一个是系统的资源(这里的资源表示除了CPU 之外的一切东西,也叫上下文) CPU进程无法同时刻共享,但是出现一定要共享CPU的需...

阅读(37)评论(0)赞 (0)

Java

Dubbo注册中心(ZooKeeper、Redis)实现原理

2

xiaoli.he 发布于 2020-07-15

在Dubbo微服务体系中,注册中心是其核心组件之一。Dubbo通过注册中心实现了分布式环境中各服务之间的注册和发现,是各分布式节点之间的纽带。其主要作用如下: 动态加入。一个服务提供者通过注册中心可以动态地把自己暴露给其他消费者,无需消费者逐个去更新配置文件。 动态发现。一个消费...

阅读(31)评论(0)赞 (0)

Java

SpringBoot学习笔记(十七:异步调用)

3

dulong 发布于 2020-07-15

@ 目录 “异步调用”对应的是“同步调用”, 在实际开发中,有时候为了及时处理请求和进行响应,我们可能使用异步调用, 同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。...

阅读(39)评论(0)赞 (0)

Java

hikari连接池解析(版本:HikariCP-2.5.1.jar)

Harries 发布于 2020-07-15

maxLifetime参数必须小于数据库的time_wait,默认是1800000,即30分钟。如果设置为0,表示存活时间无限大。如果不等于0且小于30秒则会被重置回30分钟。HikariConfig类中有该参数的校验规则。 HikariPool类中,当我们初始化连接池的时候,它...

阅读(59)评论(0)赞 (0)

Java

JVM优先级线程池做任务队列

darida 发布于 2020-07-14

我们都知道 web 服务的工作大多是接受 http 请求,并返回处理后的结果。服务器接受的每一个请求又可以看是一个任务。一般而言这些请求任务会根据请求的先后有序处理,如果请求任务的处理比较耗时,往往就需要排队了。而同时不同的任务直接可能会存在一些优先级的变化,这时候就需要引入任务...

阅读(71)评论(0)赞 (0)

Java

Tomcat源码之-Tomcat如何接收请求

1

xirruiqiang 发布于 2020-07-13

上一节大概说了下tomcat的整体架构,那么这一节我们重点关注下tomcat连接器的工作机制,在tomcat调优过程中,连接器也是一个比较重要的部分。 创建过程 首先看一下Connector的创建过程。 Connector connector = new Connector();...

阅读(30)评论(0)赞 (0)

Java

Java 应用线上问题排查思路、常用工具小结

12

邓龙华 发布于 2020-07-13

来源:https://ricstudio.top/archives/java-online-question-probe 前言 本文总结了一些常见的线上应急现象和对应排查步骤和工具。分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。毕竟作者自己...

阅读(59)评论(0)赞 (0)

Java

为什么 wait() 方法需要写在 while 里,而不是 if?

1

puefu.he 发布于 2020-07-12

不要让这个世界的复杂性阻碍你的前进。要成为一个行动主义者,将解决人类的不平等视为己任。它将成为你生命中最重要的经历之一。 问:为什么是 while 而不是 if ? 大多数人都知道常见的使用 synchronized 代码: synchronized (obj) { while ...

阅读(40)评论(0)赞 (0)

Java

dubbo-线程池监控

Harries 发布于 2020-07-12

代码 //dubbo线程池数量监控 Class<?> clazz = Class.forName("com.alibaba.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusChecker"); Met...

阅读(28)评论(0)赞 (0)

Java

Java知识点JUC总结

8

darida 发布于 2020-07-12

JUC:java.util.concurrent (Java并发编程工具类) 一般面试提问:面向对象和高级语法、Java集合类、Java多线程、JUC 和高并发、Java IO和 NIO 获取多线程的4种方法: 1.继承Thread类,重写run方法(其实Thread类本身也实现...

阅读(52)评论(0)赞 (0)

编程技术

源码剖析@ApiImplicitParam对@RequestParam的required属性的侵入性

8

zhuangli 发布于 2020-07-08

问题起源 使用SpringCloud构建项目时,使用Swagger生成相应的接口文档是推荐的选项,Swagger能够提供页面访问,直接在网页上调试后端系统的接口, 非常方便。最近却遇到了一个有点困惑的问题,演示接口示例如下(原有功能接口带有业务实现逻辑,这里简化了接口): /**...

阅读(52)评论(0)赞 (0)