自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 阿里巴巴2020年校招开始啦

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

2019-03-15 11:31:15 2846 1

java多线程知识整理

  java多线程知识整理 本文不是入门篇,仅记录容易出错的知识点 为什么需要多线程 根本原因: 同一段时间尽量做更多的事; 充分发挥CPU的功能,避免浪费CPU资源; 同一时间需要做不同的事; 多线程的核心问题 对同一个变量的读写,导致脏写(数据库事务概念); ...

2018-08-09 09:08:46 152 0

使用gradle构建java项目3

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

2018-07-20 00:01:33 118 0

如何使用redis实现分布式锁

如何使用redis实现分布式锁 为什么要使用分布式锁?场景? 涉及到重复提交或交易的地方 场景一:提交订单 用户购买商品,下单时,有时不小心连续点击多次;或者网络不好,导致用户以为没有提交,重复点击提交按钮;网络层面比如nginx的重发. 对于分布式系统,提交订单的n个请求可能会被...

2018-07-18 00:31:07 339 0

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

分布式系统后台如何防止重复提交 分布式系统网络拓扑结构 场景描述 秒杀系统提交订单时,由于用户连续快速点击,并且前端没有针对性处理,导致连续发送两次请求,一次命中服务器A,另一次命中服务器B, 那么就生成了两个内容完全相同的订单,只是订单号不同而已. 重复提交的后果 用户在界面看...

2018-07-18 00:28:49 1799 2

使用gradle构建java项目

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

2018-07-13 12:06:20 104 0

解决hibernate Subquery returns more than 1 row

使用hibernate时,发现一个错误:         at java.lang.Thread.run(Thread.java:748) Caused by: java.sql.SQLException: Subquery returns more than 1 row         ...

2018-06-21 22:09:42 209 0

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

hibernate 的事务传播中两种类型的区别 最常用的两种就是   REQUIRED(0) REQUIRES_NEW(3), 两者的区别: REQUIRED(0):若当前存在一个事务,则加入该事务,而不用创建; REQUIRES_NEW(3):不管当前是否存在事务,都会创建一个新...

2018-06-17 13:57:23 129 0

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

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

2018-06-13 15:42:47 80 0

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

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

2018-06-12 23:46:49 1538 0

如何解决hibernate duplicate association

我们使用hibernate作为DAO层时,有时会遇到如下错误: org.hibernate.QueryException: duplicate association path: agent duplicate association 具体是什么错误呢? Criteria criteri...

2018-06-12 21:15:59 245 0

数据库事务隔离级别

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

2018-05-27 17:09:18 51 0

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

mac电脑升级为macOS Sierra 就无法使用seil了,使用的是Karabiner-Elements macOS Sierra 中可以使用Karabiner-Elements 进行按键映射: 我的目的是单独按下F11,就相当于按下end. 但是fn+F11 ,就无法减少...

2018-04-27 15:18:48 170 0

使用awk 分析日志

直接上shell命令: awk 'BEGIN{index2=1;sum=0;}{if($0~"1003"){index2=NR;sum++;print "第"NR"行: " ,$0;} else if (NR<...

2018-04-22 15:44:43 88 0

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

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

2018-04-21 11:56:22 119 0

使用shell命令查看分析日志

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

2018-04-21 11:11:05 998 0

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

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

2018-04-09 11:46:45 261 0

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

摘要: SpringMVC 自带的400或404 页面都是网页,不太适用于客户端需要的json数据 SpringMVC 自带的400或404 页面都是网页,不太适用于客户端需要的json数据, 默认的404:   默认的400页面: 如何实现对这些错误的响应自定义呢? ...

2018-03-20 00:07:29 472 0

java 对接支付宝支付

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

2018-03-19 13:56:22 217 0

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

根据java 实体类生成建表语句 直接上代码: package com.sql; import oa.entity.User; import java.io.File; import java.io.IOException; import java.lang.annota...

2018-03-01 10:53:56 2364 0

java socket实现的简易的聊天工具demo

这是一个使用原生java socket实现的简易的聊天工具demo, 界面使用java swing 界面如下: ---------- 项目目录结构 代码: https://gitee.com/kunlunsoft/inetAdress_socket.git  d代...

2018-02-28 15:32:16 417 0

原创 google guava事件总线用法

Google EventBus组成部分 事件(什么类型的事件); 事件监听器,即事件处理程序(响应); 注册事件监听器(register); 触发事件(trigger/post); 实例事件,可以是任何自定义对象 /** * Created by whuanghkl on 17/6/22.&l...

2017-06-22 08:59:18 1556 0

源码安装Python3

源码安装Python3 安装环境(以下教程是在Ubuntu16.04进行的) Linux机器,客户端服务端都需要Linux,python3。 安装第一步(准备软件运行环境) 1.Python3说明:ubuntu自带的Python3可能会有点麻烦,最好自己编译python3,而且编译P...

2017-06-06 17:09:05 43 0

spring mvc捕获异常时,如何判断应该返回json还是跳转错误页面

spring mvc捕获异常时,如何判断应该返回json还是跳转错误页面  在异常捕获handler  BusinessExceptionHandlerAdvice中  判断控制器的方法是否有ResponseBody注解,如果有,则返回json, 关键问题是: 如何判断控制器的方法是否...

2017-06-02 12:11:35 491 0

js 给文本框增加快捷键

js 给文本框增加快捷键 比如:文本框编辑过程中,按下ctrl+s,表示提交 var bindEvent=function ($textarea) { $textarea.keydown(function (event) { // console....

2017-05-30 11:12:14 65 0

把字符串转化为json

把字符串转化为json 任务: 把字符串 {"name":"黄威","age":27,"address":"{\"district\":\"海淀区\",\&qu...

2017-05-17 10:46:34 33 0

判断微信浏览器

如何判断微信浏览器? 前端: //是否是微信浏览器 isWeiXinBrowser: function (){ var ua = window.navigator.userAgent; if(ua.match(/MicroMessenger/i) ...

2017-04-12 07:59:14 42 0

java 反射调用成员方法

java 反射调用成员方法 public static GenericDialog showScreenshotDialog(JTextComponent area2, int width, int height){ Class clazz=area2.getClass();...

2017-04-11 08:58:48 61 0

让cookie失效要注意的问题

让cookie失效要注意的问题 下面的代码无法让cookie 失效,   因为保存的cookie 设置了path, 失效时没有设置path, 所以无法cookie 失效, 注意:想让cookie 失效,除了设置有效期为0,其他参数(path,domain)必须完全一样, 正确的: ...

2017-04-09 14:01:50 182 0

jquery 设置checkbox 不可用

设置不可用 $('#porder_agreement_box').attr("disabled",'disabled');  选中: $('#checkbox222').attr("checked&q...

2017-04-07 16:04:33 1187 0

浏览器本地缓存localStorage

web 本地存储 var storage={ save2Local:function (key,val) { localStorage.setItem(key,val); }, restore4Local:function(key) { ...

2017-04-05 21:25:56 90 0

centos 安装redis

  安装rediswget http://download.redis.io/releases/redis-3.0.0.tar.gztar xf redis-3.0.0.tar.gz cd redis-3.0.0makemake testmake install mkdir -p /usr/...

2017-03-16 08:50:52 21 0

java 文件名过滤特殊字符

java 文件名过滤特殊字符 /** * 过滤掉特殊字符 * * @param fileName * @return */ public static String filterSpecialChar(String file...

2017-03-14 13:25:18 850 0

Karabiner配置

Karabiner配置 <?xml version="1.0"?> <root> <item> <name>F19 to F19&...

2017-03-10 12:21:40 231 0

js 获取链接地址中的参数

js 获取链接地址中的参数 比如,链接地址是:"http://blog.whuang.com/search?username=abc&age=26" 我要获取username参数的值"abc" 方式一: 核心方法 /** ...

2017-03-09 11:19:56 96 0

js 修改链接参数

js 修改链接参数 比如,需要修改callback中的参数 callback 的值为:"http://blog.whuang.com/search?username=90003819861" 需要修改其中的参数 username的值为abc 预期结果是:'...

2017-03-09 10:43:55 142 0

mac sed 正则表达式匹配空格

mac sed 正则表达式匹配空格 [[:space:]]匹配空格和Tab #!/bin/sh basePath="/Users/whuanghkl/code/IdeaProjects/lanproxy" cd $basePath ConfigJavaFile=...

2017-03-08 10:45:10 1065 0

java 时间相关操作

java 时间相关操作 (1) public static boolean hasLicense(APP_INFO orgAppInfo) { // String endDate = orgAppInfo.endDate; String startD...

2017-03-06 10:39:22 33 0

zsh 优化配置

zsh 优化配置 vim .zshrc [[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh test -e "${...

2017-02-28 14:10:26 106 0

ios Safari浏览器不支持 js 复制字符串

ios Safari浏览器不支持 js 复制字符串 本来设计成:点击"复制"按钮,可以复制订单号到剪切板的.   可以发现在 ios Safari 浏览器中不起作用. 后来在http://stackoverflow.com/ 查到  参考:http://stacko...

2017-02-27 20:56:10 316 0

提示
确定要删除当前文章?
取消 删除