自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java泛型编程学习 笔记三:泛型继承规则以及通配符“?”使用

java泛型编程 泛型类型的继承规则 以及通配符类型的总结

2017-01-04 10:46:29 7601

原创 java泛型编程学习 笔记二:使用泛型的约束和局限性

我在java泛型编程学习 笔记一:为什么要使用泛型这篇博文中,曾经提到过java的"泛型机制"属于java的一种语法糖,它存在的目的是简化复杂的代码,以提高程序的安全性。实际上java虚拟机没有任何类型对象——所有的对象都属于普通类对象,所以说不管我们在任何时候定义一个泛型类型,虚拟机都会为其提供一个“原始类型”。“原始类型”名称:删去类型变量之后的泛型类型名称。“原始类型”中类型参数的“擦除”:将类型参数替换为限定类型,无限定类型的替换为Object。

2017-01-03 16:45:04 2371

原创 java泛型编程学习 笔记一:为什么要使用泛型

java泛型相关知识总结

2017-01-01 16:35:11 1850

原创 centos系统下安装daemontools详细指南

之前在centos5系列系统下安装完daemontools后,在/etc/inittab中会自动加入一行"SV:12345:respawn:/command/svscanboot/etc/inittab (END) ",然后daemontools会自动启动起来。最近在centos6系列下安装完daemontools之后,发现daemontools无法自动启动,后来在网上

2016-12-07 18:20:36 5012

原创 并发编程学习总结(八) :java中synchronized关键字使用详解 对象锁的相关条件的使用(2)

上一篇博客中主要学习了synchronized关键字使用对象锁和类锁 已经对象锁的一些简单特性。这篇文章中我们主要来学习一下对象锁的相关条件的使用。我们知道显示锁ReentrantLock 有一个或多个相关的条件对象,而对象锁只有一个相关条件。wait()方法添加一个线程到该条件的等待集中notifyAll()/notity()方法解除等待线程的阻塞状态当我们调用对象的相关

2016-07-06 19:25:32 2001

原创 并发编程学习总结(七) :java中synchronized关键字使用详解(1)

上一篇中学习了显示锁ReentrantLock和其条件对象Condition的使用,下面小小的总结一下:(1) 锁用来保护代码片段,任何时刻只能有一个线程执行被保护的代码片段(2) 锁可以管理试图进入被保护代码片段的线程(3) 锁可以拥有一个或多个相关的条件对象(4) 每个条件对象管理那些已经获得了锁,但还需要满足额外条件才能运行的线程 Lock和Condition接口为程

2016-07-06 18:30:06 1922

原创 并发编程学习总结(六) :java 显式锁ReentrantLock使用详解之测试锁与超时

并发编程学习总结(三) : 线程的中断详解我在上面的这篇博客中,曾经写到过线程在获取锁的过程中是无法中断的。

2016-06-13 18:11:47 7752 1

原创 并发编程学习总结(五) :java 显式锁ReentrantLock使用详解之条件对象(2)

(1) ReentrantLock的条件对象通常,线程进入临界区,却发现在某一条件满足之后才能执行,条件对象就是用来管理那些已经获得了锁,但是却不能做有用工作的线程。一个锁对象可以有一个或多个相关的条件对象,我们可用lock.newCondition()方法获得一个条件对象。ReentrantLock myLock = new ReentrantLock();// 获得锁myLock

2016-06-13 12:01:12 8058

原创 并发编程学习总结(四) :java 显式锁ReentrantLock使用详解之lock()\unlock() 加锁与释放锁

在大多数实际的多线程应用中,两个或两个以上的线程需要共享对同一数据的存取。如果两个线程存取相同的对象,并且每一个线程都调用了一个修改该对象状态的方法,那么线程彼此踩了对方的脚,根据各线程访问数据的次序,可能会产生讹误的对象。这样的一种现象称之为竞争条件。当然多个线程共享一个变量在实际的应用中有时难以避免,但是我们可以通过java提供的一些技术来避免线程彼此踩脚的行为发生。java提供了

