月眸—后端技术交流,大数据技术交流,资源分享
ActiveMQ学习一:ActiveMQ快速上手
随着业务系统复杂度的提高,我们需要对系统进行拆分,不同的系统负责不同的业务,这样便可以实现软件架构的解耦。但是随之而来又会出现一些新的问题,比如我们要新增一个功能,都要对其上游接口或者关联系统进行改造 【阅读更多...】
大数据生态系统(转载)
一、大数据相关工作介绍 大数据方向的工作目前主要分为三个主要方向: 大数据工程师 数据分析师 大数据科学家 其他(数据挖掘等) 二、大数据工程师的技能要求 必须掌握的技能 Java高级(虚拟机、并发) 【阅读更多...】
多线程通信例子
需求:线程A 打印5遍,线程B打印10遍,线程C打印15遍。且线程A打印完才能打印线程B,线程B打印完才能打印线程C package com.demo.lock; import java.util. 【阅读更多...】
java中的引用Reference
1、总结 Java从1.2版本开始引入了4种引用,总结就是“强软弱虚”,这4种引用的级别由高到低依次为: 强引用 > 软引用 > 弱引用 > 虚引用 ⑴强引用(StrongRefer 【阅读更多...】
GC算法之复制算法
常见的GC算法有四种:引用计数法,标记清除算法、复制算法、标记整理算法。其中引用计数法效率太慢,现在已经不使用了。标记清除算法由于回收之后存在大量的内存碎片,存在效率和空间问题!为了解决效率问题,引出 【阅读更多...】
JVM运行原理
1.JVM简析 作为一名Java使用者,掌握JVM的体系结构也是很有必要的。 说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java 【阅读更多...】
java死锁练习
package com.sy.lock; import java.util.concurrent.TimeUnit; /** * 描述: 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者 【阅读更多...】
线程池—合理设置线程池大小
平时我们在项目中使用多线程时,建议不要使用jdk自带的四个创建线程池的方法:newCachedThreadPool,newFixedThreadPool,newSingleThreadExecutor 【阅读更多...】
生产者消费者模式代码练习(阻塞队列版)
package com.sy.concurrency; import java.util.concurrent.ArrayBlockingQueue; import java.util.concur 【阅读更多...】
synchronized和lock的区别
区别如下: 1,原始构成 synchronized是关键字,属于JVM层面,通过wait,notify和notifyAll来调度线程。 Lock是具体类,是api层面的锁。 2,使用方法 synchr 【阅读更多...】