关闭

深入理解Java内部类

一、什么是内部类?   内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有以下几类:成员内部类、局部内部类、静态内部类、匿名内部类 二、内部类的共性 (1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成...
阅读(27) 评论(0)

JVM类加载器详解

首先来了解一下字节码和class文件的区别: 我们知道,新建一个java对象的时候,JVM要将这个对象对应的字节码加载到内存中,这个字节码的原始信息存放在classpath(就是我们新建Java工程的bin目录下)指定的目录下的.class文件,类加载需要将.class文件导入到硬盘中,经过一些处理之后变成字节码在加载到内存中。 下面来看一下简单的例子: [java] v...
阅读(8) 评论(0)

Java自定义类加载器实现

http://www.cnblogs.com/szlbm/p/5504631.html 为什么要自定义类加载器 类加载机制:http://www.cnblogs.com/xrq730/p/4844915.html 类加载器:http://www.cnblogs.com/xrq730/p/4845144.html 这两篇文章已经详细讲解了类加载机制和类加载器,还剩最后一个...
阅读(16) 评论(0)

使用Spring WebSocket实现消息推送

第一步: 添加Spring WebSocket的依赖jar包 (注:这里使用maven方式添加 手动添加的同学请自行下载相应jar包放到lib目录) 使用spring websocket依赖的jar包 --> dependency> groupId>org.springframeworkgroupId>...
阅读(39) 评论(0)

nginx+tomcat+redis/Memcached实现集群 session共享

nginx安装:http://blog.csdn.net/grhlove123/article/details/47834673 redis安装:http://blog.csdn.net/grhlove123/article/details/47783471 准备两个tomcat,修改相应的端口 名称 IP 端口 tomcat版本 JDK tomcat1...
阅读(73) 评论(0)

单例模式的五种写法:懒汉/饿汉/双重检验锁/静态内部类/枚举

单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。 懒汉式,线程不安全 当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。 ...
阅读(63) 评论(0)

Java并发之volatile关键字深入解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来...
阅读(146) 评论(0)

guava处理字符串与List/Map之间的转换

Guava 是什么? Guava是一种基于开源的Java库,其中包含谷歌正在由他们很多项目使用的很多核心库。这个库是为了方便编码,并减少编码错误。这个库提供用于集合,缓存,支持原语,并发性,常见注解,字符串处理,I/O和验证的实用方法。 Guava的好处 标准化 - Guava库是由谷歌托管。高效 - 可靠,快速和有效的扩展JAVA标准库优化 -Guava库经过高度的优化。 函数式编程...
阅读(42) 评论(0)

Hadoop回顾:(三) HBase详细概述

本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。 不过在此之前,你可以先了解 Hadoop生态系统 ,若想运行HBase,则需要先搭建好Hadoop集群环境,可以参考此文搭建5个节点的hadoop集群环境(CDH5) 。 好了,让我们来学习HBase...
阅读(89) 评论(0)

Hadoop回顾:(二)搭建5节点hadoop集群环境(CDH5)

提示:如果还不了解Hadoop的,可以下查看这篇文章Hadoop生态系统,通过这篇文章,我们可以首先大致了解Hadoop及Hadoop的生态系统中的工具的使用场景。 搭建一个分布式的hadoop集群环境,下面是详细步骤,使用cdh5 。 一、硬件准备 基本配置: 操作系统 64位 CPU (英特尔)Intel(R) ...
阅读(40) 评论(0)

Hadoop回顾:(一)Hadoop生态系统简介

首先我们先了解一下Hadoop的起源。然后介绍一些关于Hadoop生态系统中的具体工具的使用方法。如:HDFS、MapReduce、Yarn、Zookeeper、Hive、HBase、Oozie、Mahout、Pig、Flume、Sqoop。 Hadoop的起源 Doug Cutting是Hadoop之父 ,起初他开创了一个开源软件Lucene(用Java语言编写,提供了全文检索引擎的架构,与...
阅读(76) 评论(0)

Java的Unsafe类及compareAndSwap浅析

最近在看jdk7中java.util.concurrent下面的源码中,发现许多类中使用了Unsafe类中的方法来保证并发的安全性,而java 7 api中并没有这个类的相关介绍,在网上查了许多资料,其中http://ifeve.com/sun-misc-unsafe/这个网站详细的讲解了Unsafe的相关用法,而下面是结合网站中的介绍和具体的AtomicInteger类来讲解一下其相关的用法。 ...
阅读(30) 评论(0)

Java锁的种类及辨析(二):可重入锁

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。 本文里面讲的是广义上的可重入锁,而不是单指JAVA下的ReentrantLock。 可重入锁,也叫做递归锁...
阅读(26) 评论(0)

Java锁的种类及辨析(一):自旋锁

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。 1、自旋锁 自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区。...
阅读(27) 评论(0)

并发编程实现模型之(三)Producer-Consumer模式

生产者-消费模式,通常有两类线程,即若干个生产者线程和若干个消费者线程。生产者线程负责提交用户请求,消费者线程负责具体处理生产者提交的任务。两者之间通过共享内存缓冲去进行通信。 一、架构模式图: 类图: 生产者:提交用户请求,提取用户任务,并装入内存缓冲区; 消费者:在内存缓冲区中提取并处理任务; 内存缓冲区:缓存生产者提交的任务或数据,供消费者使用; 任务:生产者向内存缓冲区...
阅读(29) 评论(0)
1080条 共72页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1237726次
    • 积分:14751
    • 等级:
    • 排名:第898名
    • 原创:151篇
    • 转载:896篇
    • 译文:33篇
    • 评论:173条
    文章分类
    最新评论