随笔分类 -  JAVA高级

摘要:发布定义: 指一个对象可以在对象的作用域范围以外使用。 溢出定义: 当某个不应该发布的对象被发布时称为溢出。 阅读全文
posted @ 2018-08-30 10:19 陶朱公Boy 阅读(259) 评论(0) 推荐(0)
摘要:设计模式六大原则之单一原则的设计注意事项 阅读全文
posted @ 2018-08-29 14:38 陶朱公Boy 阅读(192) 评论(0) 推荐(0)
摘要:Spring Boot中初始化资源的几种方式 阅读全文
posted @ 2018-08-28 14:45 陶朱公Boy 阅读(2831) 评论(0) 推荐(0)
摘要:JAVA提供了一种内置锁的机制来支持原子性,同步代码块。同步代码块分两部分组成:1)一个是作为锁的对象引用2)由这个锁保护的代码块 注意点:以关键字sync...修饰的方法就是一种横跨整个方法体的同步代码块,其中该同步代码块的锁就是方法调用所在的对象。 阅读全文
posted @ 2018-08-22 14:32 陶朱公Boy 阅读(205) 评论(0) 推荐(0)
摘要:JDK中关于观察者模式主要了解俩个概念 Observer观察者 Observable事件源;当事件源发生某事件时,有两个事情需要注意 1.里面有一个isChange属性 当为false时不会发通知给观察者。所以一般先setChange为true,然后注册观察者,再调用notifyObservers方法 通知所有观察者中的update方法 阅读全文
posted @ 2018-07-31 18:26 陶朱公Boy 阅读(213) 评论(0) 推荐(0)
摘要:此篇文章主要介绍了事件驱动模式的概念及对应的实现,事件驱动模型其实只是一个概念 ,从具体实现的角度讲可以有详细的方案实现,比较常见的比如观察者模式,发布订阅模式,再详细的方案落地话比如我们熟悉的MQ产品,rocketMq rabbitMq都是基于发布订阅的落地 阅读全文
posted @ 2018-07-31 18:11 陶朱公Boy 阅读(231) 评论(0) 推荐(0)
摘要:通过阻塞队列实现生产者和消费者异步解耦。 它的确是一种实用的设计模式,常用于编写多线程或并发代码。下面是它的一些优点: 它简化的开发,你可以独立地或并发的编写消费者和生产者,它仅仅只需知道共享对象是谁 生产者不需要知道谁是消费者或者有多少消费者,对消费者来说也是一样 生产者和消费者可以以不同的速度执行 分离的消费者和生产者在功能上能写出更简洁、可读、易维护的代码 阅读全文
posted @ 2018-07-31 15:53 陶朱公Boy 阅读(896) 评论(0) 推荐(0)
摘要:CSRF(Cross-site request forgery)跨站请求伪造是一类常见编程漏洞。对于存在CSRF漏洞的应用/网站,攻击者可以事先构造好URL,只要受害者用户一访问,后台便在用户不知情情况下对数据库中用户参数进行相应修改 只要协议、域名、端口有任何一个不同,都被当作是不同的域,之间的请求就是跨域操作。 阅读全文
posted @ 2018-07-10 14:54 陶朱公Boy 阅读(367) 评论(0) 推荐(0)
摘要:lambda表达式之方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器 阅读全文
posted @ 2018-07-09 16:56 陶朱公Boy 阅读(316) 评论(0) 推荐(0)
摘要:jdk1.8新特性之lambda表达式 阅读全文
posted @ 2018-07-09 14:48 陶朱公Boy 阅读(225) 评论(0) 推荐(0)
摘要:什么是lambda;优势是什么;为什么JDK8花费了这么长时间弄出这个新特性 阅读全文
posted @ 2018-07-09 14:10 陶朱公Boy 阅读(160) 评论(0) 推荐(0)
摘要:CAP理论和BASE理论及数据库的ACID 阅读全文
posted @ 2018-06-26 14:43 陶朱公Boy 阅读(601) 评论(0) 推荐(0)
摘要:大家知道synchronized是可以实现互斥进程内语义,分布式场景不适合建议使用(redis,etcd(推荐因为是CP模型))下暂时不讨论,那么单一进程内 synchronized还是比较简单的实现互斥的语义 阅读全文
posted @ 2018-06-20 12:38 陶朱公Boy 阅读(273) 评论(0) 推荐(0)
摘要:领域模型,数据驱动DDD 阅读全文
posted @ 2018-03-02 11:52 陶朱公Boy 阅读(208) 评论(0) 推荐(0)
摘要:Blockingqueue,线程池 阅读全文
posted @ 2018-02-28 14:59 陶朱公Boy 阅读(222) 评论(0) 推荐(0)
摘要:在多线程环境中对于全局变量的使用,往往这个变量存在线程不安全性,通过将对象保存在ThreadLocal中,使得每个线程都拥有自己的对象,达到维持线程封闭性效果。 volatile变量上存在一种特殊的线程封闭。只要确保只有单个线程对共享的volatile变量执行写入操作,那么就可以完全的在这些共享volatile变量上执行“读取-修改-写入”操作。。。 生产环境中的案例: 登录 一般登录实现会选择在登录成功后 将user上下文对象封装在ThreadLocal对象内 ,其他线程需要用到登录的用户ID... 阅读全文
posted @ 2017-07-05 11:01 陶朱公Boy 阅读(208) 评论(0) 推荐(0)
摘要:Map context = Collections.singletonMap("key", "value"); 阅读全文
posted @ 2017-05-17 21:43 陶朱公Boy 阅读(155) 评论(0) 推荐(0)
摘要:/** * NIO非阻塞式编程<p> * 服务端和客户端各自维护一个管理通道的对象,我们称之为selector,该对象能检测一个或多个通道 (channel) 上的事件。 * 我们以服务端为例,如果服务端的selector上注册了读事件,某时刻客户端给服务端发送了一些数据,阻塞I/O这时会调用rea 阅读全文
posted @ 2017-05-17 14:53 陶朱公Boy 阅读(385) 评论(0) 推荐(0)