Welcome 微信登录

首页 / 软件开发 / JAVA

Java多线程初学者指南(4):线程的生命周期

Java多线程初学者指南(4):线程的生命周期

Java多线程初学者指南(4):线程的生命周期2010-02-01 BlogJava 银河使者与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。// 开始线程public void start( );public void run( );// 挂起和唤醒线程public void resume( ); // 不建议使用pu...
Java多线程初学者指南(5):join方法的使用

Java多线程初学者指南(5):join方法的使用

Java多线程初学者指南(5):join方法的使用2010-02-01 BlogJava 银河使者在上面的例子中多次使用到了Thread类的join方法。我想大家可能已经猜出来join方法的功能是什么了。对,join方法的功能就是使异步执行的线程变成同步执行。也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到sta...
Java多线程初学者指南(6):慎重使用volatile关键字

Java多线程初学者指南(6):慎重使用volatile关键字

Java多线程初学者指南(6):慎重使用volatile关键字2010-02-01 BlogJava 银河使者volatile关键字相信了解Java多线程的读者都很清楚它的作用。volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型。如果这些简单数据类型声明为volatile,对它们的操作就会变成原子级别的。但这有一定的限制。例如,下面的例子中的n就不是原子级别的:package mythread;public clas...
Java多线程初学者指南(7):向线程传递数据的三种方法

Java多线程初学者指南(7):向线程传递数据的三种方法

Java多线程初学者指南(7):向线程传递数据的三种方法2010-02-01 BlogJava 银河使者在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据。本文就以上原因介绍了几种用于向线程传递数据的方法...
Java多线程初学者指南(8):从线程返回数据的两种方法

Java多线程初学者指南(8):从线程返回数据的两种方法

Java多线程初学者指南(8):从线程返回数据的两种方法2010-02-01 BlogJava 银河使者从线程中返回数据和向线程传递数据类似。也可以通过类成员以及回调函数来返回数据。但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪。一、通过类变量和方法返回数据使用这种方法返回数据需要在调用start方法后才能通过类变量或方法得到数据。让我们先来看看例程2-13会得到什么结果。package mythread;public class ...
Java多线程初学者指南(9):为什么要进行数据同步

Java多线程初学者指南(9):为什么要进行数据同步

Java多线程初学者指南(9):为什么要进行数据同步2010-02-01 BlogJava 银河使者Java中的变量分为两类:局部变量和类变量。局部变量是指在方法内定义的变量,如在run方法中定义的变量。对于这些变量来说,并不存在线程之间共享的问题。因此,它们不需要进行数据同步。类变量是在类中定义的变量,作用域是整个类。这类变量可以被多个线程共享。因此,我们需要对这类变量进行数据同步。数据同步就是指在同一时间,只能由一个线程来访问被同步的类变量,当前线程访...
Java多线程初学者指南(10):使用Synchronized关键字同步类方法

Java多线程初学者指南(10):使用Synchronized关键字同步类方法

Java多线程初学者指南(10):使用Synchronized关键字同步类方法2010-02-01 BlogJava 银河使者要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步,代码如下:public synchronized void run(){}从上面的代码可以看出,只要在void和public之间加上synchronized关键字,就可以使run方法同步,也就是说,对于同一个Jav...
Java多线程初学者指南(11):使用Synchronized块同步方法

Java多线程初学者指南(11):使用Synchronized块同步方法

Java多线程初学者指南(11):使用Synchronized块同步方法2010-02-01 BlogJava 银河使者synchronized关键字有两种用法。第一种就是在《使用Synchronized关键字同步类方法》一文中所介绍的直接用在方法的定义中。另外一种就是synchronized块。我们不仅可以通过synchronized块来同步一个对象变量。也可以使用synchronized块来同步类中的静态方法和非静态方法。synchronized块的语...
Java多线程初学者指南(12):使用Synchronized块同步变量

Java多线程初学者指南(12):使用Synchronized块同步变量

Java多线程初学者指南(12):使用Synchronized块同步变量2010-02-01 BlogJava 银河使者我们可以通过synchronized块来同步特定的静态或非静态方法。要想实现这种需求必须为这些特性的方法定义一个类变量,然后将这些方法的代码用synchronized块括起来,并将这个类变量作为参数传入synchronized块。下面的代码演示了如何同步特定的类方法:001 package mythread;002003 public...
Java编程那些事儿1——序言

Java编程那些事儿1——序言

Java编程那些事儿1——序言2010-02-27 csdn博客 陈跃峰序言从大学毕业到现在,马上就六年了,这六年中从事过开发,也从事培训工作,相比而言,参加培训工作的时间要长一些。由于工作的特点,遇到了各种各样的学生,在学习编程时遇到了一系列的问题,也有很多迷茫的时候,希望通过编写本书,把相关的问题进行一下总结,把自己的经验和大家进行分享。当然由于一些知识也只是个人见解,也希望大家积极指正,帮助编程的初学者,以及程序开发人员深刻理解基础的概念,更好的学习...
Java编程那些事儿2——程序设计是什么?

Java编程那些事儿2——程序设计是什么?

Java编程那些事儿2——程序设计是什么?2010-02-27 csdn博客 陈跃峰程序设计,俗称编程,是一个比较专业的概念。初学者,甚至一部分开发人员,都不能很简单的解释这个概念,所以使初学者觉得程序设计是一件很有科技含量,或者是很高深的学科,其实这些都是误解。那么程序设计到底是什么呢?程序,其实就是把需要做的事情用程序语言描述出来。类似如作家,就是把自己头脑中的创意用文字描述出来。所以学习程序,主要就是三个问题:做什么、怎么做和如何描述,具体如下:1....
Java编程那些事儿3——你适合学习程序设计吗?

Java编程那些事儿3——你适合学习程序设计吗?

