`
java_hanyu
  • 浏览: 71482 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

core java学习笔记()

阅读更多

事件:上层  ActionEvent
            ItemEvent
     TextEvent
 
      底层 WindowEvent
    MouseEvent
    MouseWheelEvent

JCheckBox  复选框
JRadioButton 单选框
JPasswordField 密码输入框
JToggleButton 开关按钮(选中或不选)
JScrollPane 滚动条
JScrollBar 进度条(滚动条的实现)
JSlider 滑块
JComboBox 下拉菜单
JProgressBar 进度条
JButton 按钮

1、菜单
2、文件选择
3、颜色选择器


线程

C++的多进程是OS系统并发的一个任务
Java中没有多进程,一个JVM就是一个进程

线程是在进程中并发的一个顺序的执行流程

多进程:划分时间片,宏观上并行,微观上串行
多线程:cpu在进程内部再划分时间片

一个线程的三部分:CPU ,代码 ,数据

代码是做什么?,数据是对谁做操作?cpu决定何时做?

进程:进程间数据独立
线程:数据空间共享,堆空间的共享(堆空间中存放的是对象),栈空间是独立的
所以线程间切换容易,称为轻量级进程

线程与进程的区别:
1、一个进程有多个线程
2、进程的数据是独立的,线程的数据是共享的,线程中共享的数据是堆空间,栈空间是独占的
  
一个线程对象代表了一个线程,并非就是一个线程
线程是操作系统中负责维护的资源
java.lang.Thread类的一个对象就代表一个线程
线程是底层OS维护的资源,JVM跑在OS上,在JVM中创建一个Thread对象,调用其start()方法,底层OS会申请一个线程资源,线程对象可到底层管理一个线程
创建好线程之后,把要让线程执行的代码封装到线程对象中(覆盖run()方法)

只有处在运行状态的线程才能执行代码,当一个进程里的所有线程都结束进程才终止


实现线程代码的方式:
1、继承Thread 类,覆盖run()方法
   去底层申请线程并运行,对线程对象调start()方法,main方法是一个主线程
   宏观并行,微观串行
2、实现Runnable接口
  使用多态获得Runnable对象,成为目标对象
  再利用目标对象构造线程对象  Thread t = new Thread(MyThread);


四、多线程的状态转换图(7状态图)
  见另一文件,名为thread.jpg

static Thread currentThread() 返回对当前正在执行的线程对象的引用。

static void yield() 暂停当前正在执行的线程对象,并执行其他线程。
         
long getId() 返回该线程的标识符。

synchronized声明一个对象,也可以声明一个方法

用法1:声明一个对象   synchronized(对象){}
                      只有获得对象的锁标记才能进这个代码块,出代码块要释放对象的锁标记,代码块锁的是对象

    2、声明一个方法   在方法修饰符的地方加synchronized,对当前对象this加锁

分享到:
评论

相关推荐

    CoreJava学习笔记

    ### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...

    corejava学习笔记

    Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...

    Core Java 学习笔记

    《Core Java》学习笔记。 我把自己的笔记都以注释的形式写在代码里面了,这样方便理解。 尽管有些部分被标记为“已完成”,但实际上以后说不定我还会折返回来进行修改或者添加一些注释。 当然如果你有什么不理解...

    core java 学习笔记

    这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection是所有集合类的顶级接口,它定义了一些基本的操作,如添加元素(add)、获取元素数量(size)、...

    corejava学习笔记.doc

    Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。

    CoreJava学习笔记.doc

    《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...

    达内core_java学习笔记

    Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。

    达内COREJAVA学习笔记.doc

    ### 达内COREJAVA学习笔记知识点详述 #### 一、Java版本与平台概述 - **J2SE**: Java Standard Edition,即Java标准版,针对桌面应用开发。 - **JAVA SE**: 指的是Java SE 5.0,发布于2004年,增加了泛型、枚举等...

    Java学习笔记及心得

    ### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...

    达内java学习笔记全套

    【Java学习笔记全套】是针对Java编程语言的一套全面学习资料,涵盖了Unix操作系统基础、SQL数据库操作、核心Java编程、Hibernate持久化框架、以及Spring框架等多个关键知识点。这些笔记旨在帮助初学者系统地掌握Java...

    corejava的学习笔记

    ### CoreJava 学习笔记概览 #### 编译与运行 Java 程序 **编译命令**:`javac` - **基本语法**:`javac ***.java` - **命令行参数**: - `-g`:生成所有调试信息。 - `-g:none`:不生成任何调试信息。 - `-...

    我的二十一天CoreJava 学习笔记

    NULL 博文链接:https://thoughtfly.iteye.com/blog/1045791

    学习笔记 java\CoreJava笔记\CoreJava_day12

    在Java编程语言中,SortedSet接口是Set接口的一个子接口,它添加了对集合元素排序的能力。SortedSet接口要求其实现类必须维护元素的排序顺序,这种顺序可以是元素的自然顺序(即元素自身可比较),也可以是通过提供...

    java笔记(精华集锦)

    本压缩包中的"CoreJava学习笔记.txt"文件是Java核心概念的精华集锦,对于任何想要深入学习Java的人都是宝贵的资源。 首先,Java的基础部分包括语法、数据类型、变量、运算符以及控制流程。Java有两大类数据类型:...

    Java/JavaEE 学习笔记

    Core Java学习笔记...........31 第一章 JAVA前言..31 第二章 标识符,关键字,类型........35 第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第...

    java学习笔记(corejava)部分.rar

    这份"java学习笔记(corejava)部分.rar"文件很显然是针对Java初学者或者希望巩固基础知识的开发者准备的。下面我们将深入探讨Java Core的一些关键知识点。 1. **Java基础**:Java是一种面向对象的编程语言,其设计...

    学习笔记 java\CoreJava笔记\CoreJava_day11

    CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...

Global site tag (gtag.js) - Google Analytics