首页
学习
活动
专区
工具
TVP
发布

Java工程师成长之路

专栏作者
210
文章
247753
阅读量
43
订阅数
小技巧整理(一)
jmap -dump:format=b,file=/home/admin/logs/heap.hprof 6214
老梁
2020-08-11
5190
大数据量分批执行封装
在执行定时任务的时候,我们常常会有这样的需求,当数据量越来越大,可能你一次查询的数据就会导致内存溢出,所以我们后期往往又要再不断优化,比如分批处理,但分页以后代码量往往呈直线上升,且结构混乱更加复杂难懂,对此我就想写个封装方法,解决任何的分批数据库查询
老梁
2020-07-01
8180
powerdesigner两数据库对比
position属性不一致,但这并不影响两数据库的结构,我们不需要把它当警告显示出来
老梁
2020-02-14
1.1K0
sharding sphere 4.0.0-RC1版本 按年分表(自动建表)
上篇文章留了个坑,sharding sphere本身没有提供自动建表功能,但我想了想,我们可以绕过它本身的设定,它本身的数据分片是通过分片算法实现,如下继承一些接口PreciseShardingAlgorithm、RangeShardingAlgorithm等,在范围查询的时候,原本我们需要从availableTargetNames参数去判断已存在的表,从而做到不查不存在的表,插入时也是同样的道理
老梁
2020-02-13
9980
Seata为什么效率高
1. Seata为什么效率高 1.1. 应对面试官的解释 Seata的解决方案是两阶段提交的升级版,传统两阶段提交资源管理器(RM)放在数据库端,由数据库管理,需要数据库支持XA协议。 而Seata把RM从数据库端以jar包的形式移到了应用端,剥离了数据库对XA协议的要求。 Seata认为我们对数据库的提交操作90%以上都是成功的,所以我们可以节省XA协议锁定资源的时间,应用层执行完直接提交就可以释放锁,如果出错需要回滚则锁定到回滚完成 所以Seata减少了事务对资源的锁定时间,提高了并发和吞吐量 1.2.
老梁
2019-10-16
8220
事务可重复读采坑
1. 事务可重复读采坑 1.1. 问题 今天碰到个事务幻读的情况,不容易啊,这不是事务间造成的问题,而是rpc调用产生的问题,实际上业务比较规范也不会出现这样的问题。 具体情况是系统A方法a开启required事务,在事务方法中rpc调用了系统B,生成了一条订单,而之后系统A又用sql查询了这条订单,会发现根本查不到 1.2. 原因 通过select @@tx_isolation;查询mysql的事务隔离情况会发现,mysql默认是REPEATABLE-READ可重复读,映射到代码就是在一个事务内,用同样的
老梁
2019-09-30
4570
Sharding-Jdbc概念与使用技巧
通过分片算法将数据分片,支持通过=、BETWEEN和IN分片。分片算法需要应用方开发者自行实现,可实现的灵活度非常高。
老梁
2019-09-10
8820
关于DataX
为什么写这篇文章,因为初出茅庐的时候,曾经遇到的一个面试官就是DataX的作者之一,而当时我还偏偏因为业务需求做了个数据库的同步工具,我当时不知道他做过这么专业的同步工具,被虐的老惨了,他面试的其中一个问题就是,如果要你去推销一款数据库同步工具,你该怎么推销?
老梁
2019-09-10
2.3K0
美团点评CAT监控平台研究
支持 Transaction、Event、Heartbeat、Metric 四种消息模型
老梁
2019-09-10
1.4K0
Mybaits-plus实战(三)
1. Mybaits-plus实战(三) 1.1. 特殊使用规则 1.1.1. Model逻辑删除 数据库对应实体类,继承Model类可以实现AR模式的sql语句操作,但这里需要注意的是,对逻辑删除,官方说明需要实现如下重写方法才能生效,也就是使用实例化对象.deleteById() @Override protected Serializable pkVal() { /** * AR 模式这个必须有,否则 xxById 的方法都将失效!
老梁
2019-09-10
8240
Mybaits-plus实战(二)
Map<String, Object> map = new HashMap<>(); map.put("daily_price_id", 1117L); QueryWrapper<DailyPrice> queryWrapper = new QueryWrapper<DailyPrice>().allEq((k, v) -> ((Long) v) > 2000L, map); List<DailyPrice> dailyPrices = dailyPriceService.getBaseMapper().selectList(queryWrapper);
老梁
2019-09-10
9330
apollo在liunx环境实战(三)
1. apollo在liunx环境实战(三) 1.1. 准备 下载apollo源码 https://github.com/ctripcorp/apollo 1.2. 创建数据库 在自己的liunx环境
老梁
2019-09-10
5110
生产apollo搭建记录(五)
  搭建两个环境配置,dev和pro,但目前可用服务器限制,打算mysql用同一个,服务器分生产和测试
老梁
2019-09-10
3620
达达系统架构升级经验总结
1. 达达系统架构升级经验总结 1.1. 概述 达达是全国领先的最后三公里物流配送平台。达达业务主要包含两部分:商家发单,配送员接单配送。 达达的业务规模增长极大,在1年左右的时间从零增长到每天近
老梁
2019-09-10
7030
Mysql数据库异常
1. Mysql数据库异常 1.1. 数据库问题之Got error 28 from storage engine 原因首先检查磁盘是否已满,df -h一下 很可能是日志数据过大,查看该目录下文件夹和文件大小 du -h --max-depth=1 参考 https://blog.csdn.net/en_joker/article/details/76020875 ps: 之后又新的数据库问题,陆续补充
老梁
2019-09-10
8780
TX-LCN分布式事务Demo实战
<lcn.last.version>4.1.0</lcn.last.version> <dependency> <groupId>com.codingapi</groupId> <artifactId>transaction-springcloud</artifactId> <version>${lcn.last.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.codingapi</groupId> <artifactId>tx-plugins-db</artifactId> <version>${lcn.last.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency>
老梁
2019-09-10
1K0
对象规范
1. 对象规范 1.1. PO persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录。 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 1.2. BO business object业务对象 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 1.3. VO ViewObject表现层对象 主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。 1.4. DTO Dat
老梁
2019-09-10
2470
mysql连接失败HikariPool错误
1. mysql连接失败HikariPool错误 1.1. 异常 com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. 1.2. 解决 引起程序无法启动的问题是 com.zaxxer.hikari.pool.HikariPool 没能成功被 Spring 创建,原因是你的时区配置的有歧义,你需要在 jdbc url 后加上 &serverTimezone=Asia/Shanghai 这
老梁
2019-09-10
9.2K0
Mysql主从配置实战
实战mysql主从配置 准备两个docker容器,分别在3306和3307开启两个mysql为主从数据库 可执行以下命令 docker run -p 3306:3306 --name mysql3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 docker run -p 3307:3306 --name m
老梁
2019-09-10
9280
Spark从入门到精通(一)
什么是Spark 大数据计算框架 离线批处理 大数据体系架构图(Spark) Spark包含了大数据领域常见的各种计算框架:比如Spark Core用于离线计算,Spark SQL用于交互式查询,
老梁
2019-09-10
3620
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档