自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux设置自动重启脚本

1、定义开机启动脚本nohup java -Xms512m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -DLOG_HOME=/temp -jar /temp/xxxxx.jar >/dev/null 2>&1 &2、赋予脚本可执行权限chmod +x /etc/start

2022-03-11 12:22:13 2256

原创 linux安装redis并设置开机启动

1、安装gcc++环境 yum install gcc-c++2、上传redis压缩包,解压到/usr/local/redis下tar xzvf /vagrant_data/redis/redis-3.2.6.tar.gz -C /usr/local3、进入redis目录,使用make命令cd /usr/local/redis-3.2.6make PREFIX=/usr/local/redis installcp redis.conf /usr/local/redis4、启动redis

2022-03-10 18:27:13 972

原创 VirtualBox给Linux系统挂载外部存储磁盘

1、登陆虚拟机切换到root权限,修改为可ssh登陆vi /etc/ssh/sshd_config2、关闭虚拟机,给虚拟机添加硬盘,根据默认添加a1d6748f92f32dc3669b4e975ab4458c.png3、查看虚拟机的磁盘情况fdisk -ll90d1c19d370ed0350f7415dc4cb16401.png4、创建硬盘分区fdisk /dev/sdbf67a271e5ba918f4351bc5f04f4c8baa.png5、格式化硬盘0731ee06985b16f

2022-03-10 16:02:34 1071

原创 mysql5.7Windows安装和Linux安装手册

windows下安装配置文件[mysqld]port = 3306basedir=C:/software/mysql-5.7.21-winx64datadir=C:/software/mysql-5.7.21-winx64/datamax_connections=200character-set-server=utf8default-storage-engine=INNODBsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRA.

2022-03-10 12:37:23 81

原创 【Java互联网架构学习----005--02】BIO、NIO和AIO

包含一些要写入或者要读取的数据,在NIO库中,所有的数据都是用缓冲区处理的读写,缓冲区实质上是一个数组,通常是一个字节数组ByteBuffer,也可以是其它类型的数组,提供了数据的访问读写操作属性,如:位置、容量、上限等.ByteBuffer、CharBuffer、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer和DoubleBuffer

2020-08-01 18:47:49 125

原创 【Java互联网架构学习----005--01】Socket通信

基本概念:socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

2020-08-01 16:41:26 122

原创 【Java互联网架构学习----004--01】Disruptor并发框架

