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

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

URI不规范编码解决方案

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

Spring WebFlux启动源码分析

根据之前的文章 《Spring Boot启动源码分析》可知,当执行 AbstractApplicationContext -> onRefresh() 方法时,如果引入了 webflux 相关依赖,会创建 WebServer。 /** ReactiveWebServerApplicationContext **/ private void createWebServer() { ...
阅读全文
Java并发 编程技术

Java并发

1.基本并发方式 1.1 Callable 这个方式基本不用,会影响线程的思想。 2.线程池 Executor 2.1 ThreadExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...
阅读全文
Java软引用、弱引用、虚引用原理 Java

Java软引用、弱引用、虚引用原理

在Java中总共有4中核心的引用类型——强引用、软引用、弱引用、虚引用。一般情况下我们往往用到强引用比较多,很少会遇到场景用到其他三种引用,所以对其原理的掌握就更加是一纸空白。此次,恰遇机会就正好研究一下这四种引用的原理,以解己惑。 关于强引用,因为日常使用,大家基本都比较清楚,因此本文就不探究强引用这块。除了上述的四种引用之外,还有一种引用类型,叫做FinalReference,本文也同样不...
阅读全文
mybatis sqlsession与sqlsquery、transaction、connection Java

mybatis sqlsession与sqlsquery、transaction、connection

sqlsession和connection 一个sqlsession一般对应一个connection,并且mybatis默认每次获取session都会开启一个事务,且不自动提交事务。如果更新操作完成后不手动commit,则在连接断开时会将更新操作回滚,一个sqlSession(一个transaction)中可以多次commit,commit后cache和statement刷新(一般一个...
阅读全文
OkHttp 官方中文文档 Java

OkHttp 官方中文文档

[本文翻译来自 官方OkHttp Wiki](https://github.com/square/okhttp/wiki) 一、Calls HTTP客户端的工作是接受你的 request ,并产生它的 response 。这个在理论上是简单的,但在实践中确是很棘手。 1.1 请求 每一个HTTP请求中都包含一个URL,一个方法(如 GET 或 POST ),和一个请求头列...
阅读全文
Loading...