
Web
文章平均质量分 67
和大黄
这个作者很懒,什么都没留下…
展开
-
https
转自:http://blog.youkuaiyun.com/sean_cd/article/details/6966130转载 2017-03-01 13:36:02 · 1752 阅读 · 0 评论 -
Elasticsearch学习总结
方法http://www.infoq.com/cn/articles/database-timestamp-021.3 与关系型数据库的名词对照Relational DB => Databases => Tables => Rows => Columns Elasticsearch => Indices => Types => Documents => Fields转载 2016-07-15 16:21:55 · 4468 阅读 · 0 评论 -
如何合理地估算线程池大小
转自http://ifeve.com/how-to-calculate-threadpool-size/先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个线程完成,继续假设平均每个线程处理一个Transaction的时间为4s。那么问题转化为:如何设计线程转载 2016-07-26 11:25:44 · 1785 阅读 · 0 评论 -
Elasticsearch
一、安装1.1 安装javaElasticsearch是基于java的,使用前需要先安装java。我下载的是jdk-71.2 安装ElasticsearchElasticsearch的安装也很简单,首先下载压缩包:wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsear原创 2016-05-27 10:19:43 · 1260 阅读 · 0 评论 -
LinkedIn实时低延迟数据抓取系统Databus
转自http://www.infoq.com/cn/news/2013/03/linkedin-databus在互联网架构中,数据系统通常分为真实数据(source-of-truth)系统,作为基础数据库,存储用户产生的写操作;以及衍生数据库或索引,提供读取和其他复杂查询操作。后者常常衍生自主数据存储,会对其中的数据做转换,有时还要包括复杂的业务逻辑处理。缓存中的数据也来自主数据存储,当主转载 2016-05-10 17:14:06 · 4402 阅读 · 0 评论 -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
<br /><br />一<br /> <br />1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。 <br />2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 <br />3、容器将<context-param>转换为键值对,并交给servletContext。 <br />4、容器创建<listener>中的类实例,创建监听器。 <br转载 2010-11-02 17:01:00 · 2467 阅读 · 1 评论 -
Spring管理filter和servlet
在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象的创建。如果要在filter或者servlet中使用spring容器管理业务对象,通常需要使用WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext())来获得转载 2015-04-06 12:12:09 · 1549 阅读 · 0 评论 -
Spring容器启动后自动执行Servlet进行预处理
通常做法是定义一个Servlet,并在web.xml中配置Servlet的启动顺序的值在DispatcherServlet之后。但这样做的缺点是在Servlet中无法使用Spring的依赖注入功能,只能使用WebApplicationContext的getBean()方法获取bean。找到的解决办法如下:1、自定义一个用于代理启动Servlet的类DelegatingServlet转载 2015-04-06 11:41:26 · 6811 阅读 · 0 评论 -
基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (3)
<br /><br /> <br /> <br />3 在action类中使用注解建立action和网页之间的关系<br /> <br /> <br />进入我们基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发的最后一个阶段了,这阶段主要为我们的项目引进Struts2的Annotation。相对于带Annotation的Hibernate与带Annotation的Spring整合来说,带Annotation的Struts与带Annotation的Sprin转载 2010-11-22 20:50:00 · 2196 阅读 · 3 评论 -
Spiring父子容器
一、父子容器通过HierarchicalBeanFactory接口,Spring的IoC容器可以建立父子层级关联的容器体系,子容器可以访问父容器中的Bean,但父容器不能访问子容器的Bean。在容器内,Bean的id必须是唯一的,但子容器可以拥有一个和父容器id相同的Bean。父子容器层级体系增强了Spring容器架构的扩展性和灵活性,因为第三方可以通过编程的方式,为一个已经存在的容器添加一个原创 2016-06-20 11:42:44 · 2347 阅读 · 1 评论 -
Spring的两种事务定义方式
一、第一种配置方法:基于XML的事务管理这种方法不需要对原有的业务做任何修改,通过在XML文件中定义需要拦截方法的匹配即可完成配置,要求是,业务处理中的方法的命名要有规律,比如setXxx,xxxUpdate等等。详细配置如下:原创 2016-06-23 20:12:18 · 8246 阅读 · 0 评论 -
Lock和Synchronized区别
1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了锁投票,定时锁等候和中断锁等候。线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定。如果使用synchronized,如果A不释放,B将一直等下去,不能被中断。如果使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待,而干别的事情转载 2016-08-11 14:09:38 · 1331 阅读 · 0 评论 -
JUC中线程池的使用
ThreadPoolExecutorThreadPoolExecutor的完整构造方法的签名是:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory threadFactory,原创 2014-08-23 23:42:01 · 3955 阅读 · 1 评论 -
Hystrix
1、背景在复杂的分布式 架构 的应用程序有很多的依赖,都会不可避免地在某些时候失败。高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险。例如:一个依赖30个SOA服务的系统,每个服务99.99%可用。99.99%的30次方 ≈ 99.7%0.3% 意味着一亿次请求 会有 3,000,00次失败换算成时间大约每月有2个小时服务不稳定.随着服务依赖数量的变转载 2016-03-29 16:11:29 · 11776 阅读 · 1 评论 -
阿里云ecs部署Java环境
1、安装JDK8在终端执行下载命令:wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz# 直接下载只下载到download-fail-1505220.html的html文件。因为Oracle要求在下原创 2018-01-12 10:27:03 · 1183 阅读 · 0 评论 -
git 多帐号配置
背景: 学习git的时候, 大家刚开始使用之前都配置了一个全局的用户名和邮箱。git config --global user.name "test"git config --global user.email "test@xx.com"这个配置,git保存在~/.gitconfig中。 有时候我们需要在一个机器上使用多个git帐号,比如在工作中,都会有一个工作的Git帐号,另外有一个自己使用原创 2018-01-02 13:32:35 · 1216 阅读 · 0 评论 -
@Import注解
@Import注解就是之前xml配置中的import标签,可以用于依赖第三方包中bean的配置和加载在4.2之前只支持导入配置类在4.2,@Import注解支持导入普通的java类,并将其声明成一个beanpublic class DemoService { public void doSomething(){ System.out.println("ok"转载 2017-07-11 19:34:47 · 26804 阅读 · 1 评论 -
log4j2异步Logger
1 异步Logger的意义之前的日志框架基本都实现了AsyncAppender,被证明对性能的提升作用非常明显。在log4j2日志框架中,增加了对Logger的异步实现。那么这一步的解耦,意义何在呢?如图,按我目前的理解:异步Logger是让业务逻辑把日志信息放入Disruptor队列后可以直接返回(无需等待“挂载的各个Appender”都取走数据)优点:更高吞吐、原创 2017-05-26 19:52:20 · 6939 阅读 · 0 评论 -
Java:int a=0;a=a++;问:a=?
注意一点就可以了:右侧运算符操作,会将操作数据压入栈中转载 2017-05-08 10:24:16 · 3688 阅读 · 0 评论 -
缓存计数器
电商场景里的缓存计数器:秒杀和超卖 我们在秒杀和防超卖场景里的实现逻辑类似于淘宝这篇博客[注3]所提及的”分布式缓存计数器“,所以我就直接照搬过来了: 分布式缓存的另一个应用场景是缓存计数器。 对于多服务器的系统,分布式缓存提供了统一的存储和原子操作,便于集群环境下的使用。库存计数器是分布式缓存的一个典型应用场景, 对于集群中的每一台机器,库存都应该是一个统一的值,因转载 2017-03-11 21:46:57 · 4893 阅读 · 0 评论 -
关于缓存问题的解决方案
一、缓存穿透我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。这个问题其实经常遇到,只是没有引起足够的重视,在我想来,如果碰到这样的问题可以在封装的缓存SET和GET部分增加个转载 2017-03-11 21:21:31 · 3912 阅读 · 0 评论 -
基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (2)
<br />2 使用 @Autowired和@Resource代替spring中各个bean之间的依赖配置<br /> <br /> <br /><br /><br /><br /><br />基于Annotation的SSH整合开发,其实,并没有我当初想像中那么顺利。真正去做的时候,才发觉有许多问题。但不要紧,探索一下吧。在探索过程中学到知识,才是最重要的。<br /> 言归正传,现在,我们加入Spring的支持:把spring-framework-2.5.5/dist中的spirng.j转载 2010-11-22 20:44:00 · 2131 阅读 · 2 评论 -
基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发 (1)
<br /><br /><br />1 使用注解建立类和数据库表之间的映射,不再使用User.hbm.xml<br /><br /> <br />写这个主题的文章在网络上应该暂时没有吧,也看过许多SSH整合开发的书,许多都是旧版本的框架整合,而且大部分都是以XML配置文件的方式,即使谈到Annotation也是针对其中一个框架而言的。随着开源框架更新版本中不断引进对Annotation的支持,使得我们可以用单方面去管理我们的类与关系,而不用像以往那样,一旦遇到问题,就要不断在Java视图和XML视图中切换。转载 2010-11-22 20:31:00 · 1639 阅读 · 1 评论 -
DWR运行实例
DWR是一个框架。DWR是基于AJAX的框架,它可以让浏览器上的javascript方法调用运行在web服务器上java方法。这就需要包含两个部分:一个运行在服务器端的Java Servlet,它处理请求,调用对应的Java代码并且向浏览器发回响应;运行在浏览器端的Javascript,它发送请求而且能动态更新网页。DWR采用新颖的方法实现了AJAX,在java代码基础上动态的生成javascript代码。DWR负责把Java类生成为对应的Javascript。每个类都生成一个可以处理这个类请求的Javas原创 2010-07-13 20:11:00 · 1471 阅读 · 0 评论 -
dwr调用中的参数和返回值问题
<br />1、调用没有返回值和参数的JAVA方法<br />1.1、dwr.xml的配置<br /><dwr><br /><allow><br /><create creator="new" javascript="testClass" ><br /><param name="class" value="/com.dwr.TestClass" /><br /><include method="testMethod1"/><br /></create><br /></allow><br /></dwr><b转载 2010-07-13 19:46:00 · 3053 阅读 · 0 评论 -
Spring@Autowired注解与自动装配
<br />1 配置文件的方法<br /> <br />我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。<br /> <br /><br />Boss 拥有 Office 和 Car 类型的两个属性: <br /> <br /> <br />清单 3. Boss.java<br /> <br />package com.baobaotao; public class转载 2010-11-02 11:40:00 · 538927 阅读 · 66 评论 -
struts2之ModelDriven
<br /> <br />在Struts 2中,提供了另外一种直接使用领域对象的方式,就是让action实现com.opensymphony. xwork2.ModelDriven接口。ModelDriven让你可以直接操作应用程序中的领域对象(模型对象),允许你在Web层和业务逻辑层使用相同的对象。<br />ModelDriven接口中只有一个方法,如下:<br /> <br /> <br /> public T getModel()该方法返回一个用于接收用户输入数据的模型对象。在页面中,这个模型对象中转载 2010-11-01 22:33:00 · 11234 阅读 · 1 评论 -
Servlet中的filter
<br /> <br />Filter:Filter 技术是servlet 2.3 新增加的功能.(以下部分类容转载于http://www.programfan.com/article/1836.html)<br />Filter的使用户可以改变一 个request或修改一个response。 Filter 不是一个servlet,它不能产生一个response,但是他能够在一个request到达servlet之前预先处理request,也可以在一个响应离开 servlet时处理response。<br /转载 2010-11-02 14:47:00 · 1511 阅读 · 0 评论 -
Servlet 中的 Listener
<br />Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEvent se)方法,这样就可以给在线人数加1。常用的监听接口有以下几个:<br /> <br />总体上说servlet中有主要有3类事件既:Servlet上下文事件、会话事件与请求事件总共有8个listener接口,我们在web.xml中注册时对应上自己对相转载 2010-11-02 14:27:00 · 2370 阅读 · 0 评论 -
SERVLET类常用接口及方法
<br />一、javax.servlet.Servlet接口 <br />servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管理的方法集。 <br />Servlet接口的基本目标是提供生命期方法init()、service()和destroy()方法。 <br />servlet接口中的方法 <br />void init(ServletConfit config)throws ServletException转载 2010-11-01 11:15:00 · 2414 阅读 · 0 评论 -
The App Engine Architecture 翻译
<br />from Programming.Google.App.Engine<br />第三章<br />3.1 The App Engine Architecture<br /> <br /> <br /><br /> <br />一个传入请求,首先会交给App引擎前端(App Engine frontend)。这一过程由负载平衡器(loadbalancer)完成,它的作用是将众多请求最优化地分配到不同的前端服务器(frontendservers)上。某个请求由负载平衡器转发到众多的前端服务器翻译 2010-08-09 21:03:00 · 2784 阅读 · 0 评论