Wesley13 Wesley13
3年前
java 学习心得体会(二)
66. EJB容器提供的服务       主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。67. EJB规范规定EJB中禁止的操作有哪些?       1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等),2.不能操作awt,3.不能实现服务器功能,4.不
Wesley13 Wesley13
3年前
Java 服务遇到线上问题怎么办?这样排查很赞!
!(https://oscimg.oschina.net/oscnet/aa912d1559c94ce7974a4a31b3f2dfcb.jpg)线上问题不同于开发期间的bug,与运行时环境、压力、并发情况、具体的业务相关。对于线上的问题利用线上环境可用的工具,收集必要信息对定位问题十分重要。1服务上常见问题所有
Wesley13 Wesley13
3年前
mysql数据库先update后insert死锁分析
先update再insert的并发死锁问题分析。背景“如果库里有对应记录,就更新,没有就插入”很简单的一个逻辑,相信很多人都会遇到。最近看一个工程里实现代码是这样的,mysql数据库走的是默认的事务级别:可重复读。包在一个事务中执行:ifupdate更新结果0thenreturn"成功";el
Wesley13 Wesley13
3年前
Golang处理大数据时使用高效的Pipeline(流水线)执行模型
Golang被证明非常适合并发编程,goroutine比异步编程更易读、优雅、高效。本文提出一个适合由Golang实现的Pipeline执行模型,适合批量处理大量数据(ETL)的情景。想象这样的应用情景:(1)从数据库A(Cassandra)加载用户评论(量巨大,例如10亿条);(2)根据每条评论的用户ID、从数据库B(MySQL)关联用户资
Stella981 Stella981
3年前
Hadoop之Mapreduce详解
1、什么是Mapreduce   Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架;Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上;2、Mapreduce框架结构及核心运行机制
Wesley13 Wesley13
3年前
NIO拷贝文件真的比IO拷贝文件效率高?
本文是基于单线程的NIO和IO拷贝文件比较,并未对并发做测试,请勿过度纠结场景!今天发现项目中有个FileUtils.copy的工具方法,打开后发现是基于io的,我给改成了基于NIO的,突然疑虑NIO拷贝文件真的如其他人说的那样比IO效率高很多么?以下是我的工具方法:/<p通过N
Stella981 Stella981
3年前
Netty学习三:线程模型
1Proactor和ReactorProactor和Reactor是两种经典的多路复用I/O模型,主要用于在高并发、高吞吐量的环境中进行I/O处理。I/O多路复用机制都依赖于一个事件分发器,事件分离器把接收到的客户事件分发到不同的事件处理器中,如下图:!(https://oscimg.oschi
可莉 可莉
3年前
2016.2.16 k12在线教育的全面架构设计
1.业务场景 公司要进行多个城市的互联网教育项目,业务是天朝正统k12(呜呼哀哉)的教育范儿,现总用户量大概在300万左右,按照现有情况估算3年后会达到千万左右,按照用户量百万级的标准进行设计,高发时段并发可达100万QPS。2.业务架构!(http://sta
Wesley13 Wesley13
3年前
Java关于volatile的一些问题
1\.开始仔细说volatile是一个复杂的问题,可以从Java内存模型聊到缓存一致性协议,很难界定学到什么地方为止。很多时候,我们并不需要那么复杂,我们需要更加实用。所以,下面我们就来聊聊volatitle在实际开发中的问题。2\.并发编程中的三个重要概念1.原子性:是指一
Wesley13 Wesley13
3年前
Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction
工作中同事遇到此异常,查找解决问题时,收集整理形成此篇文章。问题场景问题出现环境:1、在同一事务内先后对同一条数据进行插入和更新操作;2、多台服务器操作同一数据库;3、瞬时出现高并发现象;不断的有一下异常抛出,异常信息:org.springframework.dao.CannotAcquireLockExc