摘要:
1.synchronized介绍 synchronized是java关键字。JVM规范中,synchronized关键字用于在线程并发执行时,保证同一时刻,只有一个线程可以执行某个代码块或方法;同时还保证了代码在执行完后所修改的数据对其它线程是可见的。总结来说:synchronized解决了并发编程 阅读全文
摘要:
1.隔离级别介绍 隔离级别并不是某个SQL数据库所特有的,而所有SQL数据库都要实现的一种并发事务隔离机制。隔离性其实比想象的要复杂。在SQL标准中定义了四种隔离级别,每一种隔离级别都规定了一个事务中所作的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低的级别的隔离通常可以执行更高的并发,系 阅读全文
摘要:
1.Map.merge方法介绍 jdk8对于许多常用的类都扩展了一些面向函数,lambda表达式,方法引用的功能,使得java面向函数编程更为方便。其中Map.merge方法就是其中一个,merge方法有三个参数,key:map中的键,value:使用者传入的值,remappingFunction: 阅读全文
摘要:
1. 分布式锁介绍 什么是锁?在多线程(多进程)应用程序中,当需要访问到共同的资源时,尤其涉及到写操作的时候,如果不对资源访问做同步处理,会发生无法预料的情况。锁就是在程序中对资源访问做同步处理的,把异步变同步。java,数据库等都有锁的概念。 那么什么是分布式锁呢?程序开发直至今日,许多的项目,尤 阅读全文
摘要:
1. java中导致死锁的原因 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放,而该资源又被其他线程锁定,从而导致每一个线程都得等其它线程释放其锁定的资源,造成了所有线程都无法正常结束。这是从网上其他文档看到的死锁产生的四个必要条件: 1、互斥使用,即当资源被一个线程使用(占有)时, 阅读全文
摘要:
Mybatis配置中,取出map入参的数据一般有两种方式#{key}和${key},下面是这两种取值的区别: 以同样的语句做对比: 如果传入的name和password参数分别是:admin和123456。 用#{key}取值后执行的sql是select * from t_user t where 阅读全文
摘要:
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。下面介绍的是用java操作MongoDB的一些常用写法。 1.引用java操作MongoDB驱动包 <dependency> <gr 阅读全文
摘要:
微信公众号开发自从支持允许在群发图文中插入小程序,方便了小程序的运营及推广。最近在三方服务开发中,要支持图文素材插入小程序遇到了一个很是棘手的问题。官方给出的插入小程序的示例支持文字、图片、卡片。如下面api文档介绍: 按照示例插入文字小程序和图片小程序都没问题,但是插入卡片小程序却是一直报错err 阅读全文
摘要:
在java中,可以根据Class类的对象,知道某个类(接口)的一些属性(成员 ,方法,注释,注解)等。由于最近的工作中用到了这些,其中需要在代码中格局反射知道某些类的方法,查看文档的时候,看到了getMethods()和getDeclaredMethods()的差异。虽然两者都能实现目的,但个人觉得 阅读全文
摘要:
1、什么是路由模式(direct) 路由模式是在使用交换机的同时,生产者指定路由发送数据,消费者绑定路由接受数据。与发布/订阅模式不同的是,发布/订阅模式只要是绑定了交换机的队列都会收到生产者向交换机推送过来的数据。而路由模式下加了一个路由设置,生产者向交换机发送数据时,会声明发送给交换机下的那个路 阅读全文