7 吃货小跟班

尚未进行身份认证

我要认证

即将走出象牙塔的菜鸟

等级
TA的排名 2w+

大型网站架构的演化

本篇博客摘抄自《大型网站系统与Java中间件实践》、《大型网站技术架构核心原理与案例分析》。1 什么是大型网站衡量一个网站是否为大型网站,访问量和数据量二者缺一不可。除了海量数据和高并发的访问量,本身业务和系统的复杂度也是考察的方面。大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变的很棘手。大型网站架构主要就是

2017-05-04 19:49:32

【远程调用框架】如何实现一个简单的RPC框架(五)优化三:软负载中心设计与实现

【如何实现一个简单的RPC框架】系列文章:【远程调用框架】如何实现一个简单的RPC框架(一)想法与设计 【远程调用框架】如何实现一个简单的RPC框架(二)实现与使用 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式 【远程调用框架】如何实现一个简单的RPC框架(四)优化二:改变底层通信框架 【远程调用框架】如何实现一个简单的RPC框架(五)优化三:软

2017-04-25 10:53:44

【远程调用框架】如何实现一个简单的RPC框架(四)优化二:改变底层通信框架

【如何实现一个简单的RPC框架】系列文章:【远程调用框架】如何实现一个简单的RPC框架(一)想法与设计 【远程调用框架】如何实现一个简单的RPC框架(二)实现与使用 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式 【远程调用框架】如何实现一个简单的RPC框架(四)优化二:改变底层通信框架 第一个优化以及第二个优化修改后的工程代码可下载资源 如何实现

2017-04-11 13:52:53

【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式

【如何实现一个简单的RPC框架】系列文章:【远程调用框架】如何实现一个简单的RPC框架(一)想法与设计 【远程调用框架】如何实现一个简单的RPC框架(二)实现与使用 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式 【远程调用框架】如何实现一个简单的RPC框架(四)优化二:改变底层通信框架这篇博客,在(一)(二)的基础上,对第一版本实现的服务框架进行改

2017-03-29 09:43:08

【远程调用框架】如何实现一个简单的RPC框架(二)实现与使用

【如何实现一个简单的RPC框架】系列文章:【远程调用框架】如何实现一个简单的RPC框架(一)想法与设计 【远程调用框架】如何实现一个简单的RPC框架(二)实现与使用 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式 【远程调用框架】如何实现一个简单的RPC框架(四)优化二:改变底层通信框架 【远程调用框架】如何实现一个简单的RPC框架(五)优化三:软

2017-03-28 16:08:19

【Maven】Maven的SNAPSHORT版本与依赖更新

1、问题描述今天在用Intellij Idea写代码的时候,遇到一个问题,大概形容一下: 分别有两个Java工程,TestA、TestB均使用maven构建,TestB依赖TestA,即在TestB的pom文件中,写出了对TestA的依赖,如下:<!--TestA--><dependency> <groupId>whu.lc</groupId> <artifactId>lc</artif

2017-03-28 09:27:03

【远程调用框架】如何实现一个简单的RPC框架(一)想法与设计

【如何实现一个简单的RPC框架】系列文章:【远程调用框架】如何实现一个简单的RPC框架(一)想法与设计 【远程调用框架】如何实现一个简单的RPC框架(二)实现与使用 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式 【远程调用框架】如何实现一个简单的RPC框架(四)优化二:改变底层通信框架 【远程调用框架】如何实现一个简单的RPC框架(五)优化三:软

2017-03-26 11:34:06

【Java IO模式】Java BIO NIO AIO总结

