![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 73
好奇的猫儿
技多不压身 vs 贪多嚼不烂
展开
-
AbstractQueuedSynchronizer的介绍和原理分析
简介提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础。使用的方法是继承,子类通过继承同步器并需要实现它的方法来管理其状态,管理的方式就是通过类似acquire和release的方式来操纵状态。然而多线程环境中对状态的操纵必须确保原子性,因此子类对于状态的把握,需要使用这个同转载 2017-09-24 04:10:00 · 284 阅读 · 0 评论 -
Otto.de:我为什么选择分布式垂直架构
otto.de是德国的一家网上购物网站,本篇前半部分主要介绍了几个系统架构以及它们的优缺点,后半部分主要讲解otto.de的微服务架构。 在我们开始开发otto.de网上商店时,我们选择了分布式垂直架构。之前的工作经验告诉我们,一体化架构(monolithic architecture)不能够满足不断增长的需求。爆发式增长的数据,持续提高的负载和对系统的扩展,所有的这些强迫我们去重新思考网站的架...转载 2018-02-27 13:57:42 · 544 阅读 · 0 评论 -
SOA面向服务架构
SOA面向服务架构 首先Martin Fowler提出SOA歧义Service Oriented Ambiguity,认为"什么是SOA"是不可能回答,因为不同的人意味着不同的事情,SOA意味服务接口,意味流程整合,意味资源再利用,意味着管制,在下面SOA组件图中,服务和服务消费者(客户端)之间存在多个约束,当一个服务显式暴露后,客户端能够通过绑定定位到该服务,相当于两者签订了合同,规定了合同内...转载 2018-02-27 18:25:06 · 202 阅读 · 0 评论 -
J2EE集群原理
【文章转自】http://blog.csdn.net/txplp/article/details/7716995http://topmanopensource.iteye.com/blog/1912015J2EE集群原理什么是集群呢?总的来说,集群包括两个概念:“负载均衡”(load balancing)和“失效备援”(failover)图一:负载均衡多个客户端同时发出请求,位于前端的负载均衡器根...转载 2018-02-21 14:14:52 · 156 阅读 · 0 评论 -
Dubbo源代码实现二:服务调用的动态代理和负载均衡
【转载】http://manzhizhen.iteye.com/blog/2314514疑惑一:为什么在Spring中我们能像注入普通本地服务JavaBean一样注入远程的Dubbo服务Bean?我们知道,Dubbo将服务调用封装成普通的Spring的Bean,于是我们可以像使用本地的Spring Bean一样,来调用远端的Dubbo服务,并有LoadBalance和Failover的功能。现在,...转载 2018-02-21 15:02:26 · 257 阅读 · 0 评论 -
J2EE集群原理
转自【http://topmanopensource.iteye.com/blog/1912015】J2EE集群原理什么是集群呢?总的来说,集群包括两个概念:“负载均衡”(load balancing)和“失效备援”(failover)图一:负载均衡多个客户端同时发出请求,位于前端的负载均衡器根据特定算法,将请求分担给比较空闲的机器,从而实现较高性能和较好的扩展性 图二:失效备援当客户端连续向某个...转载 2018-03-01 15:09:53 · 190 阅读 · 0 评论 -
大型网站架构演化历程
文章转自【http://blog.jobbole.com/96035/】大型网站的挑战主要来自庞大的用户,高并发的访问和海量数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得棘手。大型网站架构主要就是解决这类问题。本文内容大部分来自《大型网站技术架构》,这本书很值得一看,强烈推荐。大型网站系统的特点高并发,大流量需要面对高并发用户,大流量访问。Google 日均 PV...转载 2018-02-24 13:49:36 · 140 阅读 · 0 评论 -
Zookeeper-Watcher机制与异步调用原理
Watcher机制:目的是为ZK客户端操作提供一种类似于异步获得数据的操作.声明:本文转载自http://shift-alt-ctrl.iteye.com/blog/1847320,转载请务必声明。 1)在创建Zookeeper实例时,允许接收一个watcher参数,此参数将会赋值给watchMnanger.defaultWatcher,成为当前客户端的默认Watcher.需要注意此watcher...转载 2018-03-04 05:23:33 · 242 阅读 · 0 评论 -
开源的服务发现
译者信息服务发现是大部分分布式系统和面向服务架构的核心组件。最初问题看起来很简单:客户如何决定服务的IP地址和端口,这些服务已存在于多个服务器上的。通常,你开始一些静态的配置,这些配置离你需要做的还挺远的。当你开始布署越来越多的服务时,事情会越来越复杂。在一个上线的系统中,由于自动的或人为的规模变化,服务的位置会经常的变化,例如布署新的服务,服务器宕机或者被替换。在这些应用场景中为了避免服务冲突,...转载 2018-03-18 23:03:11 · 242 阅读 · 0 评论 -
彻底找到 Tomcat 启动速度慢的元凶[转载]
文章转自http://blog.sina.com.cn/s/blog_6e2d53050102x11x.html,感谢原作者的研究分享精神。问题现象 美女同事找我解决一个问题,说Tomcat启动很慢。开始我以为是程序写的问题,所以把webapps下所有程序都删除掉。(只保留Tomcat自带)灵异的事情发生了,Tomcat停止在——我查看了一下进程,Tomcat所在的JVM进程已经被启动...转载 2018-09-11 11:48:36 · 2242 阅读 · 0 评论 -
Flume监控【转】
转自https://kiswo.com/article/1023,感谢原作者异常排查当 QPS 压到3w时,Flume出现一下错误信息。09 Jun 2017 12:06:30,703 ERROR [pool-3-thread-1] (org.apache.flume.source.ExecSource$ExecRunnable.run:352) - Failed while ru...转载 2018-09-05 17:36:11 · 5606 阅读 · 0 评论 -
Morphline学习笔记一:搭建demo构成
一、根据官方文档,在pom.xml文件中直接添加所有特性的依赖<dependency> <groupId>org.kitesdk</groupId> <artifactId>kite-morphlines-all</artifactId> <version>1.1.0</version> &原创 2018-09-14 02:38:31 · 1095 阅读 · 0 评论 -
深入理解 Java 垃圾回收机制
一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂转载 2017-12-09 13:54:52 · 123 阅读 · 0 评论 -
Java 多线程核心技术梳理(附源码)
转自:https://segmentfault.com/a/1190000004962367Java 多线程核心技术梳理(附源码)多线程 java brianway 2016年04月18日发布赞 | 6收藏 | 532.6k 次浏览本文对多线程基础知识进行梳理,主要包括多线转载 2017-11-12 15:25:14 · 222 阅读 · 0 评论 -
Spring MVC 使用Jackson转换Mybaits等代理类时的问题
一、问题原因:我们知道,ORM中高级关联和集合映射是一个深度的主题 。这里Mark一下,之后需要深入看看论文和框架的源码再总结。一般而言,ORM会使用懒加载的技术为Domain映射结果,核心技术用Proxy和字节码工具。这自然会在普通的Pojo Domain类上,添加一些透明的属性和方法,这些属性和方法会导致Jackson序列化的时候无法正常工作。二、Jackson错误:C原创 2017-10-17 23:29:58 · 239 阅读 · 0 评论 -
Java的LockSupport.park()实现分析
LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语。LockSupport实际上是调用了Unsafe类里的函数,归结到Unsafe里,只有两个函数:12publicnative void unpark(Thread jthread);publicnativ转载 2017-10-20 16:53:54 · 166 阅读 · 0 评论 -
代码重构----使用java有限状态机来消除太多的if else判断
【转】http://www.cnblogs.com/davidwang456/p/3535377.html1. 状态机基本概念http://zh.wikipedia.org/wiki/%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E6%9C%BA状态存储关于过去的信息,就是说:它反映从系统开始到现在时刻的输入变化。转移指示状态变更,并且用必须转载 2017-10-20 17:48:03 · 1571 阅读 · 0 评论 -
Java多线程之自旋锁与队列锁
Java多线程之自旋锁与队列锁锁 算法 多线程 java xint 2016年04月14日发布编写高效的并发程序,需要对互斥问题重新研究,设计出适用于多线程的互斥协议。那么问题来了,如果不能获得锁,应该怎么做?旋转:继续进行尝试,如自旋锁,延迟较短;阻塞:挂起自己,请求调度器切换到另一个线程转载 2017-10-20 21:01:18 · 252 阅读 · 0 评论 -
SpringBoot学习笔记(四):SpringApplication的旅途
mark...待续原创 2017-10-21 22:40:30 · 203 阅读 · 0 评论 -
SpringBoot学习笔记(一):POM和Maven插件
POM依赖逻辑和管理(可作为学习Maven的经典案例教材)一、spring-boot-starter-parent(POM) : parent引用spring-boot-dependencies作为打算使用SpringBoot进行开发的私人项目的父类POM引入 这样项目若想使用spring-boot-starter-web则只需依赖spring-boot-sta原创 2017-10-21 22:02:05 · 2376 阅读 · 0 评论 -
SpringBoot学习笔记(二):YAML在SpringBoot的作用和机制
mark...待续原创 2017-10-21 22:37:00 · 5281 阅读 · 0 评论 -
Mybatis Insert 返回主键的一个小坑
一般而言,网上和官方文档上都是推荐这样做:insertid="insertAuthor"useGeneratedKeys="true"keyProperty="id">insert into Author (username,password,email,bio) values (#{username},#{password},#{email},#{bio})原创 2017-10-16 12:26:13 · 1393 阅读 · 0 评论 -
SpringBoot学习笔记(三):EnableAutoConfiguration作用和机制
mark...待续原创 2017-10-21 22:38:34 · 8345 阅读 · 0 评论 -
SpringBoot学习笔记(五):SpringBoot与SpringMvc
一、自动配置机制WebMvcAutoConfiguration通过分析@EnableAutoConfiguration注解知道,Spring会用SpringFatoriesLoader载入一些配置,WebMvcAutoConfiguration是Boot-AutoConfigure自动载入的其中一个用于处理Web1、 EnableAutoConfigurationAuto-configur原创 2017-10-25 11:45:57 · 1491 阅读 · 0 评论 -
由Mybatis发现的一个坑
源码很重要Thanks for the report, Osvaldas. This has indeed been an issue known about, at least internally, for some time.There is a fundamental lifecycle conflict in handling BeanFactoryPostProce原创 2017-10-26 01:37:27 · 505 阅读 · 0 评论 -
Flume优化【转】
本文转自 http://caodaoxi.iteye.com/blog/1962786 感谢原作者创作分享ETL(Extraction, Transformation, and Load)是基于日志数据挖掘中的重要环节。现在Hadoop用于日志ETL的工具主要有Facebook的Scribe,Apache的Chukwa和Cloudera的Flume等等。从容错性、负载均衡和可扩展性上考...转载 2018-10-13 16:50:41 · 300 阅读 · 0 评论