• 等级
  • 47935 访问
  • 93 原创
  • 2 转发
  • 47643 排名
  • 13 评论
  • 10 获赞

java并发编程2.3并发工具类——Semaphore、Exchange、FutureTask

环境:jdk1.8摘要说明:上一章节主要讲述两个工具类CountDownLatch和CyclicBarrier使用及比较;本章节主要讲述其他几个并发工具类的使用:Semaphore:主要用来控制同时访问某个特定资源的线程数量,用在流量控制;Exchange:主要用来进行两个线程间的数据交换;FutureTask:前面已经介绍过,主要结合Callable、Future来进行线...

2019-02-18 16:06:01

java并发编程2.2并发工具类——CountDownLatch和CyclicBarrier使用及比较

从本章节主要讲述两个工具类CountDownLatch和CyclicBarrier使用及比较;CountDownLatch:一种同步辅助工具,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成;CyclicBarrier:一种同步辅助工具,它允许一组线程相互等待到达共同的屏障点

2019-02-02 15:24:18

java并发编程2.1并发工具类——Fork-Join

环境:jdk1.8摘要说明:上一大章节主要讲述线程的基础概念,线程间的共享及协作;从本章节开始会介绍并发编程的常用工具类;本章节主要介绍Fork-Join基础概念及用法步骤:1.Fork-Join基础概念什么是分而治之?分而治之的基本思想就是将大任务分割成小任务,最后将小任务聚合起来得到结果。Fork-Join就是基于分而治之思想而设计的,即规模为N的问题,N&...

2019-02-01 17:21:03

java并发编程1.4线程间的协作——wait、notify/notifyAll等

环境:jdk1.8摘要说明:上两章我们主要讲了线程共享的相关关键字的使用方法;本章节主要讲述线程协作的相关概念及一些关键字用法线程间的协作:假设A线程不满足某个业务条件进行不下去,线程处于等待中;即此时需要等待B线程进行相关操作满足A线程的业务员条件;如果需要A不停的轮询去查询条件是否满足就显得笨重及不高效,此时如果B满足条件后通知A线程停止等待才最为高效快捷,这就是线程间的协...

2019-01-30 18:07:13

java并发编程1.3线程间的共享——volatile,ThreadLocal

环境:jdk1.8摘要说明:上一张介绍了synchronized关键字的使用;本章节主要讲述java内存中的一些相关概念及volatile,ThreadLocal关键字的用法;步骤:1.基础概念本章节我们主要介绍java内存模型的三大特征:原子性,可见性,有序性;原子性:原子是世界上的最小单位,具有不可分割性。比如a=0;(a非long和double类型)这个操...

2019-01-29 17:23:33

java并发编程1.2线程间的共享——synchronized