Java编程那些事儿3——你适合学习程序设计吗?2010-02-27 csdn博客 陈跃峰程序设计是一个技术活,所以不是适合所有的人。现在很多人听说程序设计人员待遇如何如何的好,都一窝蜂的来学习程序,其实这个现象很不正常,因为程序不一定适合你。其实对于一个人来说,适合你的才是最好的。就像现在很多小孩子都被家长逼着去学钢琴啊什么,有些小孩根本没有艺术细胞的,所以学习的效果就是差强人意了。其实程序设计最需要基础扎实了,现在的程序设计学习很偏重程序设计语言的学习...
Java编程那些事儿4——如何学好程序设计?

Java编程那些事儿4——如何学好程序设计?

Java编程那些事儿4——如何学好程序设计?2010-02-27 csdn博客 陈跃峰俗话说“兴趣是最好的老师”,但是只靠兴趣是远远不够的,还需要付出艰辛的努力。程序设计是一种技能,需要在较短的时间内学会,就不能像学习汉语一样,通过十几年甚至更长的时间来学好,也不能像英语那样进行业余学习,以至很多大学毕业的人英语水平也不敢恭维,也达不到实用的程度。那么如何学好程序设计呢?或者更现实一点,如何在短时间内成为一个程序员呢?在接触的学生中...
Java编程那些事儿5——程序设计介绍小结

Java编程那些事儿5——程序设计介绍小结

Java编程那些事儿5——程序设计介绍小结2010-02-27 csdn博客 陈跃峰前面简单的介绍了程序设计的相关知识,程序设计也就是用程序语言表达你自己的思维,所以重要的不是语言,而是你的思维,这个是现在程序设计教学中最大的误区,本书中将以语言和思维并重的方式来介绍Java语言,并培养你的逻辑思维。程序设计的道路不是一帆风顺的,其中布满艰辛,所以如果你打算学习程序设计,那么要做好长期吃苦的准备,俗话说:“板凳要做十年冷”,要有这样...
Java编程那些事儿6——计算机软件基本概念

Java编程那些事儿6——计算机软件基本概念

Java编程那些事儿6——计算机软件基本概念2010-02-27 csdn博客 陈跃峰第一章计算机基础本部分主要介绍计算机相关的知识,重点介绍和软件编程相关的基础知识。其实对于编程来说,计算机的基础是越多越深就越好,但是受时间和精力的限制,每个人了解的其实还是很有限,下面就主要编程中常用的基础知识,遗漏的地方请大家积极指正和补充。计算机本质的结构就是将所有的内容数据化,其实软件编程也采用的是同样的逻辑,把各种需要保存的状态数字化。1.1 计算机软件基本...
Java编程那些事儿7——进制的概念

Java编程那些事儿7——进制的概念

Java编程那些事儿7——进制的概念2010-02-27 csdn博客 陈跃峰1.2进制的概念因为不可能为每个数值都创造一个符号,所以需要用基本数字组合出复合的数值,这样就有了进制的概念。其实所有进制都是人为的创造,都是用来计数方便的。现在最常用的进制是十进制,当然其它的进制也在使用中。例如“半斤八两”这个成语,就反映了古代一斤等于十六两的概念,也就是十六进制计数方式。计算机编程中常用的进制有二进制、八进制、十进制和十六进制,十进制...
Java编程那些事儿8——计算机内部的数据表达

Java编程那些事儿8——计算机内部的数据表达

Java编程那些事儿8——计算机内部的数据表达2010-02-27 csdn博客 陈跃峰1.3 计算机内部的数据表达计算机内部数据表达的总原则就是:把一切内容数值化、数字化。这个也是编程时处理数据的基本方式,对于编程理解的越深入,则将越认同该原则。其实计算机也只能这样,因为计算机内部只能存储0和1两个数字,所以必须把指令、数据、图片、文本等各种各样的内容数字化成0和1进行存储、传输和显示。1.3.1 整数的表达整数有正负之分,但是计算机内部只能存储0和1,...
Java编程那些事儿9——网络编程基础

Java编程那些事儿9——网络编程基础

Java编程那些事儿9——网络编程基础2010-02-27 csdn博客 陈跃峰对于初学者,或者没有接触过网络编程的程序员,会觉得网络编程涉及的知识很高深,很难,其实这是一种误解,当你的语法熟悉以后,其实基本的网络编程现在已经被实现的异常简单了。1.4.1 网络编程是什么?网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。现...
Java编程那些事儿10——Java语言简介

Java编程那些事儿10——Java语言简介

Java编程那些事儿10——Java语言简介2010-02-27 csdn博客 陈跃峰Java语言现在是编程领域主流的开发语言之一,在这里就简单的介绍一下和Java语言相关的一些知识。 1.5.1 Java语言历史1991年,美国的SUN(太阳微系统)公司为了在消费类电子设备(现在称作智能家电)方面进行前沿研究,建立了以James Gosling领导的Green小组进行软件方面的研究,该小组一开始选择当时已经很成熟的C++语言进行设计和开发,但是却发现执行...
Java编程那些事儿11——JDK的安装、配置和使用

Java编程那些事儿11——JDK的安装、配置和使用

Java编程那些事儿11——JDK的安装、配置和使用2010-02-27 csdn博客 陈跃峰第二章 建立开发环境“工欲善其事,必先利其器”。进行程序开发,首先要安装开发相关的软件,并且熟悉这些工具软件的基本使用。本章介绍一下两类开发工具的使用:l基础开发工具基础开发工具是进行程序设计的基础,包含开发中需要的一些基本功能,例如编译、运行等,是其它开发工具的基础。Java语言的基本开发工具是SUN公司免费提供的JDK。实际开发中,为了...
<< 41 42 43 44 45 46 47 48 49 50 >>