自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 java四种引用类型

⑴强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ps:强引用其实也就是我们平时A a = new A()这个意思。⑵软引用(SoftReference) 如果一个对象只具有软引

2016-08-31 22:28:11 288

原创 网页桌面共享 短连接 cdn p2p zookeeper

http://collabedit.com/tgaa2使用collabedit引发的思考。1.为啥链接这么短? 2.浏览器,http协议为什么不能够进行长连接那么怎么做到桌面共享? 3.数据的持久化。短连接短链接,通俗来说,就是将长的URL网址,通过程序计算等方式,转换为简短的网址字符串。 网址采用了那种很短的链接?而且真正的地址栏却是很长的链接? 那么我有一个疑问? 1.为啥要用短连接

2016-08-27 16:36:03 1295

原创 java 装箱拆箱

装箱就是 自动将基本数据类型转换为包装器类型;拆箱就是 自动将包装器类型转换为基本数据类型。 下表是基本数据类型对应的包装器类型:int(4字节) Integerbyte(1字节) Byteshort(2字节) Shortlong(8字节) Longfloat(4字节) Floatdouble(8字节) Doublechar(2字节) Characterboo

2016-08-27 16:00:31 484

原创 小题目

java 面试题抽象类和接口的区别 抽象类中可以有普通成员变量,接口中没有普通成员变量。抽象类和接口中都可以包含静态成员常量。一个类可以实现多个接口,但只能继承一个抽象类抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法。1.抽象类可以有构造方法,接口中不能有构造方法。 2.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象

2016-08-26 16:17:33 678

原创 Java中普通代码块,构造代码块,静态代码块区别及代码示例

//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。//使用helloB类时 1 开始进行类装载的初始化步骤(先初始化父类,再初始化子类(初始化执行static静态代码块,执行一次) //2 普通代码块(在方法中出现的{}的称为普通代码块 ) 同语句一样,按顺序执行代码块和语句. //3 new对象的时候 调用构造代码块(接在类中定义且没有加static关键字

2016-08-26 16:08:33 498

原创 Iterater

Iterater和ListIterator之间有什么区别?  (1)我们可以使用Iterator来遍历Set和List集合,而ListIterator只能遍历List。  (2)Iterator只可以向前遍历,而LIstIterator可以双向遍历。  (3)ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素的索引位置。

2016-08-26 15:52:30 528

转载 Comparator与Comparable的异同

相同点它们都是Java的一个接口,都是用来实现集合中元素的比较、排序。不同  Comparator位于java.util下;   Comparable位于java.lang下;总结两种方法各有优劣, 用Comparable 简单, 只要实现Comparable 接口的对象直接就成为一个可以比较的对象, 但是需要修改源代码, 用Comparator 的好处是不需要修改源代码, 而是另外实现一个比较

2016-08-23 00:06:07 248

原创 map源码解析

HashMap数据结构:由hash表构成 源码解析 filed table:数组结构元素由hash值区分; entrySet:每个数组元素所存的链表(key,value,hash,next) size:table长度 loadFactor:负载因子 (也是构造函数的参数),根据该变量得到阈值,进行翻倍扩容 threshold: 扩容的阈值,一般为容量*负载因子 modCount:根

2016-08-22 18:07:59 515

原创 List 源码解析

