java
文章平均质量分 79
西雨
人类的幸福和欢乐在于奋斗,而最有价值的是为理想而奋斗!
展开
-
volaite实现原理
volaite的作用:1保证变量对所有线程可见;2.禁止指令重排序可见性是指:读取时都从主内存读取;修改后立即写入主内存,使其他工作内存数据失效;重排序:内存屏障会为指令的执行提供以下保障1.不会把后边的代码排到内存屏障之前;2.不会把前门的代码排到内存屏障之后;3.在执行到内存屏障修饰的指令时前面的代码全部执行完成;4.强制将工作内存值的修改刷新至主内存;5.如果是写...原创 2020-05-01 23:07:08 · 487 阅读 · 0 评论 -
log4j log4j2 logback 如何使用
相信每个人的项目都有日志记录的功能,不过采用了什么方式。从System.out.println(),JDK Logger,到Apache commons logging,Apache Log4j,再到slf4j,Logback,Log4j2。你清楚他们的区别吗。本文详细介绍他们的区别和使用。1.System.out.println()同步阻塞,日志会打印到控制台,应杜绝在生产环境使用。同样...原创 2020-05-01 22:55:01 · 733 阅读 · 0 评论 -
Spring事务容易踩的坑
一:目标对象的内部调用无法实施切面 二:实验1.接口定义public interface UserManager { Integer insert(User user); void updateUser(User user);}2.实现类@Component("userManager")public class UserManag...原创 2019-10-26 11:42:51 · 376 阅读 · 0 评论 -
函数式接口
jdk1.8之后,所谓函数式接口是指在接口中只有一个抽象方法,可以使用 @FunctionalInterface注解来约束,有多个抽象方式就好报错;使用函数式接口,所以使用lambda表达式时,编译器可以根据上下文找到对应的接口,方法,确定参数类型.函数式接口示例@FunctionalInterfacepublic interface MyFunctionInterface { ...原创 2018-07-01 21:54:10 · 274 阅读 · 0 评论 -
lambda表达式
lambda表达式是在jdk1.8后新增的,所以使用lambda表达式程序编译需要基于1.8版本;使用lambda表达式是因为对程序员来说起名比较困难,程序员只需要关新的业务逻辑,不关心名称,所以lambda表达式一般用于实现匿名内部类或接口,语法()->{}代码示例@Test public void test02() { /** * 原来使用内部类...原创 2018-07-01 22:10:36 · 243 阅读 · 0 评论 -
slf +log4j2使用问题
异常:项目启动日志包含SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder ...原创 2019-07-11 09:14:39 · 338 阅读 · 0 评论 -
canal使用同步mysql遇到的一些问题
1.服务端下载[canal.deployer-1.1.3.tar.gz]使用,不是canal.example-1.1.3.tar.gz2.版本有对应关系,本人使用1.1.3连mysql-5.5没有成功, 然后还有mysql-8.0的话注意客户端的驱动程序版本也必须是8.0的 mysql8.0和5.x其中一个改动就是加密认证方式发生改变, caching_sha2_passw...原创 2019-08-10 02:00:59 · 1167 阅读 · 0 评论 -
kafka启动失败Uninitialized object exists on backward branch 209 解决
1. linux环境下下载kafka启动失败,异常信息如下[root@iZ8vbh7c4195en5tcpx559Z kafka_2.12]# bin/kafka-server-start.sh config/server.properties[2019-08-24 20:30:21,667] INFO Registered kafka:type=kafka.Log4jController ...原创 2019-08-24 22:28:39 · 2150 阅读 · 0 评论 -
dubbo与cloud的区别
1.协议dubbo是基于rpc协议,基于接口的远程调用;不能跨平台Cloud是http协议的,restful风格的,可以实现跨平台调用rpc协议是基于更底层的TCP协议,数据不需要通过http协议包装,实践性能更好。2.使用方式dubbo一般是xml配置的方式,cloud是boot基于注解的3.注册发现dubbo使用的是zookeeper,在分布式系统中,zookeep...原创 2019-08-31 08:28:26 · 2479 阅读 · 1 评论