Wesley13 Wesley13
3年前
java 学习心得体会(二)
66. EJB容器提供的服务       主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。67. EJB规范规定EJB中禁止的操作有哪些?       1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等),2.不能操作awt,3.不能实现服务器功能,4.不
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年前
PriorityBlockingQueue 介绍
PriorityBlockingQueue是一个基于优先级堆的无界的并发安全的优先级队列(FIFO),队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的Comparator进行排序,具体取决于所使用的构造方法。实现原理PriorityBlockingQueue通过使用堆这种数据结构实现将队列中的元素按照某种排序规则进行排序,从而改变先进先
可莉 可莉
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.原子性:是指一
Stella981 Stella981
3年前
NRedis
一、NRedisProxy介绍NRedisProxy是一个Redis中间件服务,第一个Java版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;以netty作为通信传输工具,让它具有高性能,高并发,可分布式扩展部
Wesley13 Wesley13
3年前
Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction
工作中同事遇到此异常,查找解决问题时,收集整理形成此篇文章。问题场景问题出现环境:1、在同一事务内先后对同一条数据进行插入和更新操作;2、多台服务器操作同一数据库;3、瞬时出现高并发现象;不断的有一下异常抛出,异常信息:org.springframework.dao.CannotAcquireLockExc