package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * [进程]:正在运行的程序,系统进行资源分配和调用的独立单位 * 每一个进程有自己的内存空间和系统资源 * * 主流操作系统均为多任务操作系统,可以同时执行多个应用程序 * 以Window为例,通过任务管理器可以看到进程中多个正在运行的程序,即系统的多个进程 * * 多任务操作系统表面上看起来支持多进程并发执行,例…
一.简介(过段时间再写,多线程难度有点大) --------------------------------------- 1.进程:运行时的概念,运行的应用程序 2.线程:应用程序内部并发执行的代码段 3.线程的创建方式一:(1)继承java.lang.Thread类,子类覆盖父类中的run()方法,将线程运行的代码存放在run()方法中.(2)建立子类对象的同时线程也被创建.(3)通过start()方法开启线程 yield:放弃,礼让,谦逊     join:加入,等待 4.Thread线程…
Java内部提供了针对多线程的支持,线程是CPU执行的最小单位,在多核CPU中使用多线程,能够做到多个任务并行执行,提高效率. 使用多线程的方法 创建Thread类的子类,并重写run方法,在需要启动线程的时候调用类的start() 方法,每一个子类对象只能调用一次start()方法,如果需要启动多个线程执行同一个任务就需要创建多个线程对象 实现Runnable 接口并重写run 方法,传入这个接口的实现类构造一个Thread类,然后调用Thread类的start方法 实现Callable 接口…
多线程编程 程序: 进程:一个程序运行就会产生一个进程 线程:进程的执行流程,一个进程至少有一个线程,称为主线程 如:QQ聊着天,同时在听音乐 一个进程可以有多个线程,多个线程共享同一个进程的资源 线程类:Tread 多线程编程: 方式一:继承Thread (1) 定义一个类继承Thread (2) 重写run方法 方法中写新的线程中要执行的代码 (3) 创建这个类对象,启动线程 方式二:实现Runnable接口 (1) 定义一个类,实现Runnable接口 (2) 实现run方法 方法中写新的…
Java中线程的五种状态: 新建状态(New) 就绪状态(Runnable) 运行状态(Running) 阻塞状态(Blocked) 凋亡状态(Dead) 其中阻塞状态(Blocked)又分为三种: 等待阻塞:运行状态中的线程执行wait( )方法,使本线程进入到等待阻塞状态 同步阻塞:线程在获取synchronized同步锁失败(因为锁被其他线程占用),会进入同步阻塞 其他阻塞:通过调用线程的sleep( )或join( )或发出了I/O请求时,线程会进入到阻塞状态.当sleep( )状态超时…
与线程生命周期相关的方法: sleep 调用sleep方法会进入计时等待状态,等待时间到了,进入就绪状态. yield 调用yield方法会让别的线程执行,但是不确保真正让出.较少使用,官方注释都说 It is rarely appropriate to use this method join 调用join方法,会等待该线程执行完毕后才执行别的线程. interrupt 之前有stop方法可以中断线程,但是已经过时了.现在没有强制线程终止的方法.interrupt用来请求终止线程.(博客中的内…
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码).Java使用线程执行体来代表这段程序流.   继承Thread类创建线程类 通过继承Thread类来创建并启动多线程的步骤如下. 1.定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务.因此把run()方法称为线程执行体. 2.创建Tread子类的实例,即创建了线程对象. 3.…
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行的代码 继承java.lang.Thread创建线程 public class Test1 { public static void main(String[] args){ System.out.println("现在是主线程: "+Thread.currentThread()); //…
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条线程访问,一条线程在执行一个循环的过程中被中断,下一个线程则出现错误 因此,线程任务中可能引起错误的地方应当被一次执行完毕 同步代码块 用同步代码块改写上面的代码 package testpack; public class Test1 { public static void main(Strin…
目录 Java:多线程概述与创建方式 进程和线程 并发与并行 多线程的优势 线程的创建和启动 继承Thread类 start()和run() 实现Runnable接口 实现Callable接口 创建方式的区别 Java:多线程概述与创建方式 在之前的学习过程中,已经不止一次地提到了并发啊,线程啊,同步异步的内容,但是出于内容的局部一体,之前总是几笔带过,并附上:以后学习的时候再细说. 那么,现在到了细说的时候,在翻阅并参考了介绍Java并发编程的书之后,突然感觉压力有些大,因为有些概念确实比较抽…
Java多线程——线程的创建方式 摘要:本文主要学习了线程的创建方式,线程的常用属性和方法,以及线程的几个基本状态. 部分内容来自以下博客: https://www.cnblogs.com/dolphin0520/p/3913517.html https://www.cnblogs.com/trust-freedom/p/6606594.html 线程的创建 Thread类和Runnable接口 Thread类实现了Runnable接口,实现了Runnable接口里的run()方法. 事实上,查…
孙鑫VC学习笔记:多线程编程 SkySeraph Dec 11st 2010  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modified Date:Dec.11st 2010 HQU ================================================================================= 程序&进程&线程 ================================…
20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一章内容相对有很多,所以效率是一件很重要的事情. 第十章 输入与输出 Java将输入输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 比喻来说,数据就好比水,串流就好比水管,通过水管的衔接,水由一端流向另一端 如果想要将数据从来源取出,可以使用输入串流. 如果想要将数据写入目的地,可以使用输出串流.…
java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-stu…
java学习笔记系列: java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note9.html,转载请注明源地址. java内部类分为:…
Java学习笔记之---API的应用 (一)Object类 java.lang.Object 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法 常用方法 1.equals(Object obj) 指示其他某个对象是否与此对象“相等”. 2.hashCode() 返回该对象的哈希码值 3.toString() 返回该对象的字符串表示 4.getClass() 返回此 Object 的运行时类 实例 public class bbb…
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多态 第七章 接口与多态 第八章 异常处理 第九章 Collection与Map 第十章 输入/输出 第十一章 线程与并行API 第十二章 Lambda 第十三章 时间与日期 第十四章 NIO与NIO2 第十五章 通用API 第十六章 整合数据库 第十七章 反射与类加载器 第十八章 自定义类型.枚举 补充:Ja…
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note14.html,转载请注明源地址. 多线程编程基础 多进程 一个独立程序的每一次运行称为一个进程,例如:用字处理软件编辑文稿时,同时打开mp3播放程序听音乐,这两个独立的程序在同时运行,称为两个进程 进程要占用相当一部分处理器时间和内存资源 进程具有独立的内存空间 通信很不方便,编程模型比较复杂 多线程 一个程序中多段代码同时并发执行,称为多线程,线程比进程开销小,协作和数据交换容易…
接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note6.html,转载请注明源地址. 1.类的继承 一种由已有的类创建新类的机制,是面向对象程序设计的基石之一.通过继承,可以根据已有类来定义新类,新类拥有已有类的所有…
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹配JVM对载入编译文件格式要求,任何语言都可以交由JVM运行,比如Scala.Groovy.Fantom等,见Java虚拟机维基百科 JVM虚拟机除了Sun开发的HotSpot外,还有BEA.IBM.微软.等公司都有开发.见<深入理解Java虚拟机(第二版)> 查看自己用的JVM:cmd->…
20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.catch语法,JVM尝试执行try区块中的程序代码.如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的类型,是否符合被抛出的错误对象类型,如果是,就执行catch区块的程序代码. 范例如下: import java.util.*; public class Average { public…
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数的构造函数 如果在类中定义了构造函数,那么类中的默认构造函数就没有了 构造函数在创建对象时调用 构造函数也有默认的return语句(省略不写) 函数执行到return语句后,栈中该函数的方法区就会出栈 如: class Person{ private…
Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习Android开发做些准备. Java和C++的语法有很多类似之处,学习中重点关注的是差异部分.   数据类型 Java支持的基本数据类型有: 1) 整数:byte/short/int/long 2) 浮点:float/double 3) 字符:char 4) 布尔:boolean   除此之外,通过类…
很多与AWT类似. 事件处理参考:Java学习笔记--AWT事件处理 1.设计模式: 模型:存储内容视图:显示内容控制器:处理用户输入· 2. 文本输入常用组件 2.1 文本域: JLabel labelname = new JLabel("username");JTextArea textname = new JTextArea(1,40);//参数也可以为("默认字符",行,列);JPanel panel = new JPanel();panel.add(lab…
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库. ③.JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种…
在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者…
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理设备之间的数据传输,对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中 输入/输出流可以从以下几个方面进行分类 从流的方向划分: 输入流.输出流 从流的分工划分: 节点流.处理流 从流的内容划分: 面向字符的流.面向字节的流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对…
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note15.html,转载请注明源地址. 线程的生命周期 1.线程的生命周期 线程从产生到消亡的过程 一个线程在任何时刻都处于某种线程状态(thread state) 线程生命周期状态图 诞生状态 线程刚刚被创建 就绪状态 线程的 start 方法已被执行 线程已准备好运行 运行状态 处理机分配给了线程,线程正在运行 阻塞状态(Blocked) 在线程发出输入/输出请求且必须等待其返回 遇到…
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的. 这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制. Java 反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类. 在运行时构造任意一…
java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载…