美文网首页多线程高并发开发
java 高并发,数据库优化,单例模式,多线程

java 高并发,数据库优化,单例模式,多线程

作者: x曦月y | 来源:发表于2016-10-22 16:13 被阅读405次

一、解决高并发问题:

浏览器端:#####

1、浏览器缓存,减少请求
2、多个子域名部署,突破浏览器链接限制
3、图片文件独立域名部署,减少请求传输量
4、减少浏览器cookie大小

服务器端:#####

1、动静分离部署nginx+tomcat
2、应用集群,负载均衡--F5/Array/LVS/Nginx/TOMCAT
3、分布式缓存Memcached+Redis
4、应用本地缓存 Ehcache
5、JVM参数调优
6、用并发请求更好的技术 NodeJs/GoLang nodejs处理并发是Tomcat的很多倍
7、加服务器数量,加内存。

数据库:#####

1、数据库分库分表 3、读写分离 4、数据库本身缓存 Mysql Query

程序方法:#####
  • ThreadLocal 保证不同线程拥有不同实例,为每个线程提供一个副本(解决了线程安全,并不是理想中的线程同步操作)。
  • Synchronized加锁的方式,当A在使用资源时,B无法强行获得。Synchronized(锁) { }
  • Wait 、notify:Wait进行线程等待,notify将机会(调用这个方法的线程)
  • Volatile:volatile修饰的成语变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值,当成员变量发生变化时,强迫线程将变化值回写到共享内存。

二、数据库优化方案:

三、单例模式:

  • 概念:这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

  • 使用场景: 1、要求生产唯一序列号。 2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。 3、创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。

注意:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。

相关文章

  • 并行模式与算法

    java高并发程序设计 - 网易云课堂 一、单例模式 高并发情况下的单例模式 public class Stati...

  • 单例模式Java篇

    单例设计模式- 饿汉式 单例设计模式 - 懒汉式 单例设计模式 - 懒汉式 - 多线程并发 单例设计模式 - 懒汉...

  • java 高并发,数据库优化,单例模式,多线程

    一、解决高并发问题: 浏览器端:##### 1、浏览器缓存,减少请求2、多个子域名部署,突破浏览器链接限制3、图片...

  • DCL单例模式

    DCL(Double Check Lock双端检锁机制)单例模式:适用于多线程高并发场景

  • Java多线程--并行模式与算法

    Java多线程--并行模式与算法 单例模式 虽然单例模式和并行没有直接关系,但是我们经常会在多线程中使用到单例。单...

  • 高并发Java

    高并发Java(1):前言 高并发Java(2):多线程基础 高并发Java(3):Java内存模型和线程安全 高...

  • Spring

    单例模式 Spring默认是单例的,如果Spring注解的bean中有成员变量,当多线程并发访问并修改此成员变量时...

  • Java16-3 单例设计模式下的多线程访问

    当一个单例设计模式被多线程并发访问时,也会出现安全问题。 懒汉式单例设计模式(推荐使用) 不会因为同步而出现安全问...

  • 单例模式

    单例模式介绍 把单例模式放到多线程基础这块,是因为单例和多线程有一点的关系。何为单例模式? 在它的核心结构中只包含...

  • Java中单例模式你用的哪一种?

    一起讨论java中的单例模式。单例模式是java设计模式中算是最简单的设计模式了。 * java实现单例模式的写法...

网友评论

    本文标题:java 高并发,数据库优化,单例模式,多线程

    本文链接:https://www.haomeiwen.com/subject/chkhuttx.html