摘要:
分布式服务需要满足CAP原则,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),但三者不可得兼;一般都会优先保证可用性和分区容错性,并且保证最终一致性。BASE理论是对CAP原则的补充,Basically Available 阅读全文
摘要:
剥离静态资源请求到CDN 一般在主域名下的HTTP请求里都会携带大量Cookie信息,最大4KB,每个域名下最多50条;但如果仅仅访问js/css/jpeg等静态资源文件的话是不需要Cookie信息,所以可以将整个站点的静态资源放到一个专门的域名下,以求减小网络开销,也就是Cookie free 阅读全文
摘要:
Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具,它为基于JVM的微服务开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一站式的开发框架。而上文提到的微服务架构就是将一个完整的应用从数据存储开始垂直 阅读全文
摘要:
Object.wait(miliSec)/notify()/notifyAll() 线程调用wait()之后可以由notify()唤醒,如果指定了miliSec的话也可超时后自动唤醒。wait方法的调用会让当前线程放弃已经获取的object锁标志位,比如在同步代码块synchronized中调用wa 阅读全文
摘要:
JVM内存模型 Sun在2006年将Oracle JDK开源最终形成了Open JDK项目,两者在绝大部分的代码上都保持一致。JVM的内存模型是围绕着原子性(操作有且仅有一个结果)、可见性(racing thread读取变量的值永远是最新的)和有序性(指令的执行时有序并且符合happen-befor 阅读全文
摘要:
线程的内存模型 32位操作系统的寻址空间为2的32次方,也就是4GB的寻址空间;系统在这4GB的空间里划分出1GB的空间给系统专用,称作内核空间,具有最高权限;剩下3GB的空间为用户空间(一般JVM的可用内存最大只能是2GB),只能访问当前线程划分的内存地址。用户线程需要访问硬件资源的时候需要委托内 阅读全文
摘要:
什么是ZooKeeper ZooKeeper作为一个分布式的服务框架(与Google Chubby类似),主要用于解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但 ZK并不是用来专门存储数据的,它的作用主要是用来维护和监控系统存储的数据的状态变化。通过监 阅读全文
摘要:
Deployment期间验证 实现一: 1 <bean id="theTargetBean" class="..."/> 2 3 <bean id="theClientBean" class="..."> 4 <property name="targetName"> 5 <idref bean="t 阅读全文
摘要:
定义Pojo对象和**.hbm.xml文件 -1 对于每一个需要持久化的对象都需要创建一个Pojo类定义,Hibernate要求POJO类定义中必须有一个no-argument的构造方法,便于Hibernate通过java reflection机制创建实例:[java.lang.reflect.Co 阅读全文
摘要:
Hibernate的设计思路 Hibernate是一种全自动化管理持久化对象的ORM框架,既提供了完全面向对象的封装完整的对象持久化接口(屏蔽db层的差异化,提升代码可移植性),也提供了操作HQL和SQL的半自动化DB访问接口(提供复杂查询的扩展性)。 配置hibernate.cfg.xml和*** 阅读全文