Wesley13 Wesley13
3年前
java 学习心得体会(二)
66. EJB容器提供的服务       主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。67. EJB规范规定EJB中禁止的操作有哪些?       1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等),2.不能操作awt,3.不能实现服务器功能,4.不
Wesley13 Wesley13
3年前
redis 学习(常用命令及demo)
redisNOSQL介绍:是一项全新的数据库革命性运动,是一个非关系型数据库,在超大规模和高并发的SNS类型网站中应用广泛。NoSql是以keyvalue形式存储,特点是:非关系型、分布式、开源的水平可扩展。特点优势:处理超大量数据运行在便宜pc集群上击碎了性能瓶颈应用场景:1\
Wesley13 Wesley13
3年前
mysql数据库先update后insert死锁分析
先update再insert的并发死锁问题分析。背景“如果库里有对应记录,就更新,没有就插入”很简单的一个逻辑,相信很多人都会遇到。最近看一个工程里实现代码是这样的,mysql数据库走的是默认的事务级别:可重复读。包在一个事务中执行:ifupdate更新结果0thenreturn"成功";el
Stella981 Stella981
3年前
GreenPlum tidb 性能比较
主要的需求  针对大体量表的OLAP统计查询,需要找到一个稳定,高性能的大数据数据库,具体使用  数据可以实时的写入和查询,并发的tps不是很高建立数据仓库,模式上主要采用星星模型、雪花模型,或者宽表前端展示分为3类 saiku、granafa、c代码开发数据体量:事实表在35亿、维度表大的在500
Wesley13 Wesley13
3年前
Golang处理大数据时使用高效的Pipeline(流水线)执行模型
Golang被证明非常适合并发编程,goroutine比异步编程更易读、优雅、高效。本文提出一个适合由Golang实现的Pipeline执行模型,适合批量处理大量数据(ETL)的情景。想象这样的应用情景:(1)从数据库A(Cassandra)加载用户评论(量巨大,例如10亿条);(2)根据每条评论的用户ID、从数据库B(MySQL)关联用户资
Wesley13 Wesley13
3年前
Java对象的内存布局
一. 对象的创建  在语言层面上,创建对象通常仅仅只是一个new关键字而已,而在虚拟机中,这包含的主要过程有(仅限于Java普通对象,不包括数组和Class对象,这两者比较特殊):类加载检查、对象分配内存、并发处理、内存空间初始化、对象设置、执行ini方法等。主要流程如下:!(https://static.oschina
Wesley13 Wesley13
3年前
NIO拷贝文件真的比IO拷贝文件效率高?
本文是基于单线程的NIO和IO拷贝文件比较,并未对并发做测试,请勿过度纠结场景!今天发现项目中有个FileUtils.copy的工具方法,打开后发现是基于io的,我给改成了基于NIO的,突然疑虑NIO拷贝文件真的如其他人说的那样比IO效率高很多么?以下是我的工具方法:/<p通过N
Stella981 Stella981
3年前
PriorityBlockingQueue 介绍
PriorityBlockingQueue是一个基于优先级堆的无界的并发安全的优先级队列(FIFO),队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的Comparator进行排序,具体取决于所使用的构造方法。实现原理PriorityBlockingQueue通过使用堆这种数据结构实现将队列中的元素按照某种排序规则进行排序,从而改变先进先
Wesley13 Wesley13
3年前
Java关于volatile的一些问题
1\.开始仔细说volatile是一个复杂的问题,可以从Java内存模型聊到缓存一致性协议,很难界定学到什么地方为止。很多时候,我们并不需要那么复杂,我们需要更加实用。所以,下面我们就来聊聊volatitle在实际开发中的问题。2\.并发编程中的三个重要概念1.原子性:是指一
Stella981 Stella981
3年前
NRedis
一、NRedisProxy介绍NRedisProxy是一个Redis中间件服务,第一个Java版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;以netty作为通信传输工具,让它具有高性能,高并发,可分布式扩展部