Java Web 工作技巧总结 16.10

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!

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

1.聊聊并发插入&代码

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

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

for(XXXParam xxx : XXXParamList)
validationXXXParam(xxx);
XXXDao.batchInsert(XXXParamList)

a.前端 – 灰色按钮
就是提交的时候控制,不能重复条form或者ajax。
b.后端 – 分布式锁
分布式锁的资料上次分享过:传送门 ->
http://www.cnblogs.com/PurpleDream/p/5559352.html
c.数据库 – UK
在数据库建表中设计时,设置 SQL UNIQUE 约束:传送门->
http://www.w3school.com.cn/sql/sql_unique.asp

2.继续说说数据库字段设计

技巧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 小命令 详解:传送门
https://linux.cn/article-5453-1.html

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

详细教程,传送门->
http://www.voidcn.com/blog/aosica321/article/p-5764716.html

5.DO BO 互转工具

一般这种都是代码生成器,兼Java配置项。作用于两种业务model的互转:
mapstruct(效率最高)、orika(最快)、dozer(用的多)
详细教程,传送门
http://www.tianshouzhi.com/api/tutorials/mapstruct
http://blog.csdn.net/a258831020/article/details/48247187

如以上文章或链接对你有帮助的话,别忘了在文章结尾处评论哈~ 你也可以点击页面右边“分享”悬浮按钮哦,让更多的人阅读这篇文章。

AB ApacheBench BST C++ Collections Cookie date DDL DML Ehcache fast-framework Git HTTP IO Java java8 JavaEE JSON JVM Maven mvc Properties quartz Redis REST ServletSpring Spring Boot SQL time Token Tomcat transaction Web安全 事务 二叉搜索树 二叉树 状态码 设计模式 随笔 集合

时间: 2024-10-31 00:48:53

Java Web 工作技巧总结 16.10的相关文章

Java Web 工作技巧总结 16.8

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! 四时不谢之兰,百节长青之竹,万古不败之石,千秋不变之人. 1. AOP – LOG项目中,一个请求过来,一个响应回去. 经常我们需要记录请求过来的对应的 类,方法名,请求参数和IP等一些信息,还有响应出去的,如果是 JSON 结果集的话.比如现在一般暴露给前端(前后端分离),或者其他模块基本走 Restful 接口.那怎么优雅的去记录这些东西呢? beta 1.0 1 2 3 4 5 6 7

2016.5.5(Java Web工作原理)

建动态服务器端内容的过程 CGI技术 微软的ASP和ASP.NET技术 基于Java的Servlet/JSP技术 HTTP是一种超文本协议,一种无状态的协议 HTTP请求分为:1.请求行 2.请求头 3.消息体 4.分隔请求头 5.消息体空行 HTTP 1.1 版本中,定义了有八种可能的HTTP请求方法:1.get:用于向服务器检索资源.(查找)2.post:用于向服务器发送数据,并要求指定的url处理.(新增输入)3.head:与get方法相同,服务器只返回转台行和头标,并不返回请求文档.4.

Java Web工作原理

学习Java Web应用程序开发,首先需要了解其核心的基础内容,即HTTP协议.HTTP协议是一种超文本传输协议,用于在计算机网络中的通信.一个完整的web应用程序由网页应用程序,客户端浏览器,web服务器,以及HTTP协议四部分组成.HTTP协议作为连接浏览器和web服务器的纽带,在web应用开发中起着重要作用. HTTP协议中定义的事物处理主要分四步:第一步,建立客户端和服务器之间的连接.第二步,由客户端向服务器发送HTTP请求.第三步,服务器结束到HTTP请求后,进行处理,生成HTTP响应

第一章 Java Web工作原理

一:在本章我们将学到如下的内容 >HTTP协议原理 >服务器端Web编程原理 >Servlet与Web容器 >Java Web应用程序的组成 >Tomcat介绍 一:1.1解析HTTP协议 HTTP:超文本传输协议(HyperText Transfer Protocol) HTTP是一种无状态的协议,意思是指在Web浏览器和Web服务器之间不需要建立持久的连接. HTTP是遵循请求/响应(Request/Response)模型的. HTTP处理流程: 1.1.1建立连接 在j

java web 工作原理

HTTP是一套计算机在网络中通信的一种规则 HTTP请求包含请求行.请求头.空行和消息体 HTTP响应包含状态行.响应头.空行和消息体 Web服务器存在缺陷 CGI程序严重消耗服务器资源,Servlet可以消除这种缺陷 Web容器给处于容器中的应用程序组件提供一个环境 一个web应用程序包括配置文件.静态文件.JSP.类文件和包 Tomcat既是一个优秀的JSP/Servlet容器,也是一个HTTP服务器 server.xml和web.xml是Tomcat主要的配置文件 welcome-file

Java web 调试技巧之查看浏览器中调试中的network

在java web开发过程中尤其后台开发经常需要查看浏览器调试中的network项:今天在开发在线预览系统时用到了flexpaper插件,这个插件会调用FlexPaperViewer.swf这个软件(姑且这么称谓吧),这个软件处理的都是.swf的文件, 那么在tomcat的web.xml文件中是应该配置的content-type是application/x-shockwave-flash 看到network中发生了500错误,说明是服务器端的错误,在查看红框中最下面的部分:content-typ

Java初窥门径,学而时习之。.——16/10/11

0基础的文科生,今天开始了java语言的学习,俗话说学而时习之,所以就通过写博客的方式复习并记录学习轨迹. 首先自然是了解Java语言,由于JVM也就是虚拟机的存在这门语言实现了一次编写跨多平台运行,这也是Java风靡各平台的原因之一.之后就是了解Java目录下存放的几个重要文件夹,有存放编译器解释器等工具的bin目录,有存放附加库,开发工具所需的非核心类库的lib目录,还有归档源代码的src.zip文件.在配置环境变量,安装了文本编辑器之后,我们就进入了第一个程序HelloWorld的编写.

(一)JAVA Web工作原理

servlet的运行过程: web服务器收到客户端的HTTP请求后, 1)web服务器首先检查是否已装载并创建了该servlet的实例对象,如果是,直接第4)步. 2)创建一个servlet实例对象 3)调用该servlet实例对象的init()方法 4)创建一个用于封装http请求的httpservletRequest对象和一个代表http响应的httpservletResponse对象,然后调用servlet的service()方法并将请求和响应对象作为一个参数传进去.servlet容器调用

Mac下配置Java Web开发环境(Mac 10.12)

1.JDK http://www.cnblogs.com/EasonJim/p/6277541.html 2.MySQL http://www.cnblogs.com/EasonJim/p/6275863.html 3.tomcat http://www.cnblogs.com/EasonJim/p/6277746.html 4.eclipse http://www.cnblogs.com/EasonJim/p/6279065.html 5.maven http://www.cnblogs.co