自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 适配器模式

java设计模式,适配器模式

2017-07-11 11:37:05 287

原创 java三种工厂模式:简单工厂、工厂方法、抽象工厂

java设计模式,工厂模式、简单工程、工厂方法、抽象工厂

2017-07-11 10:34:36 17688 10

原创 使用CGLIB实现动态代理

CGLIB动态代理原理:

2017-06-23 17:32:57 317

原创 代理和动态代理

静态代理和JDK动态代理原理详解

2017-06-23 11:45:30 290

原创 线程同步工具-CyclicBarrier

CyclicBarrier可以允许一个或者多个线程在一个确定的点同步数据,他的使用上和CountDownLatch类似,但是有趣的是你可以传递一个外加的 Runnable 对象作为初始参数,并且当全部线程都到达同一个点时,CyclicBarrier类 会把这个对象当做线程来执行,这在使用分区处理编程的时候能很好的发挥其并发性能

2017-06-06 14:40:37 306

原创 线程同步工具-CountDownLatch

CountDownLatch类:允许一个或者多个线程等待直到一组操作完成。在使用时,CountDownLatch初始化一个等待数,这个数的大小就是指定参与工作的线程数量,当某一个参加工作线程都达到某个程序点时,使用countDown()方法使CountDownLatch内部计数器-1,直到CountDownLatch内部计数器的值为0

2017-06-06 11:04:14 278

原创 线程同步工具-Semaphore

Semaphore(信道)是一个控制访问多个资源的“计数器” 当线程要访问某个资源时,他可以获得Semaphore,如果其内部计数器的值大于0,则允许线程访问并将计数器的值-1.如果内部计数器的值等于0,则表示全部的共享资源已经在被使用.Semaphore会让线程进入休眠. 当线程访问完贡献资源以后,会将Semaphore中计数器的值加1,使资源可以对外提供访问。

2017-06-06 10:36:26 270

原创 jvm常用工具-jps

JPS-虚拟机进程状况工具 JVM Processs Status Tool,显示指定系统内,所有HotSpot虚拟机进程。

2017-06-05 23:38:29 477

原创 线程的生命周期

线程的生命周期是由CPU直接掌控的

2017-06-05 22:01:22 373

原创 java实现生产者和消费者问题的几种方式

java实现生产者和消费者问题的几种方式

2017-06-05 17:32:15 348

原创 一道面试题的拓展

Integer 爬坑

2017-05-05 14:41:48 402

原创 HashMap源码实现

HashMap源码实现

2017-04-30 18:49:47 294

原创 vmware-nat模式下网络模型

vmware的nat模式下网络模型

2017-02-21 21:39:25 431

原创 zookeeper三:zkClient的使用

在生产环境中常常会遇到session exprie这类异常,需要在发生异常以后重新连接,重新建立session,直接使用ZooKeeperAPI 实现的话,可能会比较麻烦。而且ZooKeeper的watcher是一次性的。如果基于watcher做发布/订阅模式,需要做额外的一些编码。以实现每次watcher失效后重新注册,将一次性订阅包装成持久订阅。并且,ZooKeeper的API接口中,节点数据默

2017-02-17 16:17:41 3226

原创 ZooKeeper二:客户端使用

zookeeper API的使用 和 zhCli常用命令介绍

2017-02-17 15:13:04 481

原创 ZooKeeper一:认识ZooKeeper

随着互联网的高速发展,企业对计算机系统的计算,存储能力越来越高。最简单的证明就是出现了诸如高并发,海量存储之类的词汇。在这样的背景下,单纯依靠少量高性能主机来完成计算任务已经不能满足企业的需求,企业的IT架构逐步从集中式像分布式过渡。所谓的分布式是指:把一个计算任务分解成若干的计算单元,并且分派到若干不同的计算机去执行,然后汇总计算结果。

2017-02-16 15:12:14 505

原创 JVM线程资源同步及交互机制