ListArrayList和LinkedList都继承自abstractList 都是线程不安全的。abstractList 提供checkForComodification方法(next,add,remove方法中都有调用此方法),在单线程中,遍历的时候删除List(for循环和增强for循环都不是正确做法,迭代器遍历才是正确的,博客后面有例子声明)。当两个线程有冲突时,(当一个线程使用迭代器遍

2016-08-22 17:01:49 603

原创 synchornized reentrant lock

synchornized reentrant lock

2016-08-21 18:11:49 426

原创 hosts文件

这里需要讲解下这个hosts文件:hosts文件是没有扩展名的系统文件,里面的内容时间域名网址和ip联系起来,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。hosts文件中默认 127.0.0.1  localhost  。文件中的

2016-07-26 00:47:35 429

原创 jdk jre java虚拟机 GCjava回收机制

jdk 和jrejdk (Java Development Kit)     java开发工具包,包含jre,java开发工具(java编译器,调试器),java的一些类库。     jdk的文件夹下包含jre,jre下的bin 可以认为就是bin,lib是jvm工作时所需要的类库。jre(java runtime environment)     是java程序的运行环境,j

2016-07-26 00:44:55 487

原创 nosql 一些了解

nosql 学习的一些内容CAP,BASE原则,最终一致性

2016-07-22 01:27:37 329

原创 Spring管理filter

Spring管理filter在使用spring容器的web应用中,业务对象间的依赖关系都可以用context.xml文件来配置,并且由spring容器来负责依赖对象  的创建。如果要在filter或者servlet中使用spring容器管理业务对象,通常需要使用WebApplicationContextUtils.getRequiredWebApplicationContext(g

2016-07-18 00:32:07 430

原创 设计用户系统

系统设计1.scenario 场景:用户规模功能的需求量DUA(日用户活跃数量)QPS (每秒查询率)衡量标准:规定时间内所处理流量多少 100M*0.1/84600(1天86400秒)~100 0.1–平均每天每个用户操作次数 QPS为100 peak(系统操作高峰期值) average2.Service3.Storagemysql 等SQL数据库Mong

2016-07-17 11:03:19 565

原创 Undo Redo log实现事务

undo logUndo log 是为了实现事务的原子性。还用Undo Log来实现多版本并发控制(简称:MVCC)。事务的原子性 事务的所有操作,要么全部完成,要不都不做,不能只做一半。如果在执行的过程中发生了错误,要回到事务开始时的状态,所有的操作都要回滚。原理 Undo Log的原理很简单,为了满足事务的原子性,在操作任何数据之前,首先将数据备份到一个地方(这个存储数据备份的地方称为

2016-07-16 21:46:30 3000

原创 JVM java类的装载、链接、初始化

.java文件经过最初的编译成为.class字节码,成为机器识别的二进制语言。 .class文件由JVM解释成所对应不同的硬件平台操作系统能够执行的代码。 (编译器是与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器.java程序也通过运行在不同jvm上实现跨平台)解释有以下的三个步骤装载:通过cl

2016-07-10 15:43:31 1382

原创 hbase hive

用hbase做数据库,但由于hbase没有类sql查询方式,所以操作和计算数据非常不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询.hive也即 做数据仓库

2016-07-08 09:35:46 438

原创 metaq

metaq 笔记MetaQ是一款分布式、队列模型的消息中间件1.metaq的特点支持严格的消息顺序 支持Topic与Queue两种模式 亿级消息堆积能力 比较友好的分布式特性 同时支持Push与Pull方式消费消息2.几个概念Producer 产生消息,发送(push)到metaq服务器中。 (ProducerGroup 生产者集群,一组group下的生产者生产一类信息,相同发送逻

2016-07-06 13:04:49 4308 2

原创 autoConfig

很多框架支持在运行时刻替换配置文件中的placeholder占位符。 Webx,Spring,log4j 就有这个功能。但他们支持占位符替换的配置不同。Webx通过中心配置服务器(Config Sever),Spring通过PropertyPlaceholderConfigurer类来配置,而Log4j则需要在DomConfigurator中把参数传进去。着重说下 Webx 的 auto-confi

2016-07-04 21:02:56 775

原创 网站的架构演进

一个小型的网站系统,一般是在服务器上面搭建了相应的开发环境,DB和WEB Server都在一台机器上运行,之间通过jdbc来进行连接访问。 随着网站的访问量增加,服务器的负载压力也增大。那么就将数据库和应用分开,放到两个服务器上面。应用服务器的优化为了缓解应用服务器的压力,也为了保证一台服务器down机,还有别的服务器运行程序,应用服务器由单机变为了服务器集群。它们之间没有任何交互。都是独立的向

2016-07-03 19:14:26 443

原创 数据库和数据仓库

数据库和数据仓库数据库和数据仓库数据库是事务系统的数据平台,数据库中存储了各项交易的记录。 数据仓库是分析系统的数据平台,从事务系统中获取数据,进行一系列的数据汇总、计算、分析。将分析得到的数据存到数据仓库中。 比如,在当当上进行一笔买书交易,交易记录就存在数据库中,那么对这些数据(购买量)进行分析可以得到书类在地区的受欢迎程度,从而根据这些分析数据结果,将书以合适的数量分配在各个地区的仓库。主要

2016-07-03 01:00:18 685

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除