多线程/并发/网站优化/运维
放肆青春的博客
www
展开
-
多线程(一)高并发和多线程的关系
“高并发和多线程”总是被一起提起,给人感觉两者好像相等,实则 高并发 ≠ 多线程 多线程是完成任务的一种方法,高并发是系统运行的一种状态,通过多线程有助于系统承受高并发状态的实现。 高并发是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问或者socket端口集中性收到大量请求(例如:12306的抢票情况;天猫双十一活动)。该情况的发生会导致...转载 2018-03-20 08:40:12 · 515 阅读 · 0 评论 -
依赖注入原理(为什么需要依赖注入)
0. 前言在软件工程领域,依赖注入(Dependency Injection)是用于实现控制反转(Inversion of Control)的最常见的方式之一。本文主要介绍依赖注入原理和常见的实现方式,重点在于介绍这种年轻的设计模式的适用场景及优势。1. 为什么需要依赖注入控制反转用于解耦,解的究竟是谁和谁的耦?这是我在最初了解依赖注入时候产生的第一个问题。下面我引用Martin Flower在解...转载 2018-03-23 23:27:34 · 562 阅读 · 0 评论 -
Java并发多线程面试题 Top 50
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用什么方式...转载 2018-03-25 15:40:47 · 164 阅读 · 0 评论 -
java实现同步的几种方式(总结)
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 一、实例 举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块...转载 2018-03-26 10:39:49 · 1218 阅读 · 0 评论 -
java多线程之线程的优先级
在操作系统中,线程可以划分优先级,优先级较高的线程得到CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务(其实并不是这样)。在java中,线程的优先级用setPriority()方法就行,线程的优先级分为1-10这10个等级,如果小于1或大于10,则抛出异常throw new IllegalArgumentException(),默认是5。[java] view plain copy...转载 2018-03-26 11:42:47 · 292 阅读 · 0 评论 -
tomcat+nginx+redis实现均衡负载、session共享
nginx -v 查看nginx版本 start nginx启动nginx命令 nginx -s reload 修改了配置文件后重新reload nginx -s stop 立刻停止 nginx -s quit 优雅地停止 在项目运营时,我们都会遇到一个问题,项目需要更新时,我们可能需先暂时关闭下服务器来更新。但这可能会出现一些状况: 1.用户还在操作,被强迫终止了(我们可以看...转载 2018-04-03 20:50:34 · 202 阅读 · 0 评论 -
Tomcat+Nginx+Redis实现均衡负载实现session共享(2)
1.redis简介及下载安装作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API。与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久化,而且redis是周期性的将数据写到硬盘上。这就意味着一旦我们服务器出现断电、重启之类的情况,我们很可能会出现数据丢失的情况,所以不建议使用re...转载 2018-04-03 20:53:35 · 167 阅读 · 0 评论