关闭

spring相关注解

@Order 利用@Order控制配置类的加载顺序...
阅读(25) 评论(0)

cookie setSecure详解

在cas中或其他web开发中,会碰到安全cookie的概念,因为CAS中TGT是存放在安全cookie中的。下面是安全cookie 的理解:     Set-Cookie 的 secure 属性就是处理这方面的情况用的,它表示创建的 cookie 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以绝对不会被窃听到。      在s...
阅读(28) 评论(0)

Elasticsearch segments merge

这两周主要看了下 Elasticsearch(其实是Lucene)的 segments 的 merge 流程。事情起因是,线上的ES有些大索引,其中的segments 个数几十个,每个大小100M+,小 segments 若干,而遇到问题就是这些大的 segments 不再做 merge 了,除非强制进行forceMerge 操作,由于我们第一次ES上线,其实也不清楚这究竟是个问题还是本来 Luc...
阅读(26) 评论(0)

深入理解spring中的各种注解

Spring中的注解大概可以分为两大类: 1)spring的bean容器相关的注解,或者说bean工厂相关的注解; 2)springmvc相关的注解。 spring的bean容器相关的注解,先后有:@Required, @Autowired, @PostConstruct, @PreDestory,还有Spring3.0开始支持的JSR-330标准javax.inject.*中的...
阅读(32) 评论(0)

RPC与RMI的区别

1. RPC 不支持对象, 采用http协议 2. RMI支持传输对象。采用tcp/ip 协议 3. RMI只限于JAVA语言,RPC跨语言 RPC和RMI的简单比较   在RMI和RPC之间最主要的区别在于方法是如何别调用的。在RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行, 但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就...
阅读(21) 评论(0)

Lombok使用

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法 lombok 注解:     lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。     Lombok 注解在线帮助文档:http://projectlombok.org/features/index.     下面介绍...
阅读(27) 评论(0)

Dubbo服务启动依赖检查

项目中存在服务之间存在循环依赖,启动时总是报错,通过修改启动检查check=false解决,下面是dubbo官网提供的启动检查文档。 启动时检查 Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。 如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭chec...
阅读(33) 评论(0)

dubbo线程池优化

dubbo默认提供了三种线程池,分别是  fixed 固定大小线程池,启动时建立线程,不关闭,一直持有。  cached 缓存线程池,空闲一分钟自动删除,需要时重建。  limited 可伸缩线程池,但池中的线程数只会增长不会收缩。(为避免收缩时突然来了大流量引起的性能问题)。...
阅读(77) 评论(0)

分布式事务之说说TCC事务

在当前如火如荼的互联网浪潮下,如何应对海量数据、高并发成为大家面临的普遍难题。广大IT公司从以往的集中式网站架构,纷纷转向分布式的网站架构,随之而来的就是进行数据库拆分和应用拆分,如何在跨数据库、跨应用保证数据操作和业务操作的一致性、原子性,又成为需要解决的新的问题。从分布式事务的需求来源来看: 1、跨数据库 数据库拆分(水平、垂直)带来的分布式事务->保证跨库操作的原子性基于单个JVM ...
阅读(38) 评论(0)

mysql的引擎myisam和innodb的区别

a)构造上的区别      MyISAM在磁盘上存储成三个文件,其中.frm文件存储表定义;.MYD (MYData)为数据文件;.MYI (MYIndex)为索引文件。      而innodb是由.frm文件、表空间(分为独立表空间或者共享表空间)和日志文件(redo log)组成。     b)事务上的区别       myisam不支持事务;而innodb支持事务。     c)...
阅读(30) 评论(0)

redis分布式锁

业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。 一些可能的实现 刚才提到过,实现秒杀的关键点是控制线程对资源的争抢,根据基本的线程知识,可以不加思索的想到下面的一些方法:  1、秒杀在技术...
阅读(29) 评论(0)

TCP协议如何保证可靠传输

1、应用数据被分割成TCP认为最适合发送的数据块。  2、超时重传:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。  3、TCP给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。  4、校验和:TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的...
阅读(141) 评论(1)

nginx容灾

nginx的upstream目前支持5种方式的分配  1、轮询(默认)  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。  2、weight  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。  例如:  upstream bakend {  server 192.168.0.14 weight=10;  ...
阅读(122) 评论(0)

服务器常见错误代码

一:500错误 1、500 Internal Server Error 内部服务错误:顾名思义500错误一般是服务器遇到意外情况,而无法完成请求。 2、500出错的可能性:   a、编程语言语法错误,web脚本错误   b、并发高时,因为系统资源限制,而不能打开过多的文件 3、一般解决思路:   a、查看nginx、php的错误日志文件,从而看出端倪...
阅读(190) 评论(0)

TreeSet实现原理

前言        首先明白TreeSet属于集的范围,所以它只能存放引用类型,不能用于基本数据类型,实现了set接口,所以它本身不能有重复的元素,当存入自定义的引用类型的时候就必须考虑到元素不可重复的这个特性,换句话说就必须实现Comparable接口(Comparable与Compared接口的区别),在TreeSet内部会自动调用存储的引用类型对象的实现的Comparable接口中的c...
阅读(33) 评论(0)
119条 共8页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:25232次
    • 积分:587
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:102篇
    • 译文:0篇
    • 评论:2条