Wesley13 Wesley13
4年前
volatile 关键字的使用场景及其原理
一、 Java线程的内存工作模型在当前的Java内存模型下(JVM1.2之后),线程(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fbaike.baidu.com%2Fitem%2F%25E7%25BA%25BF%25E7%25A8%258B)可以把变量保存在本地内存(
Stella981 Stella981
4年前
Spring Boot 集成 Mybatis 实现双数据源
这里用到了SpringBootMybatisDynamicDataSource配置动态双数据源,可以动态切换数据源实现数据库的读写分离。添加依赖加入Mybatis启动器,这里添加了Druid连接池、Oracle数据库驱动为例。<dependency<groupIdorg.mybatis.spring
Stella981 Stella981
4年前
JVM(6):JVM 调优
JVM(6):JVM调优从Eclipse开始来源:纯洁的微笑,www.cnblogs.com/ityouknow/p/5647513.html概述什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配、回收的情况来调整各区域内存比例或者gc回收的策略;更深一层就是根据dump出来的内存结构和线程栈来
Wesley13 Wesley13
4年前
Java并发包线程池之ForkJoinPool即ForkJoin框架(二)
前言前面介绍了ForkJoinPool相关的两个类ForkJoinTask、ForkJoinWorkerThread,现在开始了解ForkJoinPool。ForkJoinPool也是实现了ExecutorService的线程池。但ForkJoinPool不同于其他类型的ExecutorService,主要是因为它使用了窃取工作机制:池中的所有线程
Stella981 Stella981
4年前
Flink(一)Flink的入门简介
一. Flink的引入    这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布
Wesley13 Wesley13
4年前
Java编程思想笔记整理
实现线程的方法:(1)继承thread(底层实现了runable)(2)实现Runable(3)Executor创建线程池(4)实现Callable接口(带返回结果)对于callable接口,可以通过FutureTask包装实现线程,也可以使用ExecutorService对象的submit实现。使用executor创建线程
Stella981 Stella981
4年前
Netty Nio启动全流程
NettyNio启动全流程1\.各组件之间的关系!netty(https://oscimg.oschina.net/oscnet/b935e907e763d3f5562bd9b5d71578befc9.jpg)说明:EventLoopGroup类似线程池,EventLoop为单线程,每个EventLoo
记一次老商家端应用内存突然飚高原因分析 | 京东物流技术团队
一、排查过程问题发现是因为当时接到了内存UMP报警信息,如下:通过查看PFinder发现内存一直在增长,没有停止迹象,触发fullGC也并没有下降趋势:当机立断,先立即去NP上摘除了此台机器流量,然后继续观察,发现内存依然在不断增长。随即查看故障分析,并没
记一次老商家端应用内存突然飚高原因分析
作者:京东物流刘邓忠一、排查过程问题发现是因为当时接到了内存UMP报警信息,如下:通过查看PFinder发现内存一直在增长,没有停止迹象,触发fullGC也并没有下降趋势:当机立断,先立即去NP上摘除了此台机器流量,然后继续观察,发现内存依然在不断增长。随
京东云开发者 京东云开发者
11个月前
spark为什么比mapreduce快?
作者:京东零售吴化斌spark为什么比mapreduce快?首先澄清几个误区:1:两者都是基于内存计算的,任何计算框架都肯定是基于内存的,所以网上说的spark是基于内存计算所以快,显然是错误的2;DAG计算模型减少的是磁盘I/O次数(相比于mapredu