**Disruptor并发框架:**开源的并发框架,核心是一个业务逻辑处理器,能够在一个线程里每秒处理600w订单,能够在无锁的条件下实现网络Queue并发操作,高性能的异步处理并发框架.package com.neo.study004.radio01;/** * @author liyy * @date 2020/6/6 14:06 * @Fun Eventlei */public class LongEvent { private long value; public

2020-06-07 18:16:25 199

原创 【Java互联网架构学习----003--01】concurrent.until下的工具类

1、**CyclicBarrier:**中文意思是“循环栅栏”。大概的意思就是一个可循环利用的屏障。作用就是会让所有线程都等待完成后才会继续下一步行动。例子,就像生活中我们会约朋友们到某个餐厅一起吃饭,有些朋友可能会早到,有些朋友可能会晚到,但是这个餐厅规定必须等到所有人到齐之后才会让我们进去。这里的朋友们就是各个线程,餐厅就是 CyclicBarrier。package com.neo.study003.radio01;import java.util.Random;import java.uti

2020-06-06 13:19:26 113

原创 【Java互联网架构学习----002--02】Executor框架

**Executor框架:**在Java 5之后,并发编程引入了一堆新的启动、调度和管理线程的API。Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务Executor框架包括:线程池,Executor,Executors,ExecutorService,Comp

2020-05-16 00:13:00 152

原创 【Java互联网架构学习----002--01】多线程设计模式之生产者-消费者模式

生产者/消费者模式:需要使用到同步,以及线程,属于多并发行列产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据。生产者:package com.neo.study002.radio01;import java.util.Random;import java.util.concurrent.LinkedBl.

2020-05-15 22:21:44 129

原创 【Java互联网架构学习----001--17】多线程设计模式之并发模式Master-Worker模式

并发模式Master-Worker模式核心思想:系统由两类进程协同工作,即Master进程和Worker进程,Master负责接收和分配任务,Wroker负责处理子任务。当各个Worker进程将子任务处理完成后,将结果返回给Master进程,由Master进程进行汇总,从而得到最终的结果.Master接收到了一个任务,对任务进行拆分,并且分配给各个Worker,让各个Worker之间各自运行各自的子任务,最后Worker们的返回结果交给Master进行汇总并且最后返回给任务的发起方主要参与者Work

2020-05-14 22:10:39 225

原创 【Java互联网架构学习----001--16】多线程设计模式之并发模式Future模式

Future模式:是多线程设计常用的一种设计模式,类似商品订单。商品下单后,会立即得到下单成功的通知,客户不用等待后续商家的操作,只等配送到家即可,下单后到收到商品这段时间,客户可以做其他事情,不用在家等着商品。Future模式也类似Ajax的异步请求,不用等待处理结果。与传统模式的比较传统模式:客户端发出call请求,这个请求需要很长一段时间才能返回。客户端一直等待着,直到数据返回,随后进行其他业务处理。Future模式:服务程序不需要等待数据处理完成便立即返回客户端伪造的数据(相当于商品

2020-05-14 22:09:08 130

原创 【Java互联网架构学习----001--15】Java队列之SynchronousQueue

SynchronousQueue:一个不存储元素的阻塞队列。每一个 put 操作必须等待一个 take 操作,否则不能继续添加元素。内部没有容器,一个生产线程,当它生产产品(即put的时候),如果当前没有人想要消费产品(即当前没有线程执行take),此生产线程必须阻塞,等待一个消费线程调用take操作,take操作将会唤醒该生产线程,同时消费线程会获取生产线程的产品(即数据传递),这样的一个过程称为一次配对过程(当然也可以先take后put,原理是一样的)。package com.neo.study0

2020-05-14 22:06:39 158

原创 【Java互联网架构学习----001--14】Java队列之LinkedBlockingQueue

LinkedBlockingQueue:不同于ArrayBlockingQueue,它如果不指定容量,默认为Integer.MAX_VALUE,也就是无界队列。所以为了避免队列过大造成机器负载或者内存爆满的情况出现,我们在使用的时候建议手动传一个队列的大小ArrayBlockingQueue的不同点在于:队列大小有所不同,ArrayBlockingQueue是有界的初始化必须指定大小,而LinkedBlockingQueue可以是有界的也可以是无界的(Integer.MAX_VALUE),对于后者而

2020-05-14 22:05:13 152

原创 【Java互联网架构学习----001--13】Java队列之ArrayBlockingQueue

ArrayBlockingQueue:数组实现的线程安全的有界的阻塞队列。线程安全是指,ArrayBlockingQueue内部通过“互斥锁”保护竞争资源,实现了多线程对竞争资源的互斥访问。而有界,则是指ArrayBlockingQueue对应的数组是有界限的。 阻塞队列,是指多线程访问竞争资源时,当竞争资源已被某线程获取时,其它要获取该资源的线程需要阻塞等待;数组的容量是创建ArrayBlockingQueue时指定的package com.neo.study001.radio13;impor

2020-05-14 22:04:16 147

原创 【Java互联网架构学习----001--12】ConcurrentLinkedQueue并发队列及BlockingQueue接口的实现类阻塞队列

ConcurrentLinkedQueue:一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序。队列的头部 是队列中时间最长的元素。队列的尾部 是队列中时间最短的元素。新的元素插入到队列的尾部,队列获取操作从队列头部获得元素。当多个线程共享访问一个公共 collection 时,ConcurrentLinkedQueue 是一个恰当的选择。此队列不允许使用 null 元素。Api介绍:offer(Ee)将指定元素插入此队列的尾部。add(...

2020-05-14 22:03:01 122

原创 【Java互联网架构学习----001--11】并发编程之ConCurrent*类和CopyOnWriteArray*类

Concurrent*类的设计思想:锁分段技术,Concurrent*类是由Segment数组结构和HashEntry数组结构组成。Segment是一种可重入锁ReentrantLock,在ConcurrentHashMap里扮演锁的角色,Segment的结构和HashMap类似,是一种数组和链表结构,ConcurrentHashMap中默认是把segments初始化为长度为16的数组ConcurrentHashMap 是设计为非阻塞的。在更新时会局部锁住某部分数据,但不会把整个表都锁住。同步读取操作则

2020-05-14 22:00:01 133

原创 【Java互联网架构学习----001--10】并发编程之同步类容器和并发类容器

同步类容器:同步类容器都是线程安全的,但在某些场景下需要加锁来保证复合操作,复合操作指:迭代(遍历)、查询(根据指定顺序根据当前元素找到下一个元素、跳转)、以及条件运算例如:在容器迭代的过程中,容器被并发的修改了内容package com.neo.study001.radio10;import java.util.ArrayList;import java.util.Iterator;/** * @author liyy * @date 2020/4/23 22:58 * @Fun

2020-05-14 21:59:14 102

原创 【Java互联网架构学习----001--09】并发编程之ThreadLocal的概念,单例与多线程

知识点1:ThreadLocal的概念:线程局部变量,使用空间换时间,解决多线程间并发访问变量的方案,完全不提供锁,为每个线程提供变量的独立副本,保证线程安全优劣:性能方面不具备绝对的优势,并发不是很高的场景下使用加锁会更好,在高并发或者竞争激烈的场景中,它作为一种无锁的,线程安全的解决方案,可以在一定程度上减少锁竞争该属性是属于每个Thread实例特有的,所以能提供整个线程使用且不与其他线程共享知识点2:什么是单例:所谓单例就是所有的请求都用一个对象来处理,单例模式的对象在整个系统中只

2020-05-14 21:57:30 139

原创 【Java互联网架构学习----001--08】多线程之使用线程的wait()和notify()方法模拟队列Queue

简单使用wait()和notify()方法模拟队列Queue过程描述:.定义一个类队列类MyQueue,有两个方法,添加数据和取数据,此队列类有一个容器,容器有最大值和最小值,有一个计数器,还需要有一个对象锁,保证同步,即在多个线程操作同一对象的方法时需要按照我们的意愿进行操作在这里插入代码片...

2020-05-14 21:46:33 132

VS Code常用离线插件vsix包

VS Code常用离线插件vsix包

2021-04-12

Windows6.1-KB2506143-x64.msu

Windows6.1-KB2506143-x64.msu

2021-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除