youyichannel

志于道,据于德,依于仁,游于艺!

0%

池化技术核心思想:减少每次获取资源的消耗,提高资源的利用率。

线程池:管理一系列线程的资源池。

线程池提供了限制和管理线程资源的方式,维护了基本的统计信息。

线程池的好处:

  • 减少资源消耗:重复利用已创建的线程,降低创建新线程和销毁线程的损耗
  • 提高响应速度:任务到达时可以不需要等待线程创建就能立即执行
  • 便于线程的管理:统一的线程池调度、分配、调优和监控

线程池一般用于执行多个不相关联的耗时任务。使用线程池可以使得多个独立的任务同时执行。

阅读全文 »

面试题:1~2亿条数据需要缓存,如何设计缓存策略?

单机是不可能单机的啦,这辈子都是不可能单机的啦~,肯定是需要分布式缓存!使用Redis如何落地呢?

阅读全文 »

MySQL主从复制的原理

MySQL主从复制是一种常见的数据库复制技术,它基于主数据库master将数据的更改事件传播到一个或多个从数据库slave。

阅读全文 »

概念

synchronized是Java中的一个关键字,主要作用是解决多个线程之间访问资源的同步性,它可以保证被其修饰的方法或者代码块在任意时刻只有一个线程执行。

使用

synchronized关键字的使用方式:

  • 修饰实例方法
  • 修饰静态方法
  • 修饰代码块
阅读全文 »

在计算机中,乐观锁和悲观锁的目的都是为了保证线程安全,避免在并发场景下的资源竞争问题。

悲观锁

概念

悲观锁在访问共享资源的时候,总是假设最坏的情况,认为共享资源的每次访问都会出现问题(别的线程来修改共享资源),因此在每次获取资源时都会上锁 => 共享资源每次只给一个线程使用,其他线程被阻塞,获得共享资源的线程使用完后才会释放锁,把资源的使用权让出。

阅读全文 »

Volatile 关键字

Volatile 保证变量可见性

Java程序中,被volatile关键字修饰的变量的特点:

  • 可见性
  • 有序性
  • 不保证原子性
阅读全文 »

MVC架构模型适合提供HTTP服务的工程架构,适合简单的小场景开发使用。

特点:

  • 简单
  • 轻便
  • 学习成本低
阅读全文 »

JMM主要定义了对于一个共享变量,当线程B对这个共享变量执行写操作后,线程A对这个共享变量的可见性。

阅读全文 »