自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发编程<五>并发处理之synchronized

序言-几个基本概念 在本系列中第四篇文章中已经讲述了并发产生的不可控结果,和结果不可控的根本原因。现在来说说Java所提供的并发处理方式之一的synchronized关键字。学习synchronized关键字之前,我们需要了解一下一下几个概念。 临界资源 多个线程共同访问的资源我们称之为临界资源。对象锁 synchronized引入了锁的概念,每个对象都有一个锁标记,我们称其为对象

2017-11-13 10:45:39 249

原创 并发编程<四>并发不可预期结果的根本原因

提出问题 说到并发,我们应该给自己提出下面这三个问题: 产生并发的根本原因是什么?会造成什么后果?怎么去控制,处理并发达到我们预期的结果。 提出这三个问题之后,我们慢慢来看看一下几个知识点,这三问题自然迎刃而解。解答上面3个问题之前,我们需要对JVM的内存模型有所了解,在《JVM内存模型》一文中已经将JVM内存模型讲的很清楚了,对JVM内存模型不了解的同学可以先去看看,然后继续本文。

2017-11-09 15:06:51 424

原创 JVM内存模型

之前看了很多JVM相关的文章,资料,写了一篇JVM内存相关的文章,现在回过头来,发现理解又不一样了,故而删除了之前的文章,现在完全根据自己的理解写下本文,JVM相关的文章已经太多了,写得都很好,也都大同小异,这儿权当是给自己梳理一下脑中的乱流了! JVM从大的方向来说将内存分为6个部分:java堆,方法区,虚拟机栈,本地方法栈,程序计数器,直接内存。对于我目前接触的领域跟我目前的开发功底来说,需

2017-11-09 14:23:41 252

原创 并发编程<三>线程实现方式Thread,Runnable

Thread,Runnable的区别 我们创建线程的方式一般来说有两种,首先我们来看看两种启动线程方式的具体实现。 第一种继承Thread类,实现run方法,最后调用start方法启动线程。第二种实现Runnable接口,实现run方法,然后调用Thread的有参构造方法,将Runnable的子类对象作为构造方法的参数创建一个Thread对象,最后调用start方法启动线程。 从

2017-11-08 15:58:21 221

原创 并发编程<一>线程5大状态切换时机分析及sleep,join,wait,notify,notifyAll,yield剖析

线程5大状态分析 上图是线程从创建到消亡的一个切换过程。下面我们简单类分析每一个状态。 新建状态:新建状态具体是指调用new Thread()创建出线程对象,但是还没有调用start方法的这段时间。前面的一篇文章《Java虚拟机剖析之内存区域,内存的溢出,泄漏》一文中有说到,每一个线程都会有自己的私有内存区域。处于新建状态下的线程,此时还未分配系统资源,也即是还没有分配到私有内

2017-11-08 11:05:30 991

原创 并发编程<二>线程中断和线程中断标志

线程中断,interrupt方法   先看代码和输出结果  子线程代码: package com.example; /** * Created by PICO-USER on 2017/11/6. */ public class ThreadA extends Thread { @Override public void run() { su

2017-11-06 15:53:12 772

SqlHelper.java

用于操作据库的一个工具类,可以用于连接数据库,查询数据库等等数据库的操作。

2015-05-28

空空如也

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

TA关注的人

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