- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 Redis下载以及安装
一、下载redis1、进入redis官网https://redis.io/download下载页面2、下载redis稳定版二、安装1、将下载的安装包上传至linux服务器上面2、解压redis并移动到指定目录3、安装redis需要的软件gcc 和 tcl安装gcc:yum install gcc安装tcl:yum install tcl4、安装redis(1)、进入...
2019-01-16 16:45:21
6673
原创 Redis 5.0 配置主从服务器
第一步:确认关闭所有服务器的防火墙ps:(本人第一次就是吃亏在防火墙,搞了很久)关闭防火墙:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示r...
2018-12-27 23:18:09
3350
3
原创 JAVA网络编程Netty框架初识
一、NETTY简介在网络编程领域, Netty是Java的卓越框架。对于我们许多人来说,它们已经变得不可或缺, 因为它们既能满足我们的技术需求,又能满足我们的时间表。它驾驭了Java高级API的能力, 并将其隐藏在一个易于使用的API之后。 Netty使你可以专注于自己真正感兴趣的——你的应用程序的独一无二的价值。在我们开始首次深入地了解 Netty 之前,请仔细审视表 1-1 中所总结的...
2018-11-30 16:59:31
444
原创 JAVA 网络编程
一、传统的网络编程(BIO)含义:Socket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序连段都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等对的,不因为在...
2018-11-27 21:47:05
190
原创 Disruptor 学习
Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。Disruptor它是一个开源的并发框架,并获得2011...
2018-11-20 14:00:16
252
原创 JAVA多线程 重入锁和读写锁
在java多线程中,我们真的可以使用synchronized关键字来实现线程间的同步互斥工作,那么其实还有一个更优秀的机制去完成这个“同步互斥”工作,他就是Lock对象,重入锁和读写锁。他们具有比synchronized更为强大的功能,并且有嗅探锁定、多路分支等功能。一、重入锁在需要进行同步的代码部分加上锁定,但不要忘记最后一定要释放锁定,不然会造成锁永远无法释放,其他线程永远进不来的结果。...
2018-11-19 23:54:09
356
原创 JAVA Concurrent.util工具类的使用
一、CyclicBarrier的使用:假设有只有的一个场景:每个线程代表一个跑步运动员,当运动员都准备好后,才一起出发,只要有一个没有准备好,大家都等待。CyclicBarrier示例:public class UseCyclicBarrier { public static void main(String[] args) {//参数表示3个线程一起准备OK继续执行,少一个线程所有线...
2018-11-19 22:10:41
474
原创 JAVA Executor框架创建线程池
为了更好的控制多线程,JDK提供理论一套线程框架Executor,帮助开发人员有效的进行线程控制。它们都在java.util.concurrent包中,是JDK并发包的核心。其中有一个比较重要的类:Executors,他扮演着线程工厂的角色,我们通过Executors可以创建特定功能的线程池。Executors创建线程池的四种方式: ExecutorService pool1=Execut...
2018-11-16 17:18:52
1006
原创 JAVA 多线程(生产者和消费者模式)
在生产-消费模式中:通常由两类线程,即若干个生产者的线程和若干个消费者的线程。生产者线程负责提交用户请求,消费者线程则负责具体处理生产者提交的任务,在生产者和消费者之间通过共享内存缓存区进行通信。主要构成:provider:生产者线程负责生产数据consumer:消费者线程负责消费生产的数据示例:provider类:生产者/** * 生产者 * @author...
2018-11-15 17:53:43
12299
原创 java多线程Master-worker模式
Master-Worker模式是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和Worker进程。Master负责接收和分配任务,Worker负责处理子任务。当各个Worker子进程处理完成后,会将结果返回给Master,由Master做归纳和总结。其好处是能将一个大任务分解成若干个小任务,并行执行,从而提高系统的吞吐量。主要模块分为:Master:中控调度...
2018-11-15 15:41:22
241
原创 JAVA 多线程Future模式
Future模式有点类似于商品订单。比如在网购时,当看重某一件商品时,就可以提交订单,当订单处理完成后,在家里等待商品送货上门即可。或者说更形象的我们发送Ajax请求的时候,页面是异步的进行后台处理,用户无须一直等待请求的结果,可以继续浏览或操作其他内容。 Future模式的主要角色有:Main:系统启动,调用FutureClient发出请求FutureClient:返回Dat...
2018-11-14 14:31:47
275
原创 并发Queue(ConcurrentLinkedQueue和BlockingQueue)
在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue一、ConCurrentLinkedQueue:是一个适用于高并发场景下的队列,通过无锁的方式,实现了高并发状态下的高性能,通常ConcurrentLinkedQueue性能好于BlockingQueu...
2018-11-12 14:28:32
592
原创 java多线程容器ConcurrentMap与CopyOnWrite
一、ConcurrentMap接口下有两个重要的实现:ConCurrentHashMapConcurrentSkipListMap(支持并发排序功能,弥补ConcurrentHashMap)ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的HashTable,它们有自己的锁。只要多个修改操作发生在不同的段上,它们就可以并发进行。把...
2018-11-12 11:12:15
314
原创 java IO流的基础操作
一、流的分类按操作数据单位不同分为:字节流(8 bit),字符流(16 bit) 按数据流的流向不同分为:输入流,输出流 按流的角色的不同分为:节点流,处理流 (抽象基类) 字节流 字符流 输入流 InputStream Reader 输出流 ...
2018-11-08 09:59:06
144
原创 java多线程之间的通信
一、使用wait()和notify()方法结合实现通信注意:wait()和notify()必须在synchronized中使用wait():是当前线程休眠并且释放锁。notify():唤醒另一个线程实例:input线程向共享数据中写入一条数据,out线程重共享数据中读一条数据。/** * 共享资源对象 * @author Administrator * */class...
2018-11-06 15:21:25
2681
1
原创 java多线程基础
一、多线程的实现方式 1、继承Thread类继承Thread类重写run方法class Ticket extends Thread{ static int ticket = 100; Object obj=new Object(); @Override public void run() { while (true) { ...
2018-11-06 11:42:53
132
转载 JAVA JVM参数调优、以及回收器
[转]JVM系列三:JVM参数设置、分析不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无...
2018-11-02 17:23:54
276
原创 垃圾会算法
一、引用计数算法(无法解决循环引用的问题,不被java采纳)当一个对象被引用的时候+1,不被引用的时候-1,为0的时候进行回收二、根搜索算法栈中的引用的对象、方法区中静态属性引用的对象、方法区中常量引用的对象、本地方法区中JNI引用的对象都可以设置为根,其他对象只要与根有关系的对象都为可达对象,没有与根有关系的对象将为不可达对象将被GC回收三、标记/清除算法标记-清除算法是现代...
2018-11-02 17:10:44
167
原创 JVM学习记录
java 虚拟机1,程序计数器2,方法区:存放静态常量/方法,类信息等3,虚拟机栈:存放申明变量,基本数据类型4,虚拟机堆:存放new的对象数组引用数据类型的实例对象5,本地方法栈:调用底层C语言的以上为个人理解。。。以下来自网络一、 程序计数器1.1. 什么是程序计数器?程序计数器是一块较小的内存空间,可以把它看作当前线程正在执行的字节码的行号指示器。...
2018-11-02 13:43:38
127
spring帮助文档
2011-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人