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

阅读数 67

评论数 0

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

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

2018-08-31 16:30:28

阅读数 107

评论数 0

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

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

2018-08-31 10:39:10

阅读数 70

评论数 0

使用IText转PDF

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

2018-08-31 09:48:56

阅读数 295

评论数 0

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

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

2018-08-31 01:31:45

阅读数 80

评论数 0

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

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

2018-08-30 11:00:26

阅读数 50

评论数 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

阅读数 80

评论数 0

修改Eclipse启动参数

2018-08-29 12:05:22

阅读数 122

评论数 0

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

2018-08-28 15:55:41

阅读数 263

评论数 0

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

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

2018-08-27 01:33:48

阅读数 943

评论数 0

MyBatis在日志中输出JDBC Connecting信息

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

2018-08-26 01:34:18

阅读数 406

评论数 0

JDBC Connection XXX will not be managed by Spring

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

2018-08-26 01:32:12

阅读数 2224

评论数 1

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

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

2018-08-26 00:40:02

阅读数 41

评论数 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

阅读数 2872

评论数 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

阅读数 4968

评论数 0

IDEA SVN与资源库同步

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

2018-08-16 15:43:07

阅读数 9895

评论数 0

IDEA变更svn服务器地址

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

2018-08-16 12:39:05

阅读数 376

评论数 0

Spring Boot自定义注解扫描器

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

2018-08-15 14:37:52

阅读数 6042

评论数 0

分析Spring MVC自定义类型转换

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

2018-08-13 09:41:56

阅读数 82

评论数 0

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

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

2018-08-13 09:25:43

阅读数 481

评论数 0

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