JAVA 八月 28, 2022

【转】Java 线程状态之 BLOCKED

文章字数 6.9k 阅读约需 6 mins.

原文地址:https://xiaogd.net/md/java-线程状态之-blocked

目录

  • BLOCKED 状态的定义
  • 进入(enter)同步块时阻塞
  • wait 之后重进入(reenter)同...
查看全文

JAVA 八月 28, 2022

【转】Java 线程状态之 BLOCKED

文章字数 6.9k 阅读约需 6 mins.

原文地址:https://xiaogd.net/md/java-线程状态之-blocked

目录

  • BLOCKED 状态的定义
  • 进入(enter)同步块时阻塞
  • wait 之后重进入(reenter)同步块时阻塞
  • 总结

上一篇中,我们强调了 BLOCKED 状态跟 I/O 的阻塞是不同的,它不是一般意义上的阻塞,而是特指被 synchronized 块阻塞,即是跟线程同步有关的一个状态。

前面已经说过 BLOCKED(阻塞) 的简单定义为:

一个正在阻塞等待一个监视器锁的线程处于这一状态。(...

查看全文

JAVA 八月 21, 2022

【转】Java 线程状态之 RUNNABLE

文章字数 9k 阅读约需 8 mins.

原文地址:https://xiaogd.net/md/java-线程状态之-runnable

目录

  • 什么是 RUNNABLE?
  • 与传统的 ready 状态的区别
  • 与传统的 running 状态的区别
  • 当 I/O 阻塞时
  • 如何看待 RUNNABLE 状态?

上一篇我们粗略谈到了 Java 的 6 种线程状态,并对其中较为简单的 NEW 和 TERMINATED 做了分析,现在我们具体来看下 State.RUNNABLE 状态,即所谓的可运行状态。(以下简称 runnable)

再次强调,这...

查看全文

BOOK 八月 14, 2022

《Go in Action》书摘

文章字数 42k 阅读约需 38 mins.

1.1.2 Concurrency

  • Channels help to enforce the pattern that only one goroutine should modify the data at any time.
  • … channels are used to send data between several running goroutines.
  • If your main function doesn’t exist in package main, the build tools...
查看全文

JAVA 八月 07, 2022

解决Mybatis-Plus更新对象时字段更新为空值的问题

文章字数 8k 阅读约需 7 mins.

mybatis-plus(简称:mp)执行更新操作,将某些字段值置为 空 或者 null,持久层执行后,需要更新为空值的字段仍然保持原本的值。
显然和我们预期的结果不一致。

我们可以参照以下三种方案处理 mp 执行更新操作空值的情况。

针对实体类中字段的注解,在 mybatis-plus 的 @TableField
有 FieldStrategy-字段验证策略 和 FieldFill-自动填充 两种方式:

FieldStrategy 字段策略的3个使用场景:

  • insertStrategy insert...
查看全文

OTHERS 七月 31, 2022

态马商战复盘

文章字数 16k 阅读约需 15 mins.

TechMark是一种形式新颖的创新的管理培训课程,它凭借强大的计算机系统创造了一个仿真度极高的商业竞争环境,为学员带来集知识性、趣味性、仿真性和实践性为以一体的商战训练。 —— TechMark是什么

在态马商战(TechMark)的世界里,有三种虚拟产品,三个模拟地区,参与者分组成立临时公司,以相同的起点起步,在两天一晚的时间里,根据已知的信息和 TechMark 系统计算出的实际数据,进行六轮模拟商业决策,角逐满足各项经营指标且股价最高的 TechMark 冠军荣誉。

正所谓兵马未动粮...

查看全文

JAVA 七月 24, 2022

Java 线程状态介绍

文章字数 11k 阅读约需 10 mins.

JVM 中的线程,有六种状态,定义在 java.lang.Thread.State 枚举类中,从 1.5 版本开始,至目前最新的 1718,基本没有变化。

先来看一下 Java Doc 中对这六种状态的描述:

注意下面那句话:

A thread can be in only one state at a given point in time. These states are virtual machine states which do not reflect any operating...

查看全文

TEST 七月 17, 2022

ApacheBench 简介

文章字数 8.3k 阅读约需 8 mins.

ApacheBench 简称 ab,是 Apache HTTP Server 中的一个性能测试工具,可单独安装,在命令行中直接使用,可基于 HTTP 接口对任意 HTTP 服务器进行性能测试,得到每秒请求数(RPS)、平均请求响应时间等性能指标。

Ubuntu/Debian

$ sudo apt-get update 
$ sudo apt-get install -y apache2-utils

CentOS/Readhat/Fedora

$ yum install httpd-tools

MacOS...

查看全文

SPRING 七月 10, 2022

【转】Spring 之 Interceptor

文章字数 5.3k 阅读约需 5 mins.

原文地址:https://wyiyi.github.io/amber/2022/07/01/interceptor/

什么是拦截器

在 Spring Web MVC 中,拦截器(Interceptor)同 Servlet 中的过滤器(Filter) 类似,都可以实现对用户的请求做出相应的处理。

所有 HandlerMapping 的实现都支持处理程序拦截器,当想将特定功能应用于某些请求时很有用 —— 例如检查权限。
拦截器必须实现 org.springframework.web.servlet 包中...

查看全文

FASTDFS 七月 03, 2022

FastDFS 性能测试

文章字数 15k 阅读约需 14 mins.

FastDFS 是一个开源的分布式文件存储系统。

FastDFS 类似 Google FS,属于应用级文件系统,不是通用的文件系统,只能通过专有 API 访问。 —— FastDFS架构及特点介绍

代码库中相关文档并不是很多,可以关注上面链接中的作者公众号(FastDFS分享与交流)或微信(fastdfs)了解更多信息。本节大部分内容也摘自作者公众号中的文章 FastDFS架构和设计理念解读 及其他文章。

FastDFS 的架构如下图所示:

FastDFS 只有两个角色:tracker ...

查看全文

CLOUD NATIVE 六月 26, 2022

《Kubernetes in Action 中文版》书摘

文章字数 57k 阅读约需 51 mins.

  • 现在,我们在七牛内部全面推广和应用 Kubernetes,不仅把无状态服务运行在 Kubernetes 中,也把有状态服务比如数据库运行在 Kubernetes 中,正如使用 GoLang 提高了我们的开发效率一样,使用 Kubernetes 大大提高了我们的部署和运维效率。

1.2.1 什么是容器

  • 如果多个进程运行在同一个操作系统上,那容器到底是怎样隔离它们的。有两个机制可用:第一个是 Linux 命名空间,它使每个进程只看到它自己的系统视图(文件、进程、网络接口、主机名等);第二个是 Linux...
查看全文
加载更多
0%