自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

【欢迎关注公众号:冬瓜白】

掉不尽的底子玩不尽的味,

  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

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

package dgb.test.concurrent;import java.util.ArrayList;/** * @author Dongguabai * @date 2018/8/31 16:32 */public class SynchronizedTest { private static Object object = new Object(); ...

2018-08-31 16:34:06 528 1

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

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

2018-08-31 16:30:28 890

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

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

2018-08-31 10:39:10 232

转载 使用IText转PDF

转自:https://blog.csdn.net/qq296398300/article/details/68947190 最近在开发过程中,碰到了这样的需求:将图片及相关文字信息,按视觉标准,排版后直接转成PDF。因为之前没接触过,乍一听很懵,感觉会很难。但经过一番网上搜索学习后,发现其实很简单!(一)Maven引入依赖注意:一定要按此版本号引入,不然会出现很多错误,包括“中文乱码、...

2018-08-31 09:48:56 2726 2

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

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

2018-08-31 01:31:45 2648 2

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

这个方法是一个静态方法,是“让步”的意思,一旦执行,它会使当前线程让出CPU,即由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权。但是要注意的是让出CPU并不代表当前线程不执行了。当前线程让出CPU后,还是会进行CPU资源的争夺,但是能不能再次被分配到,就不一定了。因此yeild()方法的调用好像就是在说:我已经完成一些最终要的工作了,应该可以休息一下了,可以给其...

2018-08-30 11:00:26 642

原创 手写ArrayList

import javax.validation.constraints.NotNull;import java.util.*;import java.util.function.Consumer;/** * @author Dongguabai * @date 2018/8/29 15:54 */public class MyArrayList<E> implemen...

2018-08-29 17:34:10 261

原创 修改Eclipse启动参数

2018-08-29 12:05:22 808

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

2018-08-28 15:55:41 1198

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

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

2018-08-27 01:33:48 4317

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

有时候会需要在日志中输出相应的SQL信息(具体可以参照:在SpringBoot中输出mybatis中的SQL),但是今天在日志中想分析Connction信息的时候发现居然无法查看到Connection的信息:日志配置如下:明明已经配置了Connection的级别为DEBUG怎么还是没有输出相应的日志呢?后来突然想到,因为是MyBatis与Spring整合,事务也全部交给Spring...

2018-08-26 01:34:18 2894

原创 JDBC Connection XXX will not be managed by Spring

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

2018-08-26 01:32:12 70812 5

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

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

2018-08-26 00:40:02 278

原创 -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 16039

原创 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 8245

原创 IDEA SVN与资源库同步

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

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

原创 IDEA变更svn服务器地址

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

2018-08-16 12:39:05 5357

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

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

2018-08-15 14:37:52 22441 1

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

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

2018-08-13 09:41:56 516

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

分析在Spring MVC的请求处理阶段大致可以分为以下几个步骤:根据请求url找到对应的Controller的Method,参数绑定后通过反射执行方法,将执行结果交给视图解析器响应视图。而在这之前需要通过消息转化器。Spring Boot底层通过HttpMessageConverters依靠Jackson将Java实体类输出为JSON格式。当有多个转换器可用时,根据消息对象类型和需要的内...

2018-08-13 09:25:43 3435

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

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

2018-08-05 20:44:15 576

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

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

2018-08-05 20:33:16 650

原创 idea安装mybatis-plugin

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

2018-08-05 20:08:52 840

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

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

2018-08-05 19:56:51 6494

原创 idea启动配置jvm参数

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

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

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

今天用eclipse使用tomcat启动项目一直出现这个问题:又是个常见的问题,将项目导出为war又是就这么大:明显想到了我在之前遇到的问题(参看我之前的博客:解决在eclipse中Deployment Assembly缺少Maven Dependencies的问题),按照之前的方式修改了,但是每次修改保存都会出现这样一个问题:有点像tomcat占用了一样,一看我eclip...

2018-08-03 15:03:33 9288

skywalking 6.5、6.6、6.6 es7 版本 tar 包

skywalking 6.5、6.6、6.6 es7 版本下载包,官方下载太慢。要注意如果连接 ES 7 记得下载 es7 版本

2021-02-04

IDEA查看Java运行代码的汇编指令工具

IDEA查看Java运行代码的汇编指令工具,将文件导入jre/bin中后,在IDEA中进行相关配置,即可查看汇编指令,具体方法可参看:https://blog.csdn.net/Dongguabai/article/details/82818120

2018-09-22

空空如也

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

TA关注的人

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