环境:jdk1.8摘要说明:上节我们主要介绍了线程的基础概念,启动停止方式,状态及常用方法多个线程同时进行时,往往需要共享资源,如变量;本节主要讲述线程间共享的关键词synchronized的使用;synchronized关键字:代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、D等)正在用这个方法(或者该类的其他同...

2019-01-21 16:43:16

java并发编程1.1线程基础

摘要说明:本篇文章首先带领大家了解下一些基础概念,接着介绍下java常用的线程启动方式;步骤:1.基础概念CPU核心数和线程数的关系核心数:线程数=1:1 ;使用了超线程技术后--->1:2;这里面指的是同一时刻cpu执行线程数CPU时间片轮转机制又称RR调度,会导致上下文切换;时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现...

2019-01-21 10:14:53

nginx学习1.8 配置https

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下如何配置跨域、缓存、压缩;本章节主要讲述nginx的https配置;步骤:1.https配置首先我们要确定你的nginx安装了ssl模块:#./nginx-V确认后需要有证书公钥和私钥,上传到服务器上;接着就是配置https端口443: server{...

2019-01-16 16:46:54

nginx学习1.7 nginx配置跨域(CORS)、防盗链(valid_referers)、缓存(expires)、压缩(gzip)

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下的常用内置变量及if语句;本章节主要讲述nginx的如何配置跨域、缓存、压缩;步骤:1.跨域场景:首先我们举例看看什么叫做跨域:当我们加载static.xxxx.com的页面之后,在js中调用www.xxxx.com接口,这个时候就叫做跨域;因为请求的主体已发生改变,浏览器拒...

2019-01-15 18:03:15

nginx学习1.6 nginx内置变量及if语句

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下的负载均衡的配置;本章节主要讲述nginx的常用内置变量及if语句;步骤:1.echo和setechonginx有个模块echo,是在nginx程序上扩展了echo输出字符的功能,对于调试很方便;参考文档:链接echo默认是不安装的,编译时会报nginx:[emerg]...

2019-01-15 18:02:40

nginx学习1.5 nginx负载均衡配置

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下的一些常用语法;本章节主要讲述nginx的三种负载均衡策略及其相关配置:步骤:1.upstream首先我们看一个负载均衡upstream的配置示例:upstreambackend{serverbackend1.example.comweight=5;ser...

2019-01-14 17:39:29

杂记之@Asyns异步调用的正确打开姿势

环境:spring;springboot摘要说明:项目开发过程中往往会出现需异步调用的情况,以便提高系统的响应速度或者提高部分业务的处理时间;但异步调用需要根据系统的承受能力做好相关配置,而不是放任随意使用;如系统批跑5000条数据做相关业务处理;若循环异步处理,则很可能将数据库给压垮;所以这里需要控制系统异步线程池的大小及线程池的满额执行策略;步骤:1.@Asy...

2019-01-14 14:59:01

nginx学习1.4 nginx常用语法之root、alias、proxy_pass、rewrite等

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下server节点中location进行详细的解析;本章节主要讲述nginx其他常用语法:步骤:1.root、alias及indexroot语法:rootpath 默认值:roothtml 使用字段:http,server,location,location中的if字...

2019-01-09 17:26:19

nginx学习1.3 nginx下location配置详解

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇我们对配置文件的所有配置做了整体的详解,及日志的配置及分割本篇主要讲述nginx下server节点中location进行详细的解析,后续主要配置工作也在于此;步骤:1.虚拟主机从上篇我们可以看到主配置文件下nginx.conf的整体结构如下:其中main,event,http都为全局配置;而se...

2019-01-09 09:37:59

nginx学习1.2 nginx主要配置详解

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇我们介绍的nginx的基础概念,安装、目录及启停,链接;本篇主要讲述nginx的主要配置结构和各配置详解;步骤:1.配置文件整体结构:首先我们基于nginx-1.9,15上一个默认nginx配置如下:#usernobody;worker_processes1;#error_log...

2018-12-19 08:53:36

nginx学习1.1 nginx简介及安装使用

环境:centos6/7摘要说明:Apache仍然是时长占用量最高的web服务器,据最新数据统计,市场占有率目前是50%左右。主要优势在于一个是比较早出现的一个Http静态资源服务器,同时又是开源的。所以在技术上的支持以及市面上的各种解决方案都比较成熟。Apache支持的模块非常丰富。Nginx是俄罗斯人编写的一款高性能的HTTP和反向代理服务器,在高连接并发的情况下,它能够支持高...

2018-12-17 15:32:07

Tomcat配置ssl证书(.pfx)实现HTTPS

摘要说明:本篇文章主要讲述如何给Tomcat服务器使用.pfx证书配置https协议步骤:.pfx证书主要包括两部分,一个为.pfx文件,一个为密钥;首先我们将.pfx文件上传到服务器,本篇文章为了演示相对路径将.pfx文件上传到tomcat下新建文件夹cert下文件上传成功后需修改tomcat目录conf下的server.xml,添加443端口配置,配置如下:&lt...

2018-11-21 09:39:33

JAVA开发经验(一):Eclipse使用1.3-引入jar到本地资源库并解决二次依赖

摘要说明:当我们想加自己开发或其他非开源的jar包加入到maven管理时,就首先需要将jar包加入到本地资源库,本篇文章主要讲述如何使用eclipse将jar包加入本地资源库;步骤:1.添加到本地资源库右击--》import--》选择Maven下--》InstallordeployanartifacttoaMavenrepository首先选择要导入的pom...

2018-11-18 23:37:19

zookeeper学习实践1.1:zookeeper简介及安装

环境:centos7.4,jdk1.8.0_191,zookeeper-3.4.12摘要说明:随着单节点应用越来越多的制约性,分布式系统的高并发,高性能就体现出来了;但分布式系统同时也会带来对应的问题,如通信异常,网络分区,三态,节点故障等;根据分布式的CAP理论(即一致性,可用性,分区容错性)架构师需要在可用性和一致性上做出对应的平衡;通常可以根据BASE理论(即Basically...

2018-11-14 15:13:33

liunx基础之基础命令合集1.4用户、用户组管理

环境:CentOS7摘要说明:本篇主要讲述如何进行配置多用户及用户组步骤:1.创建用户及用户组常用步骤如下:#创建用户组groupaddgroup-test#创建文件夹mkdir/home/user-test#创建用户并指定用户组和目录useradd-ggroup-test-d/home/user-test/test-user1test-u...

2018-11-07 16:30:04

叶落自飘零

我就是我,是颜色不一样的烟火!
关注
  • 计算机软件/IT/JAVA
  • 中国 上海 浦东新区
奖章
  • 专栏达人
  • 持之以恒