想天浏览器 想天浏览器
2年前
想天浏览器3.2正式版推送更新
快来看更新!经过我们一个多月的努力开发,想天浏览器3.2正式版推送更新啦。    图片下方是本次更新的主要内容↓↓浅色模式3.2改进的深色模式新增内容1.兼容插件机制插件的crx形式安装插件的解压包形式安装插件的工具栏展示与否设置插件的启用禁用chrome商店安装到想天浏览器,同时支持下载
Wesley13 Wesley13
3年前
spring eureka 服务实例实现快速下线快速感知快速刷新配置解析
背景默认的SpringEureka服务器,服务提供者和服务调用者配置不够灵敏,总是服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化。或者是服务已经注册上去了,但是服务调用方很长时间还是调用不到,发现不了这个服务。源码解读通过对SpringEureka源码的研究,发现如下机制(默认配置下):!image(h
Wesley13 Wesley13
3年前
RPC原理及实现
1简介RPC的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。2调用分类RPC调用分以下两种:同步调用客户方等待调用执行完成并返回结果。
Stella981 Stella981
3年前
MyBatis插件开发
MyBatis插件开发一、前言MyBatis在四大对象的创建过程中,都会有插件进行介入。插件可以利用动态代理机制一层层的包装目标对象,而实现在目标对象执行目标方法之前进行拦截的效果。MyBatis允许在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包
Stella981 Stella981
3年前
MyBatis逆向代码生成器
     MyBatis是一个轻量级的 数据库映射框架,它的“动态sql”和“数据对象映射”机制,得到了你的青睐。但是在有时候,“数据表的字段多”、“字段的名称和model类的名称不匹配”、“mapperXML书写”让你比较困扰。为了解决这些问题,让你又更多时间投身到业务开发当中来。以下是本人开发的一个基于generatormaster的图形化
Stella981 Stella981
3年前
Binder学习指南
毫不夸张地说,Binder是Android系统中最重要的特性之一;正如其名“粘合剂”所喻,它是系统间各个组件的桥梁,Android系统的开放式设计也很大程度上得益于这种及其方便的跨进程通信机制。理解Binder对于理解整个Android系统有着非常重要的作用,Android系统的四大组件,AMS,PMS等系统服务无一不与Binder挂钩;如果对Binde
Wesley13 Wesley13
3年前
Java多线程并发中 CAS 的使用与理解
一、CAS(CompareAndSwap):  CAS(CompareAndSwap),即比较并交换CAS(V,E,N)。是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数——要更新的变量(V)、预期原值(E)和新值(N)。核心算法是如果V值等于E值,则将V的值设为N。若V值和E值不同,则说明已经有其他线
Stella981 Stella981
3年前
CGLIB(Code Generation Library)详解
什么是CGLIBCGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架,同样使用CGLIB来代理单端(多对一和一对一)关联(延迟提取集合使用的另一种机制)。CGLIB作为一个开源项目,其代码托管在github,地址为:
Easter79 Easter79
3年前
Spring的两种动态代理:Jdk和Cglib 的区别和实现
一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口,可以
Stella981 Stella981
3年前
RabbitMQ简介
先决条件这份指南会假定你已经安装并在localhost的标准端口(5672)上运行了RabbitMQ。但如果你使用了一个不同的主机、端口或认证机制,则连接设置也要做相应的修改。RabbitMQ是一个消息的中继代理。它的主要概念非常简单:接收并转发消息。你可以把它想象成一个邮局:当你将信件放进邮箱的时候,你非常确定邮差最终会