9 调皮的芋头

尚未进行身份认证

我是一个非常勤奋、自信的人。 GitHub:https://github.com/liuyu520

等级
博文 185
排名 1w+

阿里巴巴2020年校招开始啦

大家好!我是黄威,2011年武汉毕业的,现在在阿里巴巴从事软件开发,希望学弟学妹过来实习实习地点:杭州阿里巴巴麻烦推荐下,辛苦了面向人群2020届毕业生(毕业时间:2019月11日~2020年10月)包含本科和研究生校招申请入口http://alibaba.tupu360.com/campusActivity/getActivityInfo?activityCode=d_lfN...

2019-03-15 11:31:15

java多线程知识整理

 java多线程知识整理本文不是入门篇,仅记录容易出错的知识点为什么需要多线程根本原因:同一段时间尽量做更多的事;充分发挥CPU的功能,避免浪费CPU资源;同一时间需要做不同的事;多线程的核心问题对同一个变量的读写,导致脏写(数据库事务概念);多个线程相互协作,如何通信,比如线程A依赖线程B的某个资源如果没有特别的控制和机制,多个...

2018-08-09 09:08:46

使用gradle构建java项目3

 gradle是什么gradle是一个让构建自动化的工具,类似于maven,ant的功能.使用gradle可以给java项目编译,单元测试,打包,或者生成可执行的jar包等gradle的依赖环境gradle依赖java环境,所以使用gradle前需要安装jdk或jregradle构建项目的流程gradle的构建依赖于task,task可以指定与其他task之间的...

2018-07-20 00:01:33

如何使用redis实现分布式锁

如何使用redis实现分布式锁为什么要使用分布式锁?场景?涉及到重复提交或交易的地方场景一:提交订单用户购买商品,下单时,有时不小心连续点击多次;或者网络不好,导致用户以为没有提交,重复点击提交按钮;网络层面比如nginx的重发.对于分布式系统,提交订单的n个请求可能会被不同的服务单体消费,那么就会生成多个相同(除了订单号,其他购买信息完全一样)的订单,后果:产...

2018-07-18 00:31:07

分布式系统后台如何防止重复提交

分布式系统后台如何防止重复提交分布式系统网络拓扑结构场景描述秒杀系统提交订单时,由于用户连续快速点击,并且前端没有针对性处理,导致连续发送两次请求,一次命中服务器A,另一次命中服务器B,那么就生成了两个内容完全相同的订单,只是订单号不同而已.重复提交的后果用户在界面看到两个一模一样的订单,不知道应该支付哪个;系统出现异常数据,影响正常的校验.解决方法解决...

2018-07-18 00:28:49

使用gradle构建java项目

gradle是什么gradle是一个让构建自动化的工具,类似于maven,ant的功能.使用gradle可以给java项目编译,单元测试,打包,或者生成可执行的jar包等gradle的依赖环境gradle依赖java环境,所以使用gradle前需要安装jdk或jregradle构建项目的流程gradle的构建依赖于task,task可以指定与其他task之间的依赖关...

2018-07-13 12:06:20

解决hibernate Subquery returns more than 1 row

使用hibernate时,发现一个错误:    atjava.lang.Thread.run(Thread.java:748)Causedby:java.sql.SQLException:Subqueryreturnsmorethan1row    atcom.mysql.cj.jdbc.exceptions.SQLError.createSQLE...

2018-06-21 22:09:42

hibernate 的事务传播中两种类型的区别

hibernate的事务传播中两种类型的区别最常用的两种就是 REQUIRED(0)REQUIRES_NEW(3),两者的区别:REQUIRED(0):若当前存在一个事务,则加入该事务,而不用创建;REQUIRES_NEW(3):不管当前是否存在事务,都会创建一个新的事务这种区别会造成什么影响呢?比如事务A中调用其他类的方法updateXXX,隔离级...

2018-06-17 13:57:23

hibernate 的事务传播容易出现的问题

 hibernate的事务传播容易出现的问题先说下我们遇到的问题:(1)get出来一个对象,修改其成员变量,结果触发了自动更新(向数据库发送一条update指令),其实根本没有调用update方法(2)对于持久态的对象,显示调用update,结果没有更新 第一个问题解决方法:(a)把事务设置为只读 第二个问题的解决方法:把修改的dao方法的事务传...

2018-06-13 15:42:47

如何解决 hibernate 自动更新实体类的问题

