返回 登录
0

Java Web 工作技巧总结

在你成为领导者以前,成功只同自己的成长有关。

当你成为领导者以后,成功都同别人的成长有关。

1.聊聊并发插入&代码

场景:业务中有些ERP第三方调用该接口,导致多组同样的数据包会调用同一个插入接口。一般都是XXXParamList,一个批量插入的接口。

首先聊聊批量插入的代码,一般都会这样搞,伪代码

for(XXXParam xxx : XXXParamList)

validationXXXParam(xxx);

XXXDao.batchInsert(XXXParamList)

a.前端 – 灰色按钮

就是提交的时候控制,不能重复条form或者ajax。

b.后端 – 分布式锁

c.数据库 – UK

在数据库建表中设计时,设置 SQL UNIQUE

技巧1 关系表 -> JSON Text字段

场景:比如商品详情页面,白色Apple,金色Apple…对应的图片显示。这样针对goods寸一条记录,记录着有个字段是 sku_image:

goodsid {[“白色”:“url”],[“金色”:“url”]}

而且Text字段是不对的。应该约定好大小,比如 VARCHAR(1000)

为啥呢?其实每次get都是流量,转换成流量方向想,那就是带宽,大字段如果在高流量高并发的情况下,容易造成查询量太大,会造成网关超过带宽。

有时候登录线上数据库PM后台,忘记了某表的字段,但只知道某表。我是这样干去取代 DESC table_name 或 SHOW CREATE TABLE table_name,SQL 很简单

SELECT * FROM XXX WHERE 1 LIMIT 1;

直接可以看到列名,修改下 WHERE 里面的条件就可以查询你想的查询的。

3.grep 命令

一般日志用过日志中心查询,但是更多情况下,单机下都会跑到服务器上直接找到自己想要的日志相关。

我是这样的,找到某异常XXXException

cat xxx.log grep ‘XXXException’

然后显示该行上下几行内容,使用 -C 参数输出匹配行的前后各4行

cat xxx.log grep ‘XXXException’ -C 4

grep 小命令

4.Maven 骨架工程

来到公司,发现小项目一个接一个地上。说罢就想起前东家的骨架工程。

很简单的就能生成 HelloWorld 项目,XXXarchetype 是我开发的估计工程依赖。生成骨架项目关键代码:

mvn archetype:generate -DgroupId=com.TT -DartifactId=helloworld -DarchetypeGroupId=com.TT -DarchetypeArtifactId=com.TT.XXXarchetype -DarchetypeVersion=0.0.1-SNAPSHOT -DinteractiveMode=false

5.DO BO 互转工具

一般这种都是代码生成器,兼Java配置项。作用于两种业务model的互转:

mapstruct(效率最高)、orika(最快)、dozer(用的多)

学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:279558494 我们一起学Java!

评论