自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (1)
  • 收藏
  • 关注

原创 《大型网站技术核心原理与案例分析》读书笔记

最近粗粗翻了一遍这本书,写的还是不错的,通读下来就是讲的比较全面,但是不深入,更像是一本入门级别的数,从大局观念来讲,围绕架构的高可用、伸缩性。下面大概梳理下我理解的内容:第一章:大型网站的架构演化这里作者介绍了架构的演化过程,之前看过kavin大神的关于架构漫谈系列,到底架构是演化的还是一开始就是设计好的有争议,我理解就是取决一个度,就是纪要满足当前业务需求,又不要陷入过度超前的状态

2016-04-28 15:53:03 1120

原创 基于优先级队列java线程池

背景最近在看同事的消息平台的问题进行优化,其中一点就是推送来的消息没有区分优先级,造成实时性要求高的不能优先满足,被全网下发的普通优先级占用了,造成消息延迟。对应的改进一点就是采用把现有线程池改为优先级队列。实现创建一个RunnablePriority,它实现Runnable接口和参数化为RunnablePriority类的Comparable接口。package thread

2016-04-26 14:23:59 7907

转载 hessian序列化区别

背景:之前一篇文章介绍了java的序列化,http://blog.csdn.net/bohu83/article/details/51124079在java的序列化里面也是介绍rpc框架时候,在远程调用中,需要把参数和返回值通过网络传输,这个使用就要用到序列化将对象转变成字节流,从一端到另一端之后再反序列化回来变成对象。作用了说了,今天在看文章的时候发现别人贴出效率对比,hessian比j

2016-04-22 18:06:39 7749

转载 java:BIO、NIO、AIO区别