()[TOC]一、同步与异步、阻塞与非阻塞1、同步与异步同步与异步的区别在于,数据从内核空间拷贝到用户空间是否由用户线程完成。 – 对于同步来说,分阻塞和非阻塞两种。阻塞的情况,一个线程维护一个链接,该线程完成数据的读写与处理的全部过程,并且数据的读写是阻塞的。 对于非阻塞来说,虽然读写的过程不会阻塞当前线程,立即返回,但是用户线程(Selector选择器)仍然要不断主动去判断数据是否“就绪”(感

2017-03-25 13:54:04

【Spring:FactoryBean接口】实现FactoryBean接口,Spring在初始化bean时有何不同

问题描述:最近想要再次熟悉一下阿里中间件HSF的用法,在消费HSF时需要在Spring的配置文件中进行如下配置:<bean id="myClassB" class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean"> <property name="interfaceName"> <value>com.lican.Mycla

2017-03-23 09:17:15

【Java JVM】Java 虚拟机类加载机制简单总结

下面内容大部分为阅读《深入Java虚拟机》一书第七章后的摘要总结1、类加载过程Java程序在编译后,生成.class格式的字节码文件,而class文件最终都需要加载到虚拟机中之后才能运行和使用。在Java中,虚拟机的类加载机制主要包括三个步骤:加载,连接(验证、准备、解析),初始化;类的全部加载过程完成之后,class文件中描述的类的信息会在虚拟机运行时的方法区存储,存储的结构由不同虚拟机决定;同时

2017-03-20 18:03:11

【Java String】Java 中的String类相关知识再认识

1、创建字符串的方式(1)直接赋值String str = “abc”; 此时,若字符串常量池中从没有出现过“abc”,则在字符串常量池中存入一个字符串“abc”,将该字符串的引用赋值给str变量;(2)new一个String类型对象String str =new String(“abc”); 此时,在Java中,凡是使用new的方式创建对象,则一定会在堆中创建一个对象,存储一个字符串“abc”

2017-03-09 14:55:43

【Java 单例模式】Java 单例模式在多线程环境中可能存在的问题

在多线程环境下,使用延迟加载的方式实现单例模式,会出现错误。 例如,使用如下方式实现单例类:package study20170307;/** * Created by apple on 17/3/7. */public class SingleJavaTest { private static SingleJavaTest singleJavaTest = null; publ

2017-03-07 18:08:29

【Java 多线程】Java 线程间通信

本文简单总结线程间通信的方式:方法一:等待/通知机制wait + notify + notifyAll的方式方法二:通过管道进行线程间通信使用Java给我们提供的管道流(pipeStream),在不同线程间直接传送数据。一个线程发送数据到输出管道,另一个线程从输入管道中读数据, 在Java 的JDK中提供了4个类来使线程间可以进行通信: 1)PipedInputStream 和 PipedOut

2017-03-07 18:06:46

【Java 多线程】Java 如何停止线程

总结如下几种方式使线程停止执行: (1)共享bool类型变量方式; (2)调用线程interrupt方式,同时通过isInterrupted方式判断线程是否被停止,若停止则终止循环操作(线程类中循环外没有其他操作); (3)调用线程interrupt方式 + 抛出异常方式(循环外有其他操作情况); (4)调用线程interrupt方式 + return方式(循环外有其他操作情况); (5)

2017-03-04 20:48:04

【Arcgis Engine开发】AE开发把影像或者矢量加载到图层

AE开发把影像或者加载到图层1.创建一个类工厂2.使用类工厂创建一个要使用的工作区3.使用工作区打开并得到图层的dataset4.把dataset装入到新建的图层实例5.把图层加载到MapControl控件引用 ArcGIS Engine中的8种数据访问 2009-09-26 13:37:40| 分类: GIS |字号 订阅数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达

2017-02-16 16:48:15

【ArcGIS Add-in编程】导入jpg等栅格数据、导入shapefile等矢量数据

可参考博客文章《AE中各种数据类型打开代码》 一、导入shapefile等矢量数据IMxDocument pMxd = null ;IMap pMap = null ;pMxd = ArcMap.Document as IMxDocument ;pMap = pMxd.FocusMap;string pFolder = System.IO. Path.GetDirectoryName(pP

2017-02-16 16:45:09

【ArcGIS Add-in编程】如何创建ArcMap的下拉菜单插件

step1. VS2010中创建一个空的解决方案step2.创建一个项目 直接点击finish。step3 为该项目创建项目,选择Menu,作为根菜单,而后修改xml中的items项,添加需要放在下拉菜单中的项目,例如一个按钮; step4 现在可以创建项目,作为菜单中的项目。为该项目添加新的项目,选择button 此时 xml文件中,多了该button的项目,将该项目添加到items

2017-02-15 17:04:05

【Java OGR开发】如何创建空的矢量shapfile文件

目的:使用GDAL创建空的矢量图层文件,图层类型可知,空间参考不可知,无要素; 起初,使用以下代码创建图层,但当加入到ArcMap中时,报错: could not open the specified fileogr.RegisterAll();// 为了支持中文路径,请添加下面这句代码gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");

2017-02-15 16:57:11

【Java 路径】运行可执行jar包获取相关路径

一、获取可执行jar包所在目录(1)方法一:使用System.getProperty("java.class.path")获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar包,则该值即为该jar包的绝对路径。代码如下:/** * 方法一:获取当前可执行jar包所在目录 */String filePath = System.getProperty("java.class.

2017-01-07 11:55:40

【uml类图】《大话设计模式》摘抄

几种关系:继承关系、依赖关系、合成(组合)关系、聚合关系、关联关系、实现接口; 实现接口:实现接口用空心三角形+虚线组成 继承关系:用空心三角形+实现表示 关联关系:当一个类需要“知道”另一个类时,用关联关系表示。用实线箭头表示。关联关系例如:当一个类的实力对象是另一个类的属性变量。 聚合关系:空心棱形+实线箭头表示;聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象

2017-01-06 17:10:42

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!