java程序采用多线程的方式来支撑大量的并发请求处理,程序在多线程方式 执行的情况下,复杂程度远高于单线程串行执行程序。多线程执行程序最明显的问题是线程之间共同管理的资源的竞争及线程之间的交互。本节主要介绍JVM线程资源同步机制和线程之间的交互机制。线程资源同步机制首先来看一段获取id的程序int i = 0 ; public int getNextInt(){ retu

2017-02-14 14:58:01 608

原创 JVM内存管理

java不在需要开发人员显示的分配内存和回收内存,而是由JVM自动管理内存的分配和回收(又称为垃圾回收-GC),这简化了编程难度,但同时可能使得程序员在不知不觉中浪费了很多内存,导致JVM花费很多时间进行垃圾回收。另外还有可能由于不清楚JVM的内存分配和回收机制造成内存泄露。最终导致JVM内存不够用。

2017-02-13 21:35:10 3720

原创 java基础-并发-如何捕获线程异常

由于线程本质特性,使得我们不能捕获从线程中逃逸的异常。一旦异常逃出线程的run方法,他就会向外传播到控制台。

2016-12-27 20:12:26 536

原创 Tomcat工作原理(五)-tomcat容器

一个tomcat容器需要实现org.apache.catalina.Container,你可以在tomcat的连接器中使用setContainer方法传递一个容器给连接器。

2016-12-27 11:56:31 1959 1

原创 Tomcat工作原理(四)-tomcat默认连接器

本文提及的tomcat默认连接器是指tomcat4的默认连接器,即使默认连接器已经被弃用,被性能油价优秀的Coyote连接器所取代,但是他仍然是一个不错的学习工具

2016-12-26 11:15:15 337

原创 Tomcat工作原理(三)-连接器

Catalina有2个主要的模块,连接器和容器。 一个符合servlet2.3和2.4规范必须HttpServletRequest和HttpServletResponse并传递给servlet的service方法。在第二章中,servlet容器只可以运行实现了Servlet` 的servlet,并传递ServletRequest 和ServletResponse实例给 service 方法。因为连接器并不知道ser

2016-12-23 13:50:13 1000

原创 java基础-注解一-注解基础

注解,也叫元数据。为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后的某个时刻非常方便的使用这些数据。 每当你创建描述符性质的类或者接口时,一旦其中包含了重复性的工作,那就可以使用注解来简化与自动化该过程。

2016-12-22 20:49:21 320

原创 Tomcat工作原理(二)一个简单的Servlet容器

本章主要通过两个应用讲述如何编写自己的Servler容器,第一个比较见到,只是为了理解一下Servlet容器是如何工作的。然后引出较为复杂的第二个例子。

2016-12-22 11:02:49 447

原创 Tomcat工作原理(一)一个简单的Web应用

本章主要讲述一个java的web服务是如何工作的。 web也叫HTTP服务,因为他使用HTTP协议与客户端进行交互(通常使用的是浏览器),一个基于java的web服务主要涉及到2个重要的类:java.net.Socket 和java.net.ServerSocket 并通过发送HTTP消息进行通信。

2016-12-21 11:42:23 1296

原创 一.spring-core IoC container(3) 基于javaCode的配置方式

前面两节学习了IoC容器的XML配置和annotation的配置方式,本节学习 一下IoC container 基于java-code的配置。@Bean and @Configurationspring基于javaCode的配置方式的核心是类级别的注解@Configuration 和 方法级别的注解@Bean @Bean注解用来表明此方法实例化,配置,初始化了一个新对象,并且交给con

2016-12-14 16:57:02 255

原创 一.spring-core IoC container(2) 基于annotation的配置方式

继续上节XML配置之后,学习一下annotation配置

2016-12-13 16:06:37 342

原创 一.spring-core IoC container(1) container概述和Bean基础

一:IoC 控制反转IoC 控制反转,也叫依赖注入。主要用于解决程序中的依赖关系维护问题。理解依赖注入需要理解两方面的内容: 1.什么是依赖 所谓依赖,简单来说就是如果类A中包含有类B的对象,那么传统方式构造B对象的方法是B a = new B(),这就在A中形成了对B的依赖关系。 2.什么是注入? 所谓注入,拿上述实例来说,spring通过他的方式,也就是容器,将这些所依赖的对象统一

2016-12-09 14:33:09 418

原创 spring-core(一):前章-目录和环境构建

一:前言和目录 写在前面的话:一直以来想通过文档对spring有个系统的学习,希望自己坚持下来。文中有错误之处或者不足,欢迎指正!本系列文章大体分为以下章节: 1.The IoC container 2.Resources 3.Validation, Data Binding, and Type Conversion 4.Spring Expression Language (SpEL)

2016-12-09 13:29:22 743

Hadoop技术内幕

Hadoop技术内幕

2017-02-17

zkclient.jar

从git上下载源码打包后的zkclient.jar

2017-02-17

spring-boot中文指南

spring-boot的中文开发指南,阅读英文有困难的同学可以下载

2016-10-10

空空如也

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

TA关注的人

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