2016-05-17 20:53:54 5547

原创 并发编程学习总结(三) : 线程的中断详解

如果你使用过杀毒软件,可能会发现全盘杀毒太耗时间了,这时你如果点击取消杀毒按钮,那么此时你正在中断一个运行的线程。java为我们提供了一种调用interrupt()方法来请求终止线程的方法,下面我们就一起来学习一下线程的中断。每一个线程都有一个boolean类型标志,用来表明当前线程是否请求中断,当一个线程调用interrupt() 方法时,线程的中断标志将被设置为true。我

2016-05-16 20:51:44 6801

原创 java中wait()、this.wait()、super.wait()、object.wait()的使用区别

今天有位同学过来问我下面代码中那个super.wait()是什么意思? public synchronized void waitAvailable() { try { if (num == "wait") super.wait(); } catch (InterruptedException ex) { } }那我们今天就来讲一下synchron

2016-05-16 17:01:20 14131 3

原创 并发编程学习总结(二) : 详解 线程的6种不同状态

(一) 线程状态:我们先讨论一下线程的几种状态:java中Thrad.State总共有6中状态:(1)New (新创建)(2)Runnable (可运行)(3)Bolcked (被阻塞)(4)Waiting (等待)(5)Timed Waiting (计时等待)(6)Terminated (被终止)下面我们分别看一下线程的这6中状态分别出现在什么情况下。

2016-05-06 10:44:52 4226

原创 并发编程学习总结(一) :java 创建线程的三种方式的优缺点和实例

java 创建线程有三种方式:(1) 继承Thread 类(2)实现Runnable接口 (3)实现Callable接口

2016-05-04 15:01:43 5025

原创 zookeeper 脚本 zkServer.sh zkCli.sh zkCleanup.sh zkEnv.sh 详解(三)

zkCli.sh 脚本用的也比较多 我们又是需要登录到服务端查看一些节点的信息,通过这个脚本是比较直接和快速的#!/bin/sh# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements.  See the NOTICE file dis

2016-01-29 18:52:45 5027

原创 zookeeper 脚本 zkServer.sh zkCli.sh zkCleanup.sh zkEnv.sh 详解(二)

zkEnv.sh 脚本比较重要 重要的一些变量都可以在这里面直接进行修改配置#!/bin/sh# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements.  See the NOTICE file distribu

2016-01-29 18:40:30 5131

原创 zookeeper 脚本 zkServer.sh zkCli.sh zkCleanup.sh zkEnv.sh 详解(一)

学习使用zookeeper已经有一段时间了,在实际的生产环境下对于zookeeper自带的服务端脚本往往需要进行修改后使用,以便能更好地服从业务需求。今天来总结一下zookeeper自带脚本的功能在%Zk_HOME%/bin目录下有7个比较有用的脚本文件其中*.sh和*.cmd分别是适用于UNIX系统和Windows系统下的文件zkCleanup.sh 功能:清理zooke

2016-01-28 15:46:21 13867

转载 Java并发编程:线程池的使用

这篇文章写的很全面 对于java自带的线程池有源码和策略的分析,还有实例的展示。原博地址:http://www.cnblogs.com/dolphin0520/p/3932921.html   感谢博主的辛苦总结和分享Java并发编程:线程池的使用  在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量

2016-01-22 15:41:17 2679 1

原创 今日开通博客和大家沟通交流

之前上学的时候 ,遇到不懂的问题,经常上网上去查看别人的博客寻找答案,也确实是从博客中学到了很多东西。工作之后,遇到了很多问题,问题解决之后,总想着别人也可能会遇到同样的困惑,所有我也开通博客。一是 记录自己的工作所学二是 方便和大家沟通学习

2016-01-21 18:49:25 1788

happens-before俗解

jvm happens-before通俗讲解 jvm happens-before通俗讲解

2018-11-05

微信红包之CBA实践

微信红包实践 移动互联网海量访问系统设计 微信红包之CBA实践

2018-11-05

空空如也

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

TA关注的人

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