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

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

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

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

前言 前段时间买本书研究了 TCP/IP 通信,弄清楚了计算机之间是怎么通信的。网络通信的的基础就是 TCP/IP 协议簇 ,也被称为 TCP/IP 协议栈 ,也被简称为 TCP/IP 协议 。 TCP/IP 协议 并不是只有 TCP 和 IP 协议,只是这俩用的比较多,就用这两个起的名字。 我们目前使用的 HTTP , FTP , SMTP , DNS , HTTPS , SSH ...
阅读全文
彻底搞懂 Java 线程池,干啥都不再发憷 编程技术

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

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

URI不规范编码解决方案

RFC 7230 与 RFC 3986 定义了 HTTP/1.1 标准并对 URI 的编解码问题作出了规范。但是,文本形式的规范和最终落地的标准之间总是存在着差距。标准中共 82 个字符无需编码。 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789:/?#@!$&'()*+,;_-.~ 对于需要编码的字符,百分号编...
阅读全文
Java并发 Java

Java并发

1.基本并发方式 1.1 Callable 这个方式基本不用,会影响线程的思想。 2.线程池 Executor 2.1 ThreadExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...
阅读全文
写的很好!细数 Java 线程池的原理 编程技术

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

点击上方  IT牧场 ,选择  置顶或者星标 技术干货每日送达! 来源:http://39sd.cn/077D6 今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPoolExecutor类中的方法讲起,然后再讲述它的实现原理,接着给出了它的使用示例,最后讨论了一下如何合理配置线程池的大小。 Java 中的 Thre...
阅读全文
Java对世界不同时区timezone之间时间转换的处理方法 编程技术

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

最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间。 一、关于时区的一些概念 1.1 什么是时区? timezone,即由于世界各国家与地区经度不同,地方时也有所不同,按照经度将全球划分为24个时区。 时区有相应的英文字母缩写,例如GMT,UTC,C...
阅读全文
面试之敌系列 3 多线程详解 编程技术

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

官方定义:线程是CPU调度和分配的基本单位,一定要和进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位区别清楚。注意,一个是cpu的,一个是系统的资源(这里的资源表示除了CPU 之外的一切东西,也叫上下文) CPU进程无法同时刻共享,但是出现一定要共享CPU的需求呢?此时线程的概念就出现了。线程被包含在进程当中,进程的不同线程间共享CPU和程序上下文。(共享进程分配到的资源)。 ...
阅读全文
Dubbo注册中心(ZooKeeper、Redis)实现原理 编程技术

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

在Dubbo微服务体系中,注册中心是其核心组件之一。Dubbo通过注册中心实现了分布式环境中各服务之间的注册和发现,是各分布式节点之间的纽带。其主要作用如下: 动态加入。一个服务提供者通过注册中心可以动态地把自己暴露给其他消费者,无需消费者逐个去更新配置文件。 动态发现。一个消费者可以动态的感知新的配置,路由规则和新的服务提供者,无需重启服务使之生效。 动态调整。注册中心支...
阅读全文
SpringBoot学习笔记(十七:异步调用) Java

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

@ 目录 “异步调用”对应的是“同步调用”, 在实际开发中,有时候为了及时处理请求和进行响应,我们可能使用异步调用, 同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行;异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的程序。 异步调用的实现有很多,例如多线程、定时任务、消息队列等。 这里学习使用@Async注解来实现异步调...
阅读全文
Loading...