- 博客(30)
- 收藏
- 关注
原创 自动装包问题
1、大于127或小于-127的Short、Integer、Long以及所有的Float、Double,对象会自动装包,值一样,但对象不是一个Long l1 = -128l;Long l2 = -128l;System.out.println(l1 == l2);//结果为:falseSystem.out.println(l1.equals(l2));//结果为:trueDouble...
2019-09-20 16:03:44
157
原创 @NotNull、@NotBlank和@NotEmpty
@NotNull:The annotated element must not be {@code null}.Accepts any type. 只是校验不能为null,任何类型的数据都可以用@NotEmpty:Asserts that the annotated string, collection, map or array is not {@code null} or empt...
2019-09-09 15:06:44
242
原创 MySQL的 case when then else end
语法有两种:1、CASE expression WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resultN ELSE resultEND2、CASE WHEN condition1 THEN result1 ...
2019-08-12 16:14:25
264
原创 编码问题的处理
只要涉及到流的,请求、响应、文件读取等等,都要对流统一处理。比如:请求:request.setCharacterEncoding("utf-8"); 响应:response.setCharacterEncoding("utf-8");response.setContentType("application/json; charset=utf-8"); 文件读取:line = new S...
2019-08-05 13:42:54
163
原创 异常日志的处理
异常信息处理方式有两种: 一、打印控制台,即使用e.printStackTrace();只会在控制台输出,日志不会记录。(非常不建议使用,如果运维没有开启控制台输出,找不到异常信息) 二、记录到日志 记录方式有简单的分两种: 1、log.error(e.getMessage());只会记录简单的信息(信息不全,不...
2019-07-31 17:48:51
558
原创 订阅者-发布者简单demo
过程: 1、初始化发布者订阅者 2、订阅者注册到发布者 3、发布者通知订阅者流程跟关注微博一样。demo:package com.zyf.publishsubscribe.publish;import com.zyf.publishsubscribe.subscribe.Subscriber;import lombok.Data;import java.uti...
2019-07-30 16:10:15
187
原创 git分支管理
分支说明: master 只能通过dev来合并 dev只能合并,不能提交 每次开发从dev拉新分支流程: 有开发需求时,先从dev上拉取新分支A,在A进行开发、提测、bug修改,测试通过后告诉我,我把A的合并到dev和master,打版master测试,通过后进行上线...
2019-07-28 21:43:07
148
原创 什么是ThreadLocal
ThreadLocal可以为每个活动的线程提供一个私有的副本。通俗的理解就是,各个线程谁用谁的,虽然都是用这个类,但互不影响。例如:package com.zyf.threadlocal;import java.util.concurrent.atomic.AtomicInteger;/** * @author zyf */public class ThreadLoca...
2019-07-24 14:49:56
93
原创 日志类为什么用private static final?
private,只给自己用;static只会在类加载时创建一个;final 不可更改,为常量,高效。参考: mybatis、lombok等都是设置的private static final 的, 类型为类名 mybatis的sql打印虽然在内部生成,但是log是根据MappedStatement.Builder()中mappedStatement.stat...
2019-07-24 10:44:22
606
原创 JDBC连接上后,通过数据库名可以访问该ip:port上的所有数据库
JDBC连接上后,通过数据库名可以访问该ip:port上的所有数据库127.0.0.1:3306上有两个库:test1,和test2当JDBC通过test1连接上后,可以访问库test2,但xml中必须制定数据库名,否则会当做是test1的表先简单记录一下,回头分析...
2019-07-01 22:58:15
467
原创 mapper.xml注释引起SQLException的问题
错误的注释: <select id="select" resultMap="BaseResultMap" parameterType="java.lang.String"> select * from user where name = #{name,jdbcType=VARCHAR}; -- SELECT u.* FROM test.user u,test2....
2019-07-01 16:41:50
229
转载 Git 强制回退到某个历史版本再推送到远程
原地址:https://www.cnblogs.com/Irving/p/9068673.html1. 使用 git log 命令历史版本记录回退版本git reset --hard f6a7c803a6931a9eca011d4e097389e0845cbe492. 推送到远程git push -f -u origin master(需要回退的分支)注意:查询是否有分支...
2019-07-01 12:36:08
5217
原创 Field userService in com.demo.controller.UserController required a single bean, but 2 were found
场景:一个bean是另一个bean的子类,在进行注入时报错报错内容Field userService in com.demo.controller.UserController required a single bean, but 2 were found: - userServiceImpl: defined in file [D:\Work\idea_workspace\demo...
2019-06-30 17:05:01
17629
原创 Spring boot session redis 最简demo
Spring boot session redis封装了redis的存取,只要引用jar包、配置好redis(单机或集群),就会自动使用redis进行session缓存、读取。使用简单的session应用时感觉不到redis的存在。1、准备好redis2、引入jar<dependency> <groupId>org.springframework.sessi...
2019-06-30 16:32:47
191
原创 logback的基本使用
1、引入jar包 <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</versi...
2019-06-25 14:36:19
142
原创 myeclipse在使用maven时,提示:“-Dmaven.multiModuleProjectDirectory system property is not set.”
-Dmaven.multiModuleProjectDirectory=$M2_HOME
2018-06-26 16:00:13
2003
原创 把myeclipse中的项目share到Git
1、创建自己的group2、在group中创建project3、在myeclipse中对工程进行share 到本地的git4、在myeclipse中commit项目到HEAD5、打开git repositories视图---Remotes中创建remote6、push7、设置项目所在的 .git 中的 conf [core] repositoryformatversion = 0 fi...
2018-06-26 15:08:10
806
原创 异常处理:SEVERE: Unable to process Jar entry [......]for annotations java.io.EOFException
测试环境tomcat启动报错!本地没事儿!SEVERE: Unable to process Jar entry [net/sf/ehcache/constructs/CacheDecoratorFactory.class] from Jar [jar:jndi:/localhost/jobs/WEB-INF/lib/ehcache-core-2.5.0.jar!/] for annotati...
2018-05-28 09:43:36
18977
原创 值传递和引用传递
方法可以改变实参引用的对象的值,但不能改变实参的引用。如果改变不了该对象的值,则对实参的值的任何操作都没有作用。当方法对参数的引用进行改变时,用对引用对象不起作,因为他们根本不相关。当方法对参数引用的对象值进行改变时,该参数引用的对象的值会改变。所以所有引用该对象的引用,值都会变。基本类型以及String类型的对象比较特殊,他们的值改变不了,对象存在后就是固定不变的了。一下代码为参考,还是自己敲一...
2018-03-31 17:31:22
329
原创 MVCC (多版本并发控制)笔记
通过两个隐形的字段来实现:创建时间(事务id)、删除时间(事务id)查询:1,创建时间早于等于当前事务id 2,删除时间大于当前事务id或者删除时间undefined删除:把当前事务id记录在该记录的删除时间更新:先删除,再插入一条。 也就是把要删除的记录的删除时间记录为当前事务id,然后创建一条记录,创建时间记录为当前事务id...
2018-03-27 17:16:10
215
转载 MySQL加锁过程详解(原文链接404了,赶紧存一下)
原文地址:http://www.cnblogs.com/metoy/p/5545580.html1、背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿...
2018-03-27 11:13:29
274
原创 使用map接受mybatis返回结果
1,用List<Map>接收,类似于List<Bean>(一条或多条记录)2,直接用Map接收(一条记录)Mapper (DAO)List<Map> getBybid(Integer bid);Mapper.xml<select id="getBybid" resultType="java.util.Map" parameterType="Integer&quo
2018-03-23 17:35:47
5873
原创 Map转换为List,及EL表达式对List<Map>的遍历
list,此代码视为伪代码,单独不能运行,仅仅记录一下流程 /** * * 去重,整理,一个key多个value 此代码视为伪代码,单独不能运行,仅仅记录一下流程 * * map为{img_path2=/bidAttachment/b10a3fe2-f25b-4ce2-91d6-89c69522edac.jpg, * IMG_TITLE1=身份证, * ...
2018-03-23 17:26:39
736
原创 基本类型的封装类型值比较,例如Double值比较
new Double(100) == new Double(100) 为false用new Double(100).doubleValue() == new Double(100).doubleValue() 为true 或者用equals,Double重写了object的equals方法,可以进行值比较基本类型的封装类都重写了equals方法,进行值比较...
2018-03-21 18:55:09
924
原创 java方法的可变参数
可扩展参数可以用数组形式传参,其实编译器是把可变参数当做数组处理的package reflection;public class ExtensibleParam { /** * 可变参数 * 可变参数必须在参数中最后的位置,所以可变参数只能有一个 * 编译器会把可变参数当做数组处理 * @param d * @return */ public static dou...
2018-03-14 13:47:11
323
原创 URL 中文编码问题
遇到一个编码问题:从URL中取参数 ${param.key} 和从服务器接受的都是乱码 本地没问题,测试环境就不行解决方法:1,默认编码方式为 “ISO-8859-1” 所以服务器就收到后要进行转码String keyWords = new String(request.getParameter("keyWords").getBytes("ISO-8859-1"), "UTF-8");2,...
2018-03-14 11:00:49
198
原创 如何得到动态代理$Proxy0.class文件!!!
从网上搜了半天,全是一带而过的,没有一个真正说明怎么获得文件的!尝试了半天终于弄出来了。做个记录吧,有同样困扰的朋友可以参考,这只是一种获取的方法,还有其他的,可以搜一搜。开始正文1,打开保存开关(这个网上很多) 在调用动态代理的main方法中加上 System.getProperties().put("sun.misc.ProxyGenerator.sav...
2018-03-11 12:24:51
5019
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人