之前有人问我BIO、NIO、AIO区别,我答的不好。下面先梳理下概念NIO:同步非阻塞;AIO:异步非阻塞有点拗口,其实得分开理解:同步异步是指是否是同一次请求(便于理解,举个例子)。阻塞和非阻塞就是aio和nio的问题,指的是调用一个方法能否立即返回结果。先来个例子理解一下概念,以银行取款为例:同步 : 自己亲自出马持银行卡到银行取钱(使用同步

2016-04-21 14:55:17 638

原创 mysql常见问答

1.mysam与innodb区别: InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。  以下是一

2016-04-17 11:05:11 586

原创 spring与mybatis整合

本文属于工作杂记,临时存放,待整理。实际项目中应用是在applicationContext.xml中配置,为了显示清晰:拆分出专门的spring配置, <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

2016-04-17 08:40:17 454

原创 spring初步概念(待逐步梳理)

有关Spring中的Advisor,Advice,Pointcuthttp://blog.sina.com.cn/s/blog_5198c7370100hw1p.html<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

2016-04-15 18:17:05 484

转载 AOP实现机制

本文属于spring的系列学习笔记,发现自己对spring还有不明白的地方,重新梳理下,加深印象。一背景AOP(Aspect-OrientedProgramming,面向方面编程),是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP是从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中。而

2016-04-15 15:16:10 628

原创 java并发:线程池的分析和使用

本文属于java并发系列,转载原文是并发编程网的方腾飞大神所著,原文地址:http://ifeve.com/java-threadpool/原文如下:1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源...

2016-04-14 17:38:39 1190

原创 java并发系列:深入分析ReentrantLock

本文属于java并发梳理系列。引子锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。本文梳理下ReentrantLock。作为依赖于AbstractQueuedSynchronizer。 所以要理解ReentrantLock,先要理解AQS。关系图如下所示:aqs有多神奇,让Reentra

2016-04-13 18:13:12 1919

转载 java并发系列:深入分析Synchronized

本文属于并发编程网聊聊并发的学习笔记系列,作者是方腾飞大神,本文在基本上忠于原文,为了便于像我这样的不懂这块的同学更好理解,在原文基础上适当调整。为尊重原著大神:特意贴出原文地址:http://ifeve.com/java-synchronized/1术语:CAS:Compare and Swap,比较并设置。用于在硬件层面上提供原子性操作。在 Intel 处理器中,比较并交换通过指令

2016-04-13 11:35:32 6004 8

转载 java多线程系列:锁

本文属于并发编程网的多线程学习系列,原文如下:锁像synchronized同步块一样,是一种线程同步机制,但比Java中的synchronized同步块更复杂。自Java 5开始,java.util.concurrent.locks包中包含了一些锁的实现,因此你不用去实现自己的锁了。但是你仍然需要去了解怎样使用这些锁,且了解这些实现背后的理论也是很有用处的。一个简单的锁:让我们从j

2016-04-12 21:07:56 604

转载 java多线程系列:死锁及检测

本文属于并发编程网多线程学习梳理系列。原文如下:死锁死锁是两个或更多线程阻塞着等待其它处于死锁状态的线程所持有的锁。死锁通常发生在多个线程同时但以不同的顺序请求同一组锁的时候。例如,如果线程1锁住了A,然后尝试对B进行加锁,同时线程2已经锁住了B,接着尝试对A进行加锁,这时死锁就发生了。线程1永远得不到B,线程2也永远得不到A,并且它们永远也不会知道发生了这样的事情。为了得

2016-04-12 17:00:45 8124

原创 多线程系列:TheadLocal(原理、内存泄漏、弱引用)

本文属于并发编程网多线程学习笔记系列。原文地址:http://ifeve.com/java-theadlocal/以下为原文:Java中的ThreadLocal类可以让你创建的变量只被同一个线程进行读和写操作。因此,尽管有两个线程同时执行一段相同的代码,而且这段代码又有一个指向同一个ThreadLocal变量的引用,但是这两个线程依然不能看到彼此的ThreadLocal变量域。常用方法...

2016-04-11 18:50:46 1529

原创 java并发系列:一线程常见问题

引子:本文属于面试题梳理系列,因为java的支持并发的特性,所以实际项目中会牵扯到对并发的开发、调优等。所以多线程相关知识经常被问到。这篇是第一篇,跟线程有关基础概念,通常面试官会从线程基础概念问起,但是只知道这些基础概念是不够的,最终会问到并发编程的诸多问题:如java内存模型,各种锁、死锁,各种j.u.c下面的工具、线程池、线程安全等等。可深入到底层实现的原理,其实梳理过程就是加深自己印象的过

2016-04-11 18:25:42 1616 1

原创 OOP设计原则

OOP的全称是Object Oriented Programming,即面向对象编程。它的设计原则对于指导开发有实际意义。S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写。面向对象设计的原则SRP The Single Responsibility Principle单一职责原则OCP  The Ope

2016-04-11 18:25:39 1977

原创 java梳理-静态代理和动态代理有什么区别

一 概念为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。      代理模式是经典设计模式中的一种,属于对象创建型设计模式。 从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(Real

2016-04-11 18:25:37 4963 1

原创 设计模式梳理-单例模式

一概念介绍:  所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在,而且自行实例化并向整个系统提供这个实例。单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息。例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或 文件中,这些配置数据由某个单例对象统一读取,服务进程中的其他对象如果要获取这些配置信息,只需访问该单例对象即可。这种方式极大地简化了在复

2016-04-11 18:25:34 751

原创 java梳理-反射

本文属于面试题梳理系列:问题:java反射类的访问私有方法与普通方法相比,需要多处理什么? 之前梳理类加载的时候,介绍到初始化的时机之一:用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则需要先触发其初始化。下面梳理相关知识。目录如下:1.什么是JAVA的反射机制2.JAVA反射机制API及功能 获取类的Class对象 获取类的Fields 获取类的Me

2016-04-11 18:25:32 1379

原创 java梳理-【转】深入分析ConcurrentHashMap

方腾飞大神的聊聊并发系列写的太好了,本文属于其中之一,原文地址:http://ifeve.com/concurrenthashmap/ 原文如下:术语定义哈希算法(hash algorithm):是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表(hash table):根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地

2016-04-11 18:25:29 1297 1

原创 java梳理-深入理解类加载及初始化

概述 类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成java.lang.Class类的一个实例。每个这样的实例用来表示一个 Java 类。

2016-04-11 18:25:26 1330

原创 java数组:2个数组,查出相同的元素

本文属于面试题整理系列:给出2个数组,要求查出相同的元素题目描述有些歧义,我对此理解就是相同元素就是两个数组都有的,而不是单个数组有的。就是下面写个demo测试下public static Set findSameElementIn2Arrays(Integer[] array1,Integer[] array2) { Set sameElementSet = new HashS

2016-04-11 18:25:23 6107

原创 java梳理-给一个字符串类型的数字,不调用java直接转的API写一个方法转换出来

65、给一个字符串类型的数字,不调用java直接转的API写一个方法转换出来看一眼题目,习惯了用Integer.parseInt直接处理。public static int StrtoNum(String str){ int result =0; if(str== null||str.equals("")) throw new NumberFormatException("null");

2016-04-11 18:25:21 1148

原创 java梳理-int类型在32位和64位有什么不同

本文属于java基础面试系列:63 int类型在32位和64位有什么不同我看了题目之后觉得不是很理解,应该是跟操作系统无关的,网上搜了下也是没有好文章专门说明,比较困惑,咨询下题主:是楚楚街面试问的,还是把自己理解思路试着写一下。**************************************************题主反馈“有些编译器编译成字节码时就是给这种类型分配的8个字节,对象头

2016-04-11 18:25:18 15118 2

原创 java梳理-浮点类型计算为什么不准确

本文属于java基础梳理系列:原问题:62、浮点类型为什么有时候不精确,详细说出来,怎么解决先来看个demo:import java.math.BigDecimal;/** * * @author zhangliang * * 2016年3月30日 下午5:58:39 */public class FloatTest { public static void main(String[] args

2016-04-11 18:25:15 2739

原创 java基础梳理-理解重载与重写

55、重载和重写的区别重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念。名字相近而已,没有实质关联。定义 重载简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。重写重写指的是在Java的子类与父类中有两个名称、参数列表都相同的方法的情况。由于他们具有相同的方法签名,所以子类中的

2016-04-11 18:25:13 787

原创 java基础梳理-【转】深入理解接口及抽象类

整理到这块,网上发现一篇好文章,举一反三,写的很深入,我就转过来。原文地址:http://www.cnblogs.com/dolphin0520/p/3811437.html原文如下:对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。

2016-04-11 18:25:10 415

原创 java梳理-一个汉字占多大空间

面试题:一个汉字占多大空间。其实这个问题我了解不深的,知道结论不知道为什么。借此梳理下认识。先回顾下java基本类型一基本类型 :简称四类八种,声明变量的同时分配了空间,举例如下:  Int a =1;一、4种整型     byte      1字节           -128——127     short     2 字节         -32,768 —— 32,767     int  

2016-04-11 18:25:07 4046

原创 java梳理-序列化与反序列化

一背景:之前笔记关于rpc框架介绍中,提到为了调用远程服务,需要再确定消息结构后考虑序列化与反序列化,序列化主要是把对象转换成二进制码便于网络传输,反序列化就是相反的,主要目的是生成对象便于后续处理。好处就是:它自动屏蔽了操作系统的差异,字节顺序等,可以实现不同环境主机跨网络的访问。二相关知识点:  基础知识  序列化ID  静态变量序列化 父类的序列化与 Transient 关键字 对敏感字段加

2016-04-11 18:25:04 1334

原创 java梳理-关键字final

一 final含义final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。你可能出于两种理解而需要阻止改变:设计或效率。        final类不能被继承,没有子类,final类中的方法默认是final的。        final方法不能被子类

2016-04-11 18:25:02 582

原创 java基础梳理-关键字static

本文是java梳理系列:群里大神面试问题之一:“静态代码块和普通代码块有什么区别,什么场景下使用”一 导读:static的用途:变量方法代码块内部类导包常见问题:二 static的用途: 方便在没有创建对象的情况下来进行调用(方法/变量)。很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。static可以用来修饰类的成员方法、类的成

2016-04-11 18:24:59 603

原创 《跟开涛学SpringMVC》学习笔记

一 背景:    原来用spring那会,还是低版本没有注解,配置一堆bean。后来一直没怎么用过,也就疏忽了,现在整理项目的时候,给前端app提供rest接口,就是用springMVC实现的,接触整理下有关知识点。开涛大神的blog原文地址如下:http://jinnianshilongnian.iteye.com/blog/1752171他在写blog的时候比较早,一些新版本特性还没用,我自己

2016-04-11 18:24:56 2069

原创 servlet 梳理

一道题目引发的“servlet和过滤器,监听器,servlet启动顺序是什么样的”,梳理一下,温故知新。包含以下内容:以 Tomcat 为例了解 Servlet 容器是如何工作的?用户的请求是如何被分配给指定的 Servlet 的? Servlet 容器如何管理 Servlet 生命周期?多线程安全问题?过滤器与监听器顺序?一背景上篇笔记整理了tomcat的session机制。偏源码分析。本篇笔记

2016-04-11 18:24:54 1171

原创 关于tomcat session机制梳理

一道题目引起的思考:“tomcat里如何禁止服务端自动创建session”。1背景知识:要说tomcat的机制。先从session说起。 http是无状态协议(http具体可参考:http://www.bysocket.com/?p=282),每次请求都是独立的线程。所以为了维护上下文信息,追踪同一个用户,就是session:保持用户会话状态。目前有几种方式:cookie,URL重写,隐藏表单域。

2016-04-11 18:24:51 3401

原创 tomcat配置及优化梳理

1端口配置:tomcat默认端口是8080端口。如果要修改端口,或者要配置多个端口,修改tomcat6/conf目录里面server.xml文件.Service name="Catalina2">      Connector port="8090" protocol="HTTP/1.1"                connectionTimeout="20000"              

2016-04-11 18:24:48 649

原创 java集合梳理

java里面集合属于顶层接口之一,也是我们日常使用的基础。梳理下有关知识点。一概述 Collection接口是 (java.util.Collection)是Java集合类的顶级接口之一。所以不能直接实例化一个Collection,但是可以实例化它的一个子类,Collection接口仅仅只是定义了每个子类共享的一系列方法。看以看上图,他的子类如下:list,set,queue.而map单独一类。s

2016-04-11 18:24:45 1113

原创 一道题引发的关于String的思考

public static void main(String[] args) { String str1 = "sdsadf"; System.out.println(str1.intern()==str1); String str2 = new String("sdsadf").toString(); System.out.println(str2.intern()==str2); Str

2016-04-11 18:24:43 632

原创 jvm垃圾回收算法梳理

背景 java建立了垃圾回收机制,但是JVM版本不同,使用的回收算法也不同。但是回收算法主要关注两点:(1)发现无用信息对象;(2)回收被无用对象占用的内存空间,使该空间可被程序再次使用。 垃圾回收算法 1.引用计数法(Reference Counting Collector)1.1算法分析引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象实例都有一个引用计数。当一个对象被创建时,且将该

2016-04-11 18:24:40 1885

原创 JVM参数整理

jvm参数较多,常用的就是之前学习笔记整理的关于OOM异常的调整。参数分类含义:标准参数:例如javap -verboseX参数:所有的这类参数都以-X开始,例如常用的-Xmx,XX参数:比较多的参数,类似于X参数对于布尔类型的参数,我们有”+”或”-“,然后才设置JVM选项的实际名称。例如,-XX:+用于激活选项,而-XX:-用于注销选项。对于需要非布尔值的参数,如string或者integer

2016-04-11 18:24:37 2712

原创 并发学习-【转】深入理解并发之CompareAndSet(CAS)

程老师原文地址:http://flychao88.iteye.com/blog/2269438原文如下:一、CAS简介CAS:Compare and Swap, 翻译成比较并交换。java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁,使用这些类在多核CPU的机器上会有比较好的性能.CAS有3个操作数,内存值V,旧的预期...

2016-04-11 18:24:35 17404 2

JS权威指南(第四版)学习笔记.doc

以前看javascript权威指南(第四版)pdf资料时写的.希望给跟自己一样初学js的人有点帮助.其实实践最重要.

2007-09-19

空空如也

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

TA关注的人

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