随笔分类 -  java

摘要:1.synchronized介绍 synchronized是java关键字。JVM规范中,synchronized关键字用于在线程并发执行时,保证同一时刻,只有一个线程可以执行某个代码块或方法;同时还保证了代码在执行完后所修改的数据对其它线程是可见的。总结来说:synchronized解决了并发编程 阅读全文
posted @ 2019-09-29 15:40 freeTimeWY 阅读(920) 评论(0) 推荐(0)
摘要:1.Map.merge方法介绍 jdk8对于许多常用的类都扩展了一些面向函数,lambda表达式,方法引用的功能,使得java面向函数编程更为方便。其中Map.merge方法就是其中一个,merge方法有三个参数,key:map中的键,value:使用者传入的值,remappingFunction: 阅读全文
posted @ 2019-05-30 22:18 freeTimeWY 阅读(20993) 评论(0) 推荐(3)
摘要:1. 分布式锁介绍 什么是锁?在多线程(多进程)应用程序中,当需要访问到共同的资源时,尤其涉及到写操作的时候,如果不对资源访问做同步处理,会发生无法预料的情况。锁就是在程序中对资源访问做同步处理的,把异步变同步。java,数据库等都有锁的概念。 那么什么是分布式锁呢?程序开发直至今日,许多的项目,尤 阅读全文
posted @ 2019-05-11 18:47 freeTimeWY 阅读(525) 评论(0) 推荐(0)
摘要:1. java中导致死锁的原因 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放,而该资源又被其他线程锁定,从而导致每一个线程都得等其它线程释放其锁定的资源,造成了所有线程都无法正常结束。这是从网上其他文档看到的死锁产生的四个必要条件: 1、互斥使用,即当资源被一个线程使用(占有)时, 阅读全文
posted @ 2018-10-08 23:30 freeTimeWY 阅读(25121) 评论(0) 推荐(2)
摘要:Mybatis配置中,取出map入参的数据一般有两种方式#{key}和${key},下面是这两种取值的区别: 以同样的语句做对比: 如果传入的name和password参数分别是:admin和123456。 用#{key}取值后执行的sql是select * from t_user t where 阅读全文
posted @ 2018-10-07 23:33 freeTimeWY 阅读(1072) 评论(0) 推荐(0)
摘要:MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。下面介绍的是用java操作MongoDB的一些常用写法。 1.引用java操作MongoDB驱动包 <dependency> <gr 阅读全文
posted @ 2018-10-06 20:38 freeTimeWY 阅读(2256) 评论(0) 推荐(0)