自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dongguabai 的博客

【欢迎关注公众号:冬瓜白】记录不知道的事,技术不分高低难易;掉不尽的底子玩不尽的味...

原创 关于synchronized更改锁对象的一个小测试

package dgb.test.concurrent; import java.util.ArrayList; /** * @author Dongguabai * @date 2018/8/31 16:32 */ public class SynchronizedTest { ...

2018-08-31 16:34:06 182 0

原创 并发编程学习之join()方法

线程之间的协作就跟人与人之间的协作一样,有时候我们需要等待别人完成某项任务后,我们再来开始工作。有时候会出现一个线程的输入非常依赖另一个或多个线程的输出,此时这个线程就需要等待依赖线程执行完毕才能继续执行。在Thread类中有join()方法具有这样的功能: 第三个方法是无限等待,他会一直阻...

2018-08-31 16:30:28 231 0

原创 并发编程学习之线程的生命周期(状态)

其实线程的生命周期已经被定义在Thread的枚举State中了: NEW:一个刚刚创建的线程,此时还没有开始执行。由于一个线程实例只能够被启动一次,因此一个线程只可能有一次处于该状态。 等到线程的start()方法调用时,才表示线程开始执行。线程执行时就处于RUNNABLE状态。RUNNAB...

2018-08-31 10:39:10 92 0

转载 使用IText转PDF

转自:https://blog.csdn.net/qq296398300/article/details/68947190  最近在开发过程中,碰到了这样的需求:将图片及相关文字信息,按视觉标准,排版后直接转成PDF。因为之前没接触过,乍一听很懵,感觉会很难。但经过一番网上搜索学习后,发现其实很...

2018-08-31 09:48:56 1116 1

原创 并发编程学习之wait()和notify()

wait()和notify()方法主要是用来支持多线程之间的协作。但是这两个方法均为Object的方法,也就是说任何对象都可以调用这两个方法。 比如在线程A中,一个对象实例object调用了wait()方法后,当前线程A就会进入object对象的等待队列(这个等待队列中可能会有多个线程),会...

2018-08-31 01:31:45 794 0

原创 并发编程学习之Thread.yield()方法

这个方法是一个静态方法,是“让步”的意思,一旦执行,它会使当前线程让出CPU,即由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权。但是要注意的是让出CPU并不代表当前线程不执行了。当前线程让出CPU后,还是会进行CPU资源的争夺,但是能不能再次被分配到,就不一定了...

2018-08-30 11:00:26 93 0

原创 手写ArrayList

import javax.validation.constraints.NotNull; import java.util.*; import java.util.function.Consumer; /** * @author Dongguabai * @date 2018/8/29 1...

2018-08-29 17:34:10 108 0

原创 修改Eclipse启动参数

2018-08-29 12:05:22 340 0

原创 解决Win10使用Telnet命令时提示“telnet不是内部或外部命令”

2018-08-28 15:55:41 750 0

原创 MyBatis源码分析(Mapper动态代理的实现及执行流程)

首先简单回顾下代理模式 静态代理 概念:是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 简单代码演示: 抽象接口: 真实角色: 代理角色: 测试使用: 动态代理 概...

2018-08-27 01:33:48 2832 0

原创 MyBatis在日志中输出JDBC Connecting信息

有时候会需要在日志中输出相应的SQL信息(具体可以参照:在SpringBoot中输出mybatis中的SQL),但是今天在日志中想分析Connction信息的时候发现居然无法查看到Connection的信息: 日志配置如下: 明明已经配置了Connection的级别为DEBUG怎么还是...

2018-08-26 01:34:18 1054 0

原创 JDBC Connection XXX will not be managed by Spring

有时候在SQL日子上会出现这样的信息: 也就是说Connection没有被Spring管理,也就是说现在没有进行事务控制。也就是个猜测,可以简单验证一下: 在Service中有两个相同内容的方法,一个被事务控制一个没有: 测试一下: 测试结果: 第一个被Spring事务控...

2018-08-26 01:32:12 11044 1

原创 ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

启动项目的时候出现了这样一个问题: 其他方式连接数据库依然是有问题的: 看看Oracle服务: Oracle服务是关闭的,启动服务即可。

2018-08-26 00:40:02 86 0

原创 -bash: /usr/local/java/jdk/jdk1.8.0_181/bin/java: cannot execute binary file

今天在虚拟机中安装JDK环境的时候出现了这个问题: 网上资料说是JDK和Linux环境版本不一致导致: 我的JDK是64位的,但是Linux是32位的: 更换JDK版本即可。  ...

2018-08-24 15:50:29 8238 0

原创 org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

今天准备一个项目的时候启动突然出现了这样一个异常(Tomcat 7,JDK 1.8): 下面的异常信息网上资料很多但是都跟我不一样,上面一行信息提示是lombok的问题,我之前的lombok版本为: 后来更改版本为: 问题解决。...

2018-08-18 11:02:46 7178 0

原创 IDEA SVN与资源库同步

类似博客: IDEA Git实现类似SVN“与资源库同步”功能 在eclipse中一般SVN提交之前要与资源库同步,这样可以选择性更新,而且可以看下更新了哪些内容: 在IDEA中刚开始找了好久也没找到这个功能,查了很多资料,现在总结下: 可以查看具体哪些改变: 可以选择更...

2018-08-16 15:43:07 16846 1

原创 IDEA变更svn服务器地址

选中项目右键: 将之前的地址改为新地址即可: 在更改的过程中出现了一个问题: 这个可以进入Settings中进行修改:

2018-08-16 12:39:05 3581 0

原创 Spring Boot自定义注解扫描器

之前在整合Spring Boot和tkMybatis的时候使用了这个注解: 这个还挺实用的,会将指定包下的相应的类加载至Spring容器中,刚好我这边也有一个独立抽取出来的权限模块也想实现这样的功能(当然可以使用@EnableXX的方式,但是注入的组件太多了,直接包扫描直接点),而不是使用@...

2018-08-15 14:37:52 17643 0

原创 分析Spring MVC自定义类型转换

分析 有时候需要将前台传来一些特定格式的数据对象转化成特定的Java对象,这个时候类型转换器就派上用场了。这里简单介绍使用比较简单的Converter接口。Converter是Spring 3.0后的一个函数式接口,只有一个方法,将source转化成target:          在We...

2018-08-13 09:41:56 213 0

原创 分析Spring MVC自定义消息转换器

分析 在Spring MVC的请求处理阶段大致可以分为以下几个步骤:根据请求url找到对应的Controller的Method,参数绑定后通过反射执行方法,将执行结果交给视图解析器响应视图。 而在这之前需要通过消息转化器。Spring Boot底层通过HttpMessageConverters...

2018-08-13 09:25:43 2130 0

原创 在常量中使用接口将常量分类

有时候使用枚举有点过于繁重,可以在常量中使用接口将常量分类:

2018-08-05 20:44:15 310 0

原创 包装类型要使用equals方法进行比较

不得不说,阿里的代码扫描插件还是挺好用的。

2018-08-05 20:33:16 198 0

原创 idea安装mybatis-plugin

重启idea。 比如下面这个Mapper,左边有绿色的箭头,点击可以直接跳转到对应的mapper.xml,而且如果返回值或者方法不存在没有对应上会有提示,非常好用: ...

2018-08-05 20:08:52 571 0

原创 Jackson序列化json中去除null字段

之前一般用的这样的方式: 但是这个已经过时了,官方推荐的是使用JsonInclude: 所以可以这么使用:

2018-08-05 19:56:51 3531 0

原创 idea启动配置jvm参数

比如可以填写: 启动方法:

2018-08-04 22:55:24 476 2

原创 解决在eclipse中项目启动一直java.lang.ClassNotFoundException

今天用eclipse使用tomcat启动项目一直出现这个问题: 又是个常见的问题,将项目导出为war又是就这么大: 明显想到了我在之前遇到的问题(参看我之前的博客:解决在eclipse中Deployment Assembly缺少Maven Dependencies的问题),按照之前的方...

2018-08-03 15:03:33 4993 0

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