如何解决hibernate自动更新实体类的问题示例:GrabOrdergrabOrder=(GrabOrder)this.grabOrderDao.getCurrentSession().get(GrabOrder.class,grabOrderId);grabOrder.setNickname(TimeHWUtil.getCurrentDateTime()); 上...

2018-06-12 23:46:49

如何解决hibernate duplicate association

我们使用hibernate作为DAO层时,有时会遇到如下错误:org.hibernate.QueryException:duplicateassociationpath:agentduplicateassociation具体是什么错误呢?Criteriacriteria=this.inspectionOrderDao.createCriteria();...

2018-06-12 21:15:59

数据库事务隔离级别

 数据库事务的隔离级别分为四种:(1)未提交读事务A能够读取事务B未提交的数据即:事务B在修改数据,未提交事务,A也可以进行读取;(2)提交读事务A只能读取事务B提交的数据,即:事务B在修改数据,未提交事务,事务A不能进行读取,只有等事务B提交之后,A才能读取(3)可重复读事务A在读取,事务未提交时,事务B是不能修改的,只有等读的事务提交之后,事务...

2018-05-27 17:09:18

解决 macOS Sierra中F11映射成end之后无法调低音量的问题

mac电脑升级为macOSSierra就无法使用seil了,使用的是Karabiner-ElementsmacOSSierra中可以使用Karabiner-Elements 进行按键映射:我的目的是单独按下F11,就相当于按下end.但是fn+F11,就无法减少音量了,很奇怪.所以采用脚本的方法实现:{"description...

2018-04-27 15:18:48

使用awk 分析日志

直接上shell命令:awk'BEGIN{index2=1;sum=0;}{if($0~"1003"){index2=NR;sum++;print"第"NR"行:",$0;}elseif(NR<index2+3){print$0}elseif(NR==index2+3){print"\n\n\n"}}END{print"共搜索到"sum"条&quot

2018-04-22 15:44:43

使用shell命令查看分析日志(2)

目标:查看日志文件中,所有空指针异常发生的位置,及前后10行,前10行是为了看到请求的详细信息(接口,参数等),后10行是为了查看异常发生的代码行号,定位代码bug. 命令:grep-rnw"java.lang.NullPointerException"house_error.log|cut-d':'-f1|xargs-n1-iexpr{}...

2018-04-21 11:56:22

使用shell命令查看分析日志

摘要:现在网站都有后台日志,主要用于记录异常信息,和异常发生时的关键参数,用于排查bug.有时日志文件很大时,使用shell命令可以事半功倍.场景:javaweb目标:查看最近的一个空指针异常的位置,及空指针异常发生时的前5行代码和后五行代码.分析:空指针异常是最经常发生的异常,一般都是代码的bug,所以很有现实意义.获取前五行代码是为了查看请求参数,后5...

2018-04-21 11:11:05

mac 使用Karabiner配置键盘映射(2)-核心标签的解读

mac使用Karabiner配置键盘映射(2)-核心标签的解读KeyOverlaidModifier使用场景:一般用在改变Modifier(控制键,例如ctrl,command,alt等)的行为.例如正常情况下,单独按下control或command是没有反应(动作的),但是我们可以通过KeyOverlaidModifier增加反应.实例:目标:单独按下右边的co...

2018-04-09 11:46:45

springMVC 自定义400或404页面/响应

摘要:SpringMVC自带的400或404页面都是网页,不太适用于客户端需要的json数据SpringMVC自带的400或404 页面都是网页,不太适用于客户端需要的json数据,默认的404: 默认的400页面:如何实现对这些错误的响应自定义呢?定义一个 ControllerAdvice 类:在其中添加如下两个方法,分别响应400和40...

2018-03-20 00:07:29

java 对接支付宝支付

对接支付宝支付的前提:1,商户开通支付能力登录蚂蚁金服开放平台:https://open.alipay.com/platform/home.htm需要开通的功能选项有:创建应用,类型是:网页&移动应用设置应用的RSA等各项参数,界面如下:支付宝推荐使用RSA2 加密方式,老版的加密方式只有RSA和md5,没有RSA2.本项目使用RSA2 加...

2018-03-19 13:56:22

根据java 实体类生成建表语句

根据java实体类生成建表语句直接上代码:packagecom.sql;importoa.entity.User;importjava.io.File;importjava.io.IOException;importjava.lang.annotation.Annotation;importjava.lang.reflect.Field;...

2018-03-01 10:53:56
奖章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!