自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 同一条件下符合不通条件的数据sql查询

select * from user_tag a where `code`='LJ_002' and is_deleted =0 and 'LJ_001' not in (select code from user_tag where id <> a.id and user_id = a.user_id and is_deleted =0);select * from user_t...

2019-06-24 11:44:41 630

原创 java8常用集合转换

List转map1.普通转换【重复、为空时会报异常】Map<Long, ProtocalItemDO> protocalMap = listDO.stream().collect(Collectors.toMap(ProtocalItemDO::getId, protocal -> protocal));2.重载toMap方法转换【重复、为空时不报异常,后面的值会...

2019-06-20 10:50:16 368

原创 记一次调用service实现类Synchronized同步锁失效的坑

我的同步方法是这样写的@Override@Transactional(rollbackFor = Exception.class)public synchronized SyTaskChildDO initTaskChild(SyTaskChildQueryParam param) { try { List<SyTaskChildDO> taskCid...

2019-05-10 09:43:39 5317

原创 json经过两次序列化之后怎么转对象

String s = "\"{\\\"aa\\\":1841432,\\\"bb\\\":false}\"";s = StringEscapeUtils.unescapeJava(s);s = s.replaceFirst("\"","");s = s.replaceFirst("\"\\z","");System.out.println(s);Model d = JSONObject...

2019-03-28 14:14:52 1778

原创 提供http文件上传接口

/** * @param bizQualifications * @return */@RequestMapping(value = "addQualification", method = RequestMethod.POST)public @ResponseBodyString addQualification(BizQualifications bizQualification...

2019-01-02 20:09:21 6613

原创 打印同一个请求线程日志ThreadLocal、脱敏日志

public class LogBusinessIdUtils { private static final ThreadLocal&lt;String&gt; businessLocal = new ThreadLocal&lt;String&gt;(); /** * 返回当前线程对应的uuid * @return */ public...

2018-11-22 10:44:20 1344

原创 IDEA详细配置和使用教程-字体、编码和基本设置

 IDEA使用--字体、编码和基本设置https://blog.csdn.net/frankcheng5143/article/details/50779149IntelliJ IDEA详细配置和使用教程https://blog.csdn.net/m_m254282520/article/details/78900238 IDEA版本15.0.4字体界面字体Fil...

2018-11-21 17:31:24 359 1

转载 Eclipse、IDEA环境下设置jvm默认编码

转自 https://blog.csdn.net/u014424628/article/details/49429393这这有个小程序,大家可以在自己机器上跑一下:import java.nio.charset.Charset;public class Encoding {    public static void main(String[] args) {        Sy...

2018-11-21 17:11:54 242

原创 代码审查笔记

1.  Map、List、Set创建时指定size主要是为了避免集合扩容时消耗机器性能(扩容时开辟一块新的内存,把原始数据copy到新的内存里)2.  Map、List、Set返回empty对象时建议使用Collections.emptyMap()等创建Collections.emptyMap()对象不可以添加元素,所有的Collections.emptyMap()都是同一个实例,不会...

2018-11-08 18:08:34 206

原创 IDEA快捷键笔记

摘要:快捷键说明IntelliJIDEA的便捷操作性,快捷键的功劳占了一大半,对于各个快捷键组合请认真对待。IntelliJIDEA本身的设计思维是提倡键盘优先于鼠标的,所以各种快捷键组合层出不穷,对于快捷键设置也有各种支持,对于其他IDE的快捷键组合也有预设模板进行支持。关于各个快捷键的频率分类上可能每个人都有各自的看法,下面的整理也只是已我个人的使用习惯来划分的,而我应该是可以代表某一部分小众...

2018-11-07 09:14:17 226

原创 java可视化执行小工具

实现一个简单的加法器,上代码监听类import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;class Myclick ...

2018-11-02 16:00:16 6375

原创 map set list常用简单创建、排序

利用Collections创建单个元素集合Collections.singleton()Collections.singletonList()Collections.singletonMap("key","value")创建多个元素集合Sets.newHashSet()Maps.newHashMap()Lists.newArrayList()list&l...

2018-10-14 21:14:16 243

原创 cause: java.lang.NoClassDefFoundError: javax/validation/ValidationException

maven引入依赖 &lt;dependency&gt; &lt;groupId&gt;org.hibernate&lt;/groupId&gt; &lt;artifactId&gt;hibernate-validator&lt;/artifactId&gt; &lt;version&gt;4.2.0.Fi...

2018-09-24 16:50:43 11387 3

转载 an named '*' must be of type [*], but was actually of type [$Proxy16]

在用junit测试dao接口时,出现以下的错误Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'userDao' must be of type [com.changetech.dao.impl.UserDaoImpl], but was actually of ty...

2018-08-02 18:17:55 136

转载 jstat命令查看jvm的GC情况 (以Linux为例)

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意!!!:使用的jdk版本是jdk8.   类加载统计: Loaded:加载class的数量 Bytes:所占用空间大小 Unloaded:未加载数量 Bytes:未加载占用空间 Time:时间   编译...

2018-07-30 15:03:26 326

原创 org.springframework.aop.AopInvocationException: Null return value from advice does not match primiti

出现这种错误一般是发生在自定义的aop切面里,监控的方法里抛出的异常,可以在aop里加上try catch 把真正的异常打印出来

2018-07-30 12:20:06 3695

转载 MySQL的四种事务隔离级别

本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。   2、一致性(Con...

2018-07-13 20:34:50 171

原创 解决 Received fatal alert: handshake_failure 的问题

废话少说直接上代码Java代码import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ConnectException; import java.net.URL; i...

2018-07-12 11:30:36 20089

转载 解析一致性哈希算法

【原理】解析一致性哈希算法前言在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法就容易多了,也更能体现出一致性哈希算法的优点。那么,我们先来描述一下这个经典的分布式缓存的应用场景。应用场景假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在有三万张图片需要缓存,我们希望这些图片被均匀地缓存到这三台服务...

2018-06-22 11:10:35 135

原创 Runable作为内部类的使用及传参

class Runner1 implements Runnable { // 实现了Runnable接口,jdk就知道这个类是一个线程   private int num;     private void setNum(int nn) { num = nn; } public void run() {           for (int i = 0; i &lt; n...

2018-06-12 14:49:17 3479

原创 spring xml和注解注入的心得

使用注解扫描器context:component-scan  扫到的包才可以使用注解把class注入到spring上下文,如果不在context:component-scan 扫描范围内,则不能使用注解注入。

2018-04-12 16:17:26 554

原创 本地host文件和nginx映射的关系

假设客户端A--------》浏览器url请求域名--------》域名被host解析对应的IP--------》到对应IP的服务器--------》先被nginx反向代理拦截--------》找到nginx上一样域名(nginx.conf配置文件中server里的server_name)--------》对应的反向映射地址(nginx.conf配置文件中同左server里的proxy_pass ...

2018-04-11 13:42:22 4196

原创 java出现莫名其妙的错误(jar包冲突)

编译打包工程--&gt;查看编译完成的lib文件夹下,同样的包是否有两个,如果有则是jar冲突

2018-04-11 13:40:25 904

原创 静态代理、JDK与CGLIB动态代理

     一、为什么需要代理模式假设需实现一个计算的类Math、完成加、减、乘、除功能,如下所示:package com.zhangguo.Spring041.aop01;public class Math { //加 public int add(int n1,int n2){ int result=n1+n2; System.out.prin...

2018-04-03 20:21:24 152

转载 Spring两种AOP实现方式

1.手动实现AOP编程(代理模式)AOP是面向切面的编程,主要功能就是实现"业务代码"和辅助业务代码的"关注点代码"分离.在一个方法中,出了核心的业务代码,其他的都叫做关注点代码.举个往数据库保存数据的例子:// 保存一个用户public void add(User user) { Session session = null; Transaction tra...

2018-04-03 11:12:00 191

原创 SpringMVC接收复杂集合参数

Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring MVC在解析集合请求参数时不会自动的转换成JSON数据再解析成相应的集合。以下列举接收List&lt;String&...

2018-03-22 12:44:12 155

转载 谈谈Java中的ThreadLocal

 ThreadLocal一般称为线程本地变量,它是一种特殊的线程绑定机制,将变量与线程绑定在一起,为每一个线程维护一个独立的变量副本。通过ThreadLocal可以将对象的可见范围限制在同一个线程内。跳出误区  需要重点强调的的是,不要拿ThreadLocal和synchronized做类比,因为这种比较压根就是无意义的!sysnchronized是一种互斥同步机制,是为了保证在多线程环境下对于共...

2018-03-19 11:26:43 108

原创 多线程通讯CountDownLatch

简介CountDownLatch 允许一个或多个线程等待其他线程完成操作。应用场景假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。在这个需求中,要实现主线程等待所有线程完成sheet的解析操作,最简单的做法是使用join。代码如下:public class Jo...

2018-03-09 10:39:35 87

原创 防止数据表锁行

当某个字段(如状态)出现并发操作时,可以新建一个状态表,每一个对状态的操作就向状态表里插入一条数据

2018-03-09 10:34:15 467

原创 大数据量情况下如何防重

新建一个防重表,只建一个防重字段且设置唯一索引,插入业务表之前先插入防重表。如果插入失败则表示重复

2018-03-09 10:31:04 1753

原创 一次content-length的教训

有一次使用springMVC写的接口,在调用的时候传了content-lengt,在传单个数字的时候可以调通,其他参数时死活就是不通。最后经过查资料发现是content-lengt计算错误。对于http的请求返回结果要进行内容的长度校验主要有两种方式,二者互斥使用1.客户端在http头(head)加Connection:keep-alive时,服务器的response是Transfer-Encod...

2018-03-08 14:47:44 10666

转载 缓存穿透,缓存击穿,缓存雪崩解决方案分析

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法可以有效地...

2018-03-07 13:43:33 138

原创 Kettle 工具使用入门

开发环境解压文件,双击Spoon.bat启动开发指南Xml文件输入1.文件—&gt;新建—&gt;转换 2.拖住左边菜单栏 xml文件输入到右边3.导入xml文件内容双击xml 文件输入  读取xml 文件内容 获取xml字段 确定、保存4 调试节点右键 “xml 文件输入”然后 Preview 快速启动就可以看到读取的xml值 读取Xml 里数组读取数组最主要用到的是用到阻塞组件,可以按照这样写...

2018-03-07 11:42:01 403

原创 git简单使用

新建分支:new branch(本地新建分支)-&gt;开发完毕-&gt;commit-&gt;Unstaged Changes 拉到 Staged Changes -Commit and Push...合并到主分支:先切换到主分支-&gt;Merge 选中Local要合并的分支 点击Merge-&gt;Synchronize Workspace 对比  检查改的代码-&gt;Push to Up...

2018-03-07 11:38:38 108

原创 Mysql 数据库开发规范

 一、基础规范(1)必须使用InnoDB存储引擎解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集解读:万国码,无需转码,无乱码风险,节省空间 (3)数据表、数据字段必须加入中文注释解读:N年后谁知道这个r1,r2,r3字段是干嘛的 (4)禁止使用存储过程、视图、触发器、Event解读:高并发大数据的互联网业务,架构设计思路是“解放数据库C...

2018-03-07 11:27:41 148

原创 url里出现"+"的情况,request.getParameter("")取到的+号为空格

解决方式:对url进行转义,java可使用URLEncoder.encode(url)  ,javaScript 里使用encodeURIComponent(url)

2018-03-07 10:49:09 5159

原创 fastJson 转换出现"$ref"

这种情况是在JSONObject.toJSONString(obj)时出现的,原因是在obj里出现了循环引用。可使用这种方式解决JSONObject.toJSONString(this,SerializerFeature.DisableCircularReferenceDetect)...

2018-03-07 10:42:36 501

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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