`
文章列表
事务是逻辑处理原子性的保证手段,通过使用事务控制,可以极大的避免出现逻辑处理失败导致的脏数据等问题。事务最重要的两个特性,是事务的传播级别和数据隔离级别。传播级别定义的是事务的控制范围,事务隔离级别定义的是事务在数据库读写方面的控制范围。以下是事务的7种传播级别:1) PROPAGATION_REQUIRED ,默认的spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那么就加入到事务中执行,如果当前上下文中不存在事务,则新建事务执行。所以这个级别通常能满足处理大多数的业务场景。2)PROPAGATION_SUPPORTS , 从字面意思就知道,supports,支持,该 ...
GC Root   常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC roots引用的对象。 一个对象可以属于多个root,GC root有几下种: Class - 由系统类加载器(system class loader)加载的对象,这些类是不能够被回收的,他们可以以静态字段的方式保存持有其它对象。我们需要注意的一点就是,通过用户自定义的类加载器加载 的类,除非相应的java.lang.Class实例以其它的某种(或多种)方式成为roots,否则 ...
最近帮公司搭建hadoop集群,现在总结一下相关要点:1、没有搭建过hadoop的,建议先搭建一个伪集群体验一下2、建议最少集群机器配置:5台。 1台NameNode  1台 ResourceManager 3台DataNode3、完全分布集群搭建的重点、难点就是无密SSH登录,很多人会卡在这里。重点:<1> 各个服务器创建同一个账号,同一个用户组<2> ssh-keygen -t rsa生成无密密钥文件<3> cat id_rsa.pub >> ./authorized_keys把公钥追加到authorized_keys,注意重点使用> ...
通过jdbc方式连接hive,能让你非常方便、简单地去使用hadoop挖掘数据,门槛大大降低。其实连接方式很简单,但是第一次使用,总会有些莫名奇妙的错误,下面给出一些注意事项,希望对初学者有帮助。 首先我的环境:hadoop2.4.0+hive0.14.0。   所需jar包:       <classpathentry kind="lib" path="lib/commons-collections-3.2.1.jar"/>    <classpathentry kind="lib" path=" ...
=== 2015-04-09 最新补充======= 最近在调试另一个开发框架,发现又出现事务不起作用的情况。后来经过测试,发现需要先调整好配置文件,如下: spring配置文件:     <context:component-scan base-package="net.aaa.bbb" >          <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> ...
自增id一般情况下有两种方案,一个是使用数据库自增功能,另外一种就是oracle这样的sequance机制。 个人觉得,无论你的系统是否考虑日后分布式扩展,建议统一采用sequance方式获取。这样对系统日后可能产生的数据库移植也是 ...
在电影《社交网络》的开始有这么一段,扎克博格由于被女友甩了,所以需要做一个网站(www.facemash.com),用来推选哈佛最漂亮的女 生。网站的逻辑非常的简单,就是系统从照片库中随机挑出两幅女生照片,选择两者较“美”者。就是这么一个网站在上线两小时(周末凌晨两点到四点)内点击量 达到了2万2千次,从而导致了哈佛网络的瘫痪。(备注:最近华中科技大学女生的照片也被类似的放到了网上评比,并且使用山寨的域名www.hust- facemash.com) 信息的关注应该注意到,上述功能中涉及到一个排名规则,是由扎克博格那位同学提供的,他把公式写在了窗户上,如下截图: 上面的公式主要作用作 ...
敏捷是一种态度,敏捷就是试错   微 信研发团队里鼓励一种试错的信仰:他们坚信,在互联网开发里,如果能够有一个团队在更短的时间内尝试了更多机会(并能改进过来),就能有(更多的)机会胜 出。敏捷是一种态度, ...
keep tcp alive,从字面上看,它能够检测你的 TCP socket  并检测连接是否在运行或者是否已经被破坏。 keepalive概念很简单:当建立一个TCP连接时,你将一系列的定时器与该连接相关联。这些定时器中某些用于处理keepalive过程。当kee ...
长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。 短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易 ...
HTTP Keep-Alive 很大程序上被误解了,下面介绍一下它在HTTP/1.0和HTTP/1.1版本下是如何工作的。 Keep-Alive是 HTTP协议中非常重要的一个属性。大家知道HTTP构建在TCP之上。在HTTP早期实现中,每个HTTP请求都要打开一个socket连接。这种做 ...
  HTTP Keep-Alive 在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。 使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制, ...
技术是为需求而服务的,分布式服务框架也同样如此,它不是凭空诞生的,也是因为有这样的需求才会有分布式服务框架这么样的东西诞生,在这篇blog中来详 细的分析分布式服务框架诞生的原因(其实也是需要用分布式服务框架 ...
 http://just2do.iteye.com/admin/blogs/2181293  之前写过一篇使用java自带工具去分析内存泄露问题,今天使用 Memory Analysis重做一次,看看高级工具是否能一针见血地更方便地发现问题。   第一步:   jmap -dump:format b,file=abc.hprof <pid> dump出内存日志    第二部:   使用Memory Analysis打开abc.hpro       从上图可以看到,泄露内存部分占用了快500M了。而整个应用也就分配了500M。       从直 ...
IT界从来不缺少浮躁,现在什么公司都说大数据,好像不搞这个显得自己很落后似的。但是什么是大数据?多大的数据才是大数据?用什么工具去解决多大的数据? 下面这篇文章的观点很好,我比较认同。其中它提到,超过5T的数据建议使用hadoop。其实从hadoop的计算架构来看,这也是合理的,因为经过测试,小而多的数据文件进行计算,效率非常差。大而少的文件嫩更充分利用hadoop计算架构的优势。   最后想提一下的是,综合全文观点,是否直接采用spark就能解决所有问题?因为spark除了兼容hadoop的计算模外,还具有极高的性能去兼容各种hadoop所不能计算的场景。       文章出 ...
Global site tag (gtag.js) - Google Analytics