- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 AMQP的学习
1, 什么是AMQP?2,为什么要使用AMQP?3, AMQP的模型和原理。4,AMQP 的应用场景。5,AMQP与RabbitMQ。
2016-09-23 00:21:11
10497
原创 分布式系统的数据一致性
1, 什么是分布式系统的数据一致性在分布式应用系统中,同一份数据保存在各个子系统中,当其中一份数据发生变化的时候,需要确保其他系统中的相同数据保持一致。即关联数据逻辑关系是否正确和完整,数据的一致性模型就是存储系统与数据使用者的一个约定,遵守这个约定,使用者就能得到预期的结果。2,数据一致性的模型常用的数据一致性模型有严格一致性,顺序一致性,因果一致性,最终一致性等等。其中严格一致性的
2016-05-18 23:49:36
550
原创 redis 集群
安装zlib1. tar -xzvf zlib-1.2.8.tar.gz2. cd zlib-1.2.83. ./configure --prefix=/opt/zlib4. make5. make install安装ruby-zlib1. cd ruby-2.1.6/ext/zlib2. ruby ./extconf.rb --with-zlib-dir=/opt
2015-11-21 19:58:20
302
原创 事务的隔离与传播
事务的隔离级别 事务的隔离级别,当多个事务操作同一数据的时候,如果不加一些有序的管理的话,会发生使用混乱的现象,比如A事务操作了该数据,但是没提交,当B事务读取了A未提交的数据并进行操作的时候,A回滚了自己的事务,这时B操作的数据就是无效的,为了避免类似情况的发生,需要对事务进行隔离。按照效率和安全级别,可将事务分为4种隔离级别, 1,脏读 Read_uncommit,2,不可重
2015-05-21 21:40:37
383
原创 2015年3月12日
1,什么是classloader 我们编写的java code,经过编译以后生成.class文件,classoader就是用来将这些.class文件加载到内存里面的工具,那么classloader什么时候才会加载一个类呢?jvm启动的时候,并不会把所有的类加载进来,只加载一些确保程序能正常运行的类。而其他的类需要等到应用的时候才会加载进来。 当遇到以下3种情况的时候,才会加载进来。
2015-03-29 08:53:16
394
原创 2015年3月11日
Atomic 类概述 java为什么会引入Atomic类的包呢?atomic类在java.util.concurrent包下面,可以知晓,该类的出现是与安全相关的,当我们对一个int类型的变量进行操作的时候,有可能会遇到线程安全的问题,我们可以先看一个用例,笔者自己并没能实验出来,该用例来源于文章,http://blog.youkuaiyun.com/a19881029/article/details/
2015-03-25 14:26:22
352
原创 2015年3月9日
1,概述java 里面的容器有list,set和map,如果其中线程安全的容器有vector,hashtable,也可以用Collections类里面的synchronizedList(List list),synchronizedSet(Set s)和synchronizedMap(Map m)来构造线程安全的容器,不过这些方法都是通过添加synchronized方法来实现线程安全的,即同一
2015-03-18 20:32:53
356
原创 2015年3月8日
java 里面线程安全的容器。1,概述 java里面的容器有,List, Set 和 Map, 其实现类有ArrayList,LinkedList ,hashSet,TreeSet,hashMap 和TreeMap等等。然而需要使用线程安全的容器有,Vector , hashTable,当然了,java里面提供了collections工具类,该类里面提供了一系列的构造线程安全的容器的方法:
2015-03-16 20:33:29
322
原创 2015年3月7日
java线程间的通信。 java里面new一个新的线程的时候,java的虚拟机会向操作系统索取新的内存,也就是说java启动一个新的线程所占用的内存,并不属于jvm内存的一部分。这些启动了的新的线程会共享java的内存空间,当两个不同的线程同时使用了堆空间里面的同一个对象的时候,有可能会产生安全问题,也就是线程的同步问题。笔者目前所掌握的情况,线程间的通信,就是通过他们共同访问的对象来实
2015-03-14 17:00:28
385
原创 2015年3月6日
前天去一家互联网公司面试了,被问到了二分法查找,自己知道原理,但是在使用java实现的时候,并没有完整的写出来,自己检讨了一下没写出来的原因,归根到底,是对递归思想的理解不够透彻,并且对于递归与非递归算法相互转换的理解并不够很深入,递归算法的关键主要有两点,第一,递归关系一定确定好,从数学的角度来讲就是F(n)与F(n-1)的联系,从二分法查找的角度来看,就是先确定一半的数据(也就是查找范围)
2015-03-10 22:54:40
495
原创 2015年3月5日
java中的单例模式什么是单列模式呢?单例模式,是一种创建型的设计模式,也就是说它是用来创建对象的,那么它创建的对象有什么特点呢?它创建的对象在系统里面只有一个实例存在,并且方便外界访问。下面讨论下单例设计模式的几种实现。1,public class SingletonTest { private static SingletonTest st=new SingletonTest(
2015-03-08 10:36:39
366
原创 2015年3月3日
java String类java 中的String类跟普通的java类有一些特别之处。那么特别在哪里呢?第一个特别之处就是采用了常量池的机制来管理String对象。当我们创建一个String时,String str = "abc";我们的确创建了一个string对象,但是这个对象并不在堆内存里面。而是在方法区的常量池里面。当使用new的方式创建一个String对象的时候。实际上
2015-03-04 12:15:15
337
原创 2015年3月2日
java中的线程池。1. 线程池概述由于线程的创建和销毁都需要消耗时间和资源,所以java引入了线程池的机制,所谓的线程池就是维护一定数量的活着的线程,来执行那些新产生的需要执行的线程。2. java中关于线程池的接口Executor是线程池最顶端的接口。里面只有一个execute方法。用来执行提交的线程。 /** * Executes the given comma
2015-03-03 21:47:29
311
原创 2015年3月1日
java 中的线程。java中实现线程的方式有3种。继承Thread类,实现Runnable接口和实现Callable接口。继承Thread类的方式只需要重写run方法。public class MyThread extends Thread{ @Override public void run() { // TODO Auto-generated method stub
2015-03-03 16:10:21
460
原创 2015年2月28日
map的子接口。和实现类java 中的map是用来存储键值对象的,以key-value的方式来存储,使用者通过key来获取value的值。由于map并不继承自接口collection。所以map并不提供自身的迭代器来遍历元素。map 常用的实现类有hashmap,treemap.hashtable,linkedhashmap等等,其中如果我们构造一个需要排序的map,就使用treemap。
2015-03-01 18:24:10
320
原创 2015年2月27日
1. java中数据结构。数据结构,就是对在内存中的数据的一种安排。java中的数据结构就是对在java内存中的数据的一种安排。java中常用的数据结构有list, set, map等。java中数据结构主要分为两大类,一类是存储单值的collection.另外一类是存储key-value的map.collection 接口,collection 接口中主要是list 和set. 其他的数
2015-02-28 18:00:23
308
原创 2015年2月26日
关于接口和抽象类的区别接口与抽象类的区别,每次面试的时候都会被问到。虽说每次都能答的上来,但是都是基于一些机械性的记忆。并不能深刻的理解,java里面为什么会引入接口和抽象类。他们在java里面的起到了什么作用。这里来讨论下我个人对于接口和抽象类的理解。接口,个人觉得java里面引入接口的目的主要是为了“规范”,所谓的规范也就是标准,再直接点说就是接口用来规定某一些类应该有一些什么方法。
2015-02-27 21:34:46
340
原创 2015年2月25日
二叉树遍历的递归与非递归实现本次测试实现了二叉树先序遍历的递归与非递归实现,并测试了其性能,测试结果如预先考虑的一致,就是非递归的性能要不递归的性能高。同时也实现了二叉树的广度优先的遍历,通过queue来实现的。package com.pip.structure.tree;import java.util.ArrayDeque;import java.util.Stack;p
2015-02-25 20:32:37
310
原创 2015年2月14日
前一篇文章讨论了Fibonacci的3种实现方式。本文对Fibonacci 3种实现方式的性能进行了测试。本次实验是使用3种实现方式来求出Fibonacci的第n个值,观察他们的执行时间来分析其执行效率。方式参数 n 的值执行时间递归4825380ms循环480msstack480ms递归
2015-02-15 12:28:55
264
原创 2015年2月13日
斐波那契数列的递归与非递归的3种实现方式。递归是一种常用的解决问题的思路,使用递归的方法编程,会使程序看起来简洁清晰,如果我们写一段java的递归代码,java的底层是用栈来实现递归的,不过递归不断的出栈和入栈操作,使递归算法的性能大受影响。正因为递归算法在时间和空间上都些限制,在实际应用中,我们一般采用递归算法来分析问题,使用非递归算法来解决问题,本文将从实现斐波那契数列入手,来讨论递归
2015-02-13 21:02:18
361
原创 2015年2月12日
webservice 与UDDI。 UDDI(Universal Description Discovery and Integration) 描述、发现与集成。UDDI是一种目录服务,webservcie发布者将自己的webservice服务注册到该目录,使用者可以在该目录中查找到需要使用的webservice,并且可以查看其描述。这里所说的描述就是wsdl文件,然后就可以根据wsdl信息对
2015-02-12 16:26:14
287
原创 2015年2月11日
webservice 的security主要是指3方面的内容,即数据传输的完整性,机密性和身份认证,因为soap消息是基于xml的,所以soap 的security 也就是xml在传输过程中的完整性,机密性的问题。xml本身对security的支持。如何保证xml的完整性呢?是通过数字签名 来保证传输内容的完整性,什么是数字签名呢?个人理解,数字签名就是将要传输的内容按照一定的算法映射生成
2015-02-11 23:33:17
319
原创 2015年2月10日
webservice 的使用授权,客户端调用服务端的webservice时,需要进行身份验证,也就是客户端需要输入用户名密码,才能调用服务端的service。 客户端发送soap消息时,将用户名和密码封装在消息的头部,jax-ws提供了一个soaphandler接口,这个接口类似于servlet的filter。在这个接口里面,可以获取调用的context. 只要实现这个接口,就可以通过解析cont
2015-02-11 00:12:12
317
原创 2015年2月9日
webservice的两种构架风格从架构风格角度讲,webservice分为两种,一种是基于soap协议的,另外一种是基于restful的构架风格。二者都是基于http协议的。但是二者解决问题的思路不一样。soap 是利用soap消息传递来实现webservice。restful是充分利用http请求,通过资源定位来解决问题。将webserver 服务端的方法当做资源,通过http 的 g
2015-02-09 23:22:38
414
原创 2015年2月8日
什么是webservice.从我的角度理解,webservice就是提供了一个解决方案,解决了在一个机器上的应用程序调用另外一台机器上的应用程序的方法的问题。要让应用程序调用另外一台机器上的方法像调用自己本地方法一样。如何才能做到这一点呢?首先,要有一个底层机制支持在两台机器的进程中通信,在webservice里面就是RPC。RPC负责了哪些工作呢?RPC负责了两部分工作,一个是产生本地代理方
2015-02-08 21:13:18
531
原创 2015年2月7号
今天什么都没做,早上收拾了屋子,打扫卫生,下午打了个篮球,晚上跟原来的同事一起吃个饭,讨论了下当前找工作的行情, 听说很多公司都在裁员,且很多公司的效益不是那么好,又聊了聊面试时问到的技术,总的看来,他们遇到的问题,还是需要自己对技术这行真的感兴趣才能解决的。还有一些具体的技术问题,比如公司内部的产品是如何处理负载均衡的,java的各种版本出了哪些新的特性,业界出了哪些新的技术以及技术的优缺点
2015-02-07 21:17:19
300
原创 2015年2月6日
偶尔想起这事,心里还是有些发堵。当然了,任何情绪和感慨都没用。老大说的对,只要有一个拿的出手的技能,到哪里都不怕,要怪就怪自己学艺不精。今天从技术的角度回顾了一下上家公司所做的项目。RS整体来说就是发布了3个webservice方法,通过不同的返回值传给调用的程序,以便其作出决策。webservice 的发布方式是先写方法定义和方法complex type,然后通过maven生成java接口,
2015-02-06 18:56:07
306
原创 2015年2月5号
between the job 第二天. 情绪稳定,按照计划,把在公司之前所做的项目,从业务的角度整理了一下。整理到了自己的wiki上面。主要是两个项目,一个是risk,一个是监控工具。忽然觉得,此时再去理解这个项目的时候 ,感觉比在公司学习这个项目的时候更深刻一些。当时在公司的时候,对这个项目理解模模糊糊,现在倒是清晰了很多,可能工作的时候,更多的精力放在完成手头上的任务,而忽略了对于项目的理
2015-02-05 19:36:29
347
原创 2015年2月4日
早晨在公司正常上班,中午被告知被裁,虽然说之前公司已经有裁员的消息,自己也有一定的心理准备。但是当被告知的时候,还是觉得很突然。还是感觉很失落与惋惜。 丢掉工作也许没那么伤心,比较可惜的是身边有那么多nice的人。能与这么多技术能力强、品格高尚,办事麻利,为人精明并且非常勤奋的人一起共事,自己的确获益匪浅,感受颇丰。 初步计划,利用大概4个星期的时间准备笔试和面试,并且投简历到
2015-02-04 20:25:06
371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人