孤芳不自赏

玩命工作应酬,就是年轻时最好的生活。

架构:Yahoo 14条优化建议。

有兴趣的同学可以装个 Firebug 下的 Yslow ,测试下自己的网站。 Web 应用性能优化黄金法则:先优化前端程序 (front-end) 的性能,因为 这是 80% 或以上的最终用户响应时间的花费所在。 法则 1. 减少 HTTP 请求次数 80%的最终用户响应时间花在前端程序上,...

2019-01-15 15:36:58

阅读数:31

评论数:0

架构:线程池的实现原理。

Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理的使用线程池能够带来3个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执...

2018-12-12 09:08:26

阅读数:35

评论数:0

Fork/Join框架。

本文将会介绍Fork/Join框架的基本原理、算法、设计方式、应用与实现等。 什么是Fork/Join框架 Fork/Join框架是Java 7 提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个任务结果后得到大任务结果的框架。 我们再通过Fork/Join这两...

2018-12-11 10:26:01

阅读数:11

评论数:0

等待/通知的经典范式。

该范式分为两部分,分别针对等待方(消费者)和通知方(生产者)。 等待方遵循如下原则。 获取对象的锁。 如果条件不满足,那么调用对象的wait()方法,被通知后仍要检查条件。 条件满足则执行对应的逻辑。 对应的伪代码如下。 synchronized(对象) { while(条件不...

2018-12-06 14:43:12

阅读数:24

评论数:0

Maven从仓库解析并使用依赖构建的机制。

当本地仓库没有依赖构件的时候,Maven会自动从远程仓库下载;当依赖版本为快照版本的时候,Maven会自动找到最新的快照。这背后的依赖解析机制可以概括如下: 当依赖的范围是system的时候,Maven直接从本地文件系统解析构件。 根据依赖坐标计算仓库路径后,尝试直接从本地仓库寻找构件,如果发...

2018-10-29 15:17:06

阅读数:21

评论数:0

几种静态化方案的设计及选择。

下面详细分析如何设计静态化架构,首先要考虑方案应该遵循的几个原则,涉及如何回答以下几个问题。     是否一致性Hash分组?做缓存一定是和命中率紧密相关的,命中率和数据的集中度相关,而要让数据集中一致性Hash就是一个必然选择。但是一致性Hash有一个天然的缺陷就是会导致热点问题,当热点特别集...

2018-08-21 16:10:28

阅读数:202

评论数:0

什么是静态化系统。

静态系统通常有如下几方面的特征。     一个页面对应的URL通常固定。不同的URL表示不同的内容,让返回的请求和URL相关,也就是通过URL能唯一标识一个页面。     在页面中不能包含与浏览者相关的因素。这里所说的“不能包含”不包含JS动态生成的部分,也就是在页面中HTML代码不能明显的含...

2018-08-21 15:46:38

阅读数:75

评论数:0

iBatis框架的运行原理。

本文分析iBatis框架的主要类是如何串联起来、如何工作的。下图描述了整个过程中的主要执行步骤。 在上图中描述的SqlMapSession对象的创建和释放根据不同的情况会有所不同,因为SqlMapSession负责创建数据库的连接,包括对事务的管理,iBatis既可以自己管理事务又可以由外部...

2018-08-21 14:05:52

阅读数:76

评论数:0

iBatis框架的设计策略。

iBatis的主要设计目的还是为了让我们在执行SQL时对输入输出的数据的管理更加方便,所以方便让我们写出SQL和方便地获取SQL的执行结果才是iBatis的核心竞争力。那么iBatis是怎么体现他的核心竞争力呢? iBatis框架的一个重要组成部分就是其SqlMap配置文件,SqlMap配置文件...

2018-08-21 13:57:58

阅读数:22

评论数:0

SpringMVC的总体设计。

要使用SpringMVC,只需在web.xml中配置一个DispatcherServlet,再定义一个dipatcherServlet-servlet.xml配置文件,这样一个简单的基于SpringMVC的应用就创建完成了。 实际上SpringMVC的使用非常简单,我们只要扩展一个路径映射关系;...

2018-08-20 17:10:01

阅读数:53

评论数:0

如何将class文件加载在JVM中。

    如下图所示是ClassLoader加载一个class文件到JVM时需要经过的步骤。          第一个阶段是找到.class文件并把这个文件包含的字节码加载到内存中。     第二个阶段又可以分为三个步骤,分别实字节码验证、Class类数据结构及相应的内存分配和最后的符号表的链接。 ...

2018-08-03 17:21:17

阅读数:537

评论数:0

ClassLoader的等级加载机制。

    ClassLoader顾名思义就是类加载器,负责将Class加载到JVM中,他就好比开会时门口的接待员,负责给进入会场的嘉宾发放入会证明,入会的嘉宾分为VIP会员、黄金会员、白金会员和普通会员等。对应的接待室也会分为VIP会员接待室、黄金会员接待室、白金会员接待室和普通接待室,不同等级的会...

2018-08-03 16:07:57

阅读数:83

评论数:0

Javac如何编译程序。

转化步骤     首先,要读取源代码,一个字节为一节的度进来,找出在这些字节中有哪些是我们定义的语法关键词,如Java中的if、else、for、while等关键词:要识别哪些if是合法的关联词,哪些不是,这个步骤就是词法分析过程。     此法分析的结果就是从源代码中找出一些规范化的Token...

2018-08-03 11:31:53

阅读数:124

评论数:0

一次HTTP请求的编解码。

URL的编解码        注意:这里所说的URL和URI是针对Servlet进行描述的,也就是request.getRequestURL()和request.getRequestURL()返回的URL和URI结果。        解析请求的URL是在org.apache.coyote.HTT...

2018-08-01 14:46:44

阅读数:207

评论数:0

NIO的工作机制。

下图描述了基于NIO工作方式的Socket请求过程     上图中的Selector可以同时监听一组通信信道(Channel)上的I/O状态,前提是这个Selector已经注册到这些通信信道中。选择器Selector可以调用select()方法检查已经注册的通信信道上I/O是否已经准备好,如...

2018-07-30 17:18:46

阅读数:24

评论数:0

Http协议三次握手过程。

TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) ...

2018-07-30 16:32:30

阅读数:36

评论数:0

Java SOcket的工作机制。

下图是典型的基于Socket的通信场景。      主机A的应用程序要能和主机B的应用程序通信,必须通过SOcket建立连接,而建立Socket连接必须由底层TCP/IP来建立TCP连接。建立TCP连接需要底层IP来寻址网络中的主机。我们知道网络层使用的IP可以帮助我们根据IP地址来找到目标...

2018-07-30 16:25:27

阅读数:19

评论数:0

TCP状态转化。

TCP连接的状态转换如下图所示。  CLOSED:起始点,在超时或者连接关闭时进入此状态。 LISTEN:Server端在等待连接时的状态,Server端为此要调用Socket、bind、listen函数,就能进入此状态。这称为应用程序被动打开(等待客户端来连接)。 SYN-SENT:客户端...

2018-07-30 16:04:12

阅读数:32

评论数:0

CDN架构。

    如上图所示,一个用户访问某个静态文件(如CSS文件),访问这个静态文件的域名,首先要向Loacal DNS服务器发起请求,一般经过迭代解析后回到这个域名的注册服务器去解析,一般每个公司都会有一个DNS解析服务器。这时这个DNS解析服务器通常会把他重新CNAME解析到另外一个域名,而这个...

2018-07-30 14:30:47

阅读数:173

评论数:0

DNS域名解析过程。

当一个用户在浏览器中输入网址时,DNS解析将会有近10个步骤,这个过程大体描述如下。     当用户在浏览器中输入域名并按下回车键后,第1步,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且...

2018-07-30 11:46:57

阅读数:45

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