- 博客(73)
- 资源 (44)
- 收藏
- 关注
转载 入门AQS锁 - Condition与LockSupport
转自http://www.jianshu.com/p/1add173ea703在第一章节中,我们已经初步接触了ReentrantLock独占锁与Condition接口,并且学习了ReentrantLock与Synchronized关键字的联系与区别,以及Condition接口中3个比较重要的方法的含义与用法。在本章节中,我们将对第一章节介绍的Condition接口进行更加深入的学习,从而理
2017-07-31 23:04:11 943
转载 Lock的await/singal 和 Object的wait/notify 的区别
转载http://www.cnblogs.com/alphablox/archive/2013/01/20/2868479.html在使用Lock之前,我们都使用Object 的wait和notify实现同步的。举例来说,一个producer和consumer,consumer发现没有东西了,等待,produer生成东西了,唤醒。线程consumer线程prod
2017-07-31 22:47:25 603
转载 JAVA中一个Lock锁中多个condition监视器的问题
https://yq.aliyun.com/ask/14319在一个同步程序中,如果定义了一个Lock锁,同时在这一个锁上创建两个condition监视器con1和con2,如果操作con1.signalAll(),那么唤醒的是Lock这个锁里全部等待的线程还是只唤醒被con1这个监视器await的线程呢?con1只是唤醒在con1这个对象上的阻塞队列里的对象.
2017-07-31 22:43:00 1134
转载 java中wait/notify机制
转自http://www.cnblogs.com/txdlf/p/5344122.html通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程 downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务 后,再通知displa
2017-07-31 22:42:26 292
转载 AbstractQueuedSynchronizer同步队列与Condition等待队列协同机制
转自http://blog.csdn.net/tb3039450/article/details/69056169之前对AbstractQueuedSynchronizer(AQS)同步队列与Condition等待队列的功能一直不是很清晰,没太清楚地区分开二者的区别和联系,最近研究了一下分享出来。1.同步队列和等待队列简述AQS维护的队列是当前等待资源的队列。当前线程获取同
2017-07-31 22:31:13 477 1
转载 controller和service层的一些见解
接触java EE开发一年不到,刚开始接触时用就用到spring MVC,因为当时公司业务比较简单,所以service层和dao层实际上是一样的,业务逻辑全部放在了controller层来做;当时觉得很纳闷,service层感觉是多余的,根本用不到; 最近接触的项目,架构师设计的框架,直接根据模型设计dao层接口和service接口,代码写了不少,突然发现这么定义接口很多功能是没法实现的。
2017-07-27 17:54:53 33706 3
转载 MVC引入SERVICE层 提高代码重用性 沟通CONTROL和MODEL
看到一篇文章不错,记录下,原文http://blog.csdn.net/bravezhe/article/details/7728558MVC是web开发中常见的程序结构。简单的mvc结构如下:view层:显示层。 control层:业务层,集合了各种action。 model层:模型层,一般和数据打交道。简单的sample:一个表对应一个model类。
2017-07-27 17:52:02 538
转载 LVS的四种模式的实现
LVS 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之上,传输层上有我们熟悉的 TCP/UDP,LVS 支持 TCP/UDP 的负载均衡。LVS 的转发主要通过修改 IP 地址(NAT 模式,分为源地址修改 SNAT 和目标地址修改 DNAT)、修改目标 MAC(DR 模式)来实现。那么为什么 LVS 是在第四层做负载均衡?首先 LVS 不像 HAProxy
2017-07-27 13:40:37 592
转载 浅谈 Nginx和LVS的各种优缺点
LVS的负载能力强,因为其工作方式逻辑非常简单,仅进行请求分发,而且工作在网络的第4层,没有流量,所以其效率不需要有过多的忧虑。LVS基本能支持所有应用,因为工作在第4层,所以LVS可以对几乎所有应用进行负载均衡,包括Web、数据库等。注意:LVS并不能完全判别节点故障,比如在WLC规则下,如果集群里有一个节点没有配置VIP,将会导致整个集群不能使用。还有一些其他问题,目前尚需进一步测试。
2017-07-27 13:38:50 664
转载 lvs+keepalived+nginx几种模式的比较
本文根据自己实验以及调研得出的结论,纯属个人意见,如有不对之处请留言修正。下面是几种模式比较:1.lvs+keepalived做前端,nginx做后端反向代理和负载均衡 优点:keepalived双机备份实现负载均衡 缺点:nginx如果宕了,后端的realserver没宕就GG了 楼主不喜欢!2.nginx做前端反向代理VIP,lvs+keepa
2017-07-27 13:38:25 3248
转载 solr DataImportHandler 导入数据
大多数的应用程序将数据存储在关系数据库、xml文件中。对这样的数据进行搜索是很常见的应用。所谓的DataImportHandler提供一种可配置 的方式向solr导入数据,可以一次全部导入,也可以增量导入。 概览 目 标 能够读取关系数据库中的数据。 通过可配置的方式,能够将数据库中多列、多表的数据生成solr文档 能够通过
2017-07-25 14:55:08 3218 1
转载 solr 索引数据删除
删除solr索引数据,使用XML有两种写法:1)delete>id>1id>delete>commit/> 2)delete>query>id:1query>delete>commit/> 删除所有索引,这样写就可以了:delete>query>*:*query>delete>commit/> 注意:
2017-07-25 14:54:22 1915
转载 solr Field、CopyField、DynamicField
上面一节乱七八槽的讲了一下FieldType。 其实你可以想的简单一点,FieldType就好像是我们在Java中自定义类型。Field: Field就是一个字段,定义一个Field很简单:[html] view plain copyfield name="price" type="sfloat" index
2017-07-25 14:53:33 459
转载 Solr Suggest实现搜索智能提示
============== 我的配置 ============solrconfig.xml [html] view plain copy print?searchComponent class="solr.SpellCheckComponent" name="suggest"> str name="queryAnal
2017-07-25 14:52:32 1463
转载 solr配置dataimport步骤 增量 全量同步配置
http://blog.csdn.net/u010367582/article/details/54095343
2017-07-25 14:47:52 2800
转载 静态内部类和非静态内部类的区别
如果你不需要内部类对象与其外围类对象之间有联系,那你可以将内部类声明为static。这通常称为嵌套类(nested class)。Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。想要理解static应用于内部类时的含义,你就必须记住,普通的内部类对象隐含地保存了一个引用,指向创建它的外围类
2017-07-25 14:46:15 367
转载 Java静态代码块、构造代码块、构造方法的执行顺序
静态代码优先于非静态的代码,是因为被static修饰的成员都是类成员,会随着JVM加载类的时候加载而执行,而没有被static修饰的成员也被称为实例成员,需要创建对象才会随之加载到堆内存。所以静态的会优先非静态的。 执行构造器(构造方法)的时候,在执行方法体之前存在隐式三步: 1,super语句,可能出现以下三种情况: 1)构造方法体的第一行是this语句,则不会执行隐式三步, 2
2017-07-25 14:34:33 371
转载 Spring容器中的Bean几种初始化方法和销毁方法的先后顺序
Spring 容器中的 Bean 是有生命周期的,spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法:通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;通过 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;在指定
2017-07-25 14:18:23 841
原创 solr 管理页面使用json删除数据报错
使用solr提供的管理页面,使用json删除数据报错 Document is missing mandatory uniqueKey field: id 项目中继承solrj执行删除,则各个core中的数据都能删除。
2017-07-25 14:06:30 1361
转载 springmvc rest风格的实例代码demo讲解
出处http://blog.csdn.net/yaerfeng/article/details/24002849原创不易,转载请注明出处:springmvc rest风格的实例代码demo讲解代码下载地址:http://www.zuidaima.com/share/1751863912057856.htmRest介绍[java] view pla
2017-07-24 12:35:39 375
原创 solr 新增core并保留数据
找到你的core所在目录,如core的名字collection1则cp -R collection1 collection2新增的core为collection2然后cd collection2修改core.properties中的名字为collection2然后检查该目录下其他配置中是否有collection1的字符,修改为collection2重启tomcat。ok!c
2017-07-24 11:59:33 497
转载 c++中“箭头(->)”和“点号(.)”操作符的区别 .
首先介绍一下C++中的结构。对于一个结构:[cpp] view plain copystruct MyStruct { int member_a; }; 如果有个变量MyStruct s,那么使用其中的成员元素时可以用:[cpp] view plain copys.mem
2017-07-23 16:38:32 373
转载 学习C++ -> 类(Classes)的定义与实现
一、"类" 的介绍 在C++中, 用 "类" 来描述 "对象", 所谓的"对象"是指现实世界中的一切事物。那么类就可以看做是对相似事物的抽象, 找到这些不同事物间的共同点, 如自行车和摩托车, 首先他们都属于"对象", 并且具有一定得相同点, 和一些不同点, 相同点如他们都有质量、都有两个轮子, 都是属于交通工具等。"都有质量"、"两个轮子"属于这个对象的属性, 而"都能够当做交通工
2017-07-23 16:37:54 319
转载 C++中头文件(.h)和源文件(.cpp)
头文件(.h): 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): #ifndef CIRCLE_H#define CIRCLE_H//你的代码写在这里#endif 这样做是为了
2017-07-23 16:15:53 693
转载 activemq的多个broker之间的消息共享
假设activemq有两个broker服务,A和B。在A的activemq.xml的broker标签下添加如下配置: 该配置可以让消息从A到B,或者从B到A。但只能流动一次。也就是不能从A到B再回到A。如果duplex="false"则只能从A到B。那么如何能让消息来回流转,使A和B自由共享消息呢?在active
2017-07-17 16:49:26 1155
转载 ActiveMQ集群下的消息回流功能
"丢失"的消息 如果有broker1和broker2通过networkConnector连接,有一个consumer1连接到broker1,一个consumer2连接到broker2,程序往broker1上面发送30条消息,这时consumer2连接到broker2消费消息,当consumer2消费了15条消息时,broker2挂掉了。 但是还剩下15条消息在broker2上面,这些消息
2017-07-16 14:36:57 1160
转载 ActiveMQ分布式网络(Forward Bridge)
当ActiveMQ面对大量消息存储和大量Client交互时,性能消耗将会达到单个broker极限,此时我们需要对ActiveMQ进行水平扩展。ActiveMQ提供了“network”机制,可以把多个broker实例“串联”一起,形成“Forward Bridge”模型(转发桥)。这些Broker通过有向网络(networkerConnector)链接在一起,组成broker集群,任何一个Borke
2017-07-16 14:10:24 442
转载 配置ActiveMQ的Transport Connectors
一、概念 从broker的角度来看,transport connector是用于接受和监听来自客户端的连接请求的一种机制。比如在”conf/activemq.xml“这个配置文件中可以找到: [html] view plain copy transportConnectors> transpor
2017-07-16 14:09:33 1696
转载 ActiveMQ集群:网络连接模式(network connector)详解
网络连接模式(network connector)针对海量消息所要求的横向扩展性和系统的高可用性,ActiveMQ提供了网络连接模式的集群功能。简单的说,就是通过把多个不同的broker实例连接在一起,作为一个整体对外提供服务,从而提高整体对外的消息服务能力。通过这种方式连接在一起的broker实例之间,可以共享队列和消费者列表,从而达到分布式队列的目的。拓扑结构几种不同的Active
2017-07-16 14:08:10 816
转载 ActiveMQ中的NetworkConnector(网络连接器)详解
注:本文以ActiveMQ5.10版本为基础。 我们知道,ActiveMQ中的TransportConnector(传输连接器)主要用于配置ActiveMQ服务端和客户端之间的通信方式,NetworkConnector(网络连接器)则主要用来配置ActiveMQ服务端与服务端之间的通信。在某些场景,网络拓扑中我们可能会需要大量的生产者和消费者,也就是说我们会有大量的Active
2017-07-16 14:07:15 900
转载 ActiveMQ的集群
内嵌代理所引发的问题:消息过载管理混乱如何解决这些问题——集群的两种方式:Master slave Broker clustersActiveMQ的集群有两种方式:MASTER/SLAVE模式Cluster模式 Pure Master Slave Pure master
2017-07-15 16:51:49 334
转载 ActiveMQ使用笔记(七)ActiveMQ性能优化
1、目标策略在节点destinationPolicy配置策略,可以对单个或者所有的主题和队列进行设置,使用流量监控,当消息达到memoryLimit的时候,ActiveMQ会减慢消息的产生甚至阻塞,destinationPolicy的配置如下:Java1234567891
2017-07-15 16:35:05 1198
转载 ActiveMQ消息特性:通知消息(Advisory Message)
通知消息(Advisory Message)简单的说就是实现了ActiveMQ的broker上各种操作的记录跟踪和通知。使用这个功能,你可以实时的知道broker上创建或销毁了连接,添加或删除了生存者或消费者,添加或删除了主题或队列,有消息发送和接收,什么时候有慢消费者,什么时候有快生产者什么时候什么消息被丢弃什么时候broker被添加到集群(主从或是网络连接)
2017-07-15 16:04:49 789
转载 Syntax error on token "package", assert expected
今天写程序碰到个坑,eclipse编辑,jdk1.7,clean编译项目后报错Syntax error on token "package", assert expected反复检查是否有拼写错误、语法规则错误等,都没有查出来,一阵莫名其妙...问过度娘,提供的信息都是package语句是否位于第一行、import语句是否位于package语句之前、是否多个花括号等等可能,当然都不是了..
2017-07-14 09:32:16 2262
转载 Java内存屏障和可见性
引言在多线程编程中,有的时候会看见如下的代码public class task{private boolean success;public void getResult(){ while(success==false){ doSomethind(); }}public void success(){ success=true;}}12345678910
2017-07-13 10:59:00 360
转载 聊聊高并发(三十五)Java内存模型那些事(三)理解内存屏障
原文 http://blog.csdn.net/iter_zc/article/details/42006811在聊聊高并发(三十三)从一致性(Consistency)的角度理解Java内存模型 我们说了硬件层提供了满足某些一致性需求的能力,Java内存模型利用了硬件层提供的能力指定了一系列的语法和规则,让Java开发者可以隔绝这种底层的实现专注于并发逻辑的开发。这篇我们来看看硬件层是如何提供
2017-07-12 10:22:40 289
转载 Java内存屏障和可见性
引言在多线程编程中,有的时候会看见如下的代码public class task{private boolean success;public void getResult(){ while(success==false){ doSomethind(); }}public void success(){ success=true;}}12345678910
2017-07-12 10:21:34 443
转载 nginx---浏览器设置缓存
对常见格式的图片文件等在浏览器本地缓存,对于css,js等文件在浏览器本地缓存.语法:expires [time|epoch|max|off默认值:offexpires指令控制HTTP应答中的“Expires”和“Cache-Control”Header头部信息,启动控制页面缓存的作用time参数---》time:可以使用正数或负数“Expires”头标的值
2017-07-11 12:47:43 532
PHP基础教程
2017-06-18
Hibernate实战
2017-06-18
redis 64bit for windows 2.6.12
2014-11-01
apache-maven-3.1.1-bin(win)
2013-12-08
eclipse中安装subclipse(svn插件)
2013-12-08
Setup-Subversion-1.7.5 svn服务器
2013-12-08
ApacheTomcat6高级编程中文卷2
2013-07-19
ApacheTomcat 6高级编程中文卷1
2013-07-19
一线架构师实践指南
2017-06-18
锋利的jQuery
2017-06-18
深入理解Java虚拟机
2017-06-18
大型网站技术架构
2017-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人