- 博客(15)
- 收藏
- 关注
原创 谈谈Spring
Spring的基本理念:简化Java开发基于POJO的轻量级和最小侵入性编程-POJO通过依赖注入和面向接口实现松耦合-DI基于切面进行声明式编程实现重用和分离关注点-AOP通过模板减少样板式代码,如JDBCTemplate-TemplateSpring框架的核心组件只有三个:Core、Context和Bean。Bean组件org.springframework.beans包下,包括Bean的定义
2015-07-26 18:58:16
1658
翻译 APNS - Apple Push Notification Service
APNS - Apple Push Notification Service当一个APP有新的数据到达时,Provider向APNS发送一个通知(Notification),然后APNS将这个通知推送给目标设备APNS有一个默认的服务质量组件,可以提供存储和转发的能力。如果APNS尝试给一个离线的设备发送通知,那么APNS会先存储该通知一段时间,然后当设备可用时,再将通知推送给该设备。对于一个特定的
2015-07-09 18:57:51
705
原创 谈谈ClassLoader
java.lang public abstract class ClassLoader通过委派模型(delegation model)进行class的加载。每个类加载器有一个关联的父类加载器。当加载一个类时,classLoader会委派给它的parent class loader加载该类。虚拟机内建的classLoader叫做bootstrap class loader,它没有父类加载器。数组cl
2015-06-29 16:43:07
1301
原创 从DirectMemory谈谈Java NIO
本机内存DirectMemory,属于C Heap,可以通过参数-XX:MaxDirectMemorySize指定。 如果不指定,该参数的默认值为Xmx的值减去1个Survior区的值。如设置启动参数-Xmx20M -Xmn10M -XX:SurvivorRatio=8,那么申请20M-1M=19M的DirectMemory是没有问题的。/*VM Args: -Xmx20M -Xmn10M -XX
2015-06-28 00:20:06
5358
原创 JAVA NIO的selector的实现原理
Java NIO的核心类库多路复用器Selector就是基于epoll的多路复用技术实现的 相比select、poll系统调用,epoll有如下优点:1.支持一个进程打开的socket描述符(FD)不受限制,仅受限于操作系统的最大文件句柄数。 select最大的缺陷是单个进程所打开的FD是有一定限制的,它由FD_SETSIZE设置,默认值是1024。可以选择修改这个宏后重新编译内核,但这对带来网
2015-06-24 20:23:57
13595
1
原创 U盘安装Centos7
1、一开始楼主随便使用一款U盘启动制作工具,将CentOS-7.0-1406-x86_64-DVD.iso刻录到U盘。楼主是Thinkpad,所以按F12进入BIOS,设置U盘启动。但安装时报错: 解决方法: 使用U盘启动制作工具PowerISO,重新制作。一切OK,顺利进入图形安装界面。具体安装细节由使用者指定。 2、成功安装完Centos7后,启动时发现win7的引导项不见了。
2015-06-07 16:18:53
916
翻译 Java PermGen 去哪里了?
在JDK8之前的HotSpot JVM,存放这些"永久的"的区域叫做“永久代(permanent generation)”。永久代是一片连续的堆空间,在JVM启动之前通过在命令行设置参数-XX:MaxPermSize来设定永久代最大可分配的内存空间,默认大小是64M(64位JVM由于指针膨胀,默认是85M)。永久代的垃圾收集是和老年代(old generation)捆绑在一起的,因此无论谁满了,都会触发永久代和老年代
2015-06-03 20:00:32
890
原创 谈谈CAS
CAS - Central Authentication Service,single sign-on for the web. Java (Spring Webflow/MVC servlet) server component Pluggable authentication support (LDAP, database, X.509, 2-factor) Support f
2015-06-02 09:50:35
445
原创 谈谈Redis
抱着下面这两个问题,我开始读Redis: 1、Redis是单线程的,为什么它的性能不逊于多线程的Memcache? 2、Redis2.8版本不支持集群,而Memcache支持,为什么Redis不借鉴Memcache的方式?一段对话: 【高级】张文 6:52:56 狗哥,在一台四核的机器上,是不是应该跑四个redis的实例 【高级】张文 6:53:19 来充分利用mult
2015-05-31 18:51:44
4355
原创 分布式系统与一致性协议
分布式系统集中式特点:1.单点问题;2.系统扩容-伸缩性问题;3.部署简单 分布式特点: 分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。 - 《分布式系统概念与设计》1.分布性 - 多台计算机在空间上随意分布 2.对等性 - 没有主/从之分,副本(Replica)是分布式系统最常见的概念之一,指的是分布式系统对数据和服务提供的一种冗余
2015-05-20 16:31:55
1922
原创 谈谈dubbo
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时和注册中心交互,注册中心不转发请求,压力较小1.服务注册中心动态的注册和发现服务,使服务的位置透明,可实现软负载均衡 2.当进一步发展,服务间依赖的关系变得错综复杂,就需要绘制依赖关系图 3.随着服务调用量越来越大,服务的容量问题就暴露出来,一个服务需要多少机器支撑,什么时候该加机器?这就需要统计服务每天的调用量、响
2015-05-12 14:23:43
1117
原创 谈谈长连接和NIO
最近在看dubbo的官方文档: dubbo通过使用长连接减少握手,通过NIO及线程池在单连接上并发拼包处理消息,通过二进制流压缩数据,比常规HTTP等短连接协议更快,适合小数据量大并发的服务调用
2015-05-12 11:28:07
5767
原创 Paxos&Quorum
注: 这里谈论的2PC不同于事务中的2PC,而是专门为了同步和高可用改过的2PC协议 问题: 寻求一种能够保证,在给定多台计算机,并且他们之间由网络相互连通,中间的数据没有拜占庭将军问题(数据不会被伪造)的前提下,能够做到以下两个特性的方法: 1)数据每次成功的写入,数据不会丢失,并且按照写入的顺序排列 2)给定安全级别,保证服务可用性,并尽可能减少机器的消
2015-04-21 16:30:31
3108
1
原创 谈谈CAP
分布式领域的CAP理论: - Consistency(一致性),数据一致更新,所有数据变动都是同步的 - Availability(可用性),意味着服务是可用的 - Partition tolerance(分区容错性)可靠性。除了整个网络的故障外,其他的故障(集)都不能导致整个系统无法正确响应,单结点的partition就等同于服务器crash.即通过多结点部署提高分区容
2015-04-21 10:02:42
483
原创 谈谈事务
事务事务简介处理事务的常见思路事务处理的常见问题事务简介事务的核心是锁和并发 事务的ACID: - 原子性 一个事务是一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作。 通过记录回滚段,即通过undo日志回滚到之前版本 原子性的语义只保证记录了一个回滚段,能够回滚到之前的版本
2015-04-18 12:16:41
696
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人