- 浏览: 953913 次
- 性别:
- 来自: 魔都
文章分类
- 全部博客 (745)
- MultiThread (19)
- My Plan (118)
- JavaBasic (61)
- MyInterview (104)
- InternetTechnique (5)
- ProjectConclusion (1)
- Maven (5)
- MogoDb (5)
- Hadoop (11)
- Memcached (6)
- TechniqueCollect (1)
- Ibaits (1)
- Android (34)
- ItLife (40)
- Tree (2)
- ProjectArchitect (7)
- Open Source (3)
- liunx (5)
- socket (8)
- Spring (27)
- DesginPattern (35)
- WebBasic (13)
- English (13)
- structs (1)
- structs2 (2)
- Oracle (17)
- Hibernate (2)
- JavaScript (4)
- Jdbc (1)
- Jvm (15)
- Ibatis (1)
- DataStructures (13)
- Https/Socket/Tcp/Ip (3)
- Linux (4)
- Webservice (7)
- Io (2)
- Svn (1)
- Css (1)
- Ajax (1)
- ExtJs (1)
- UML (2)
- DataBase (6)
- BankTechnique (3)
- SpringMvc (3)
- Nio (3)
- Load Balancing/Cluster (3)
- Tools (1)
- javaPerformanceOptimization (8)
- Lucene(SEO) (1)
- My Think (80)
- NodeJs (1)
- Quartz (1)
- Distributed-java (1)
- MySql (7)
- Project (4)
- junit (4)
- framework (1)
- enCache (1)
- git (2)
- SCJP (1)
- sd (1)
最新评论
-
lkjxshi:
你都这水平了还考这个证干嘛
SCJP 认证考试指南 -
钟逸华:
问的真多
百度java开发面试题(转) -
zuimeitulip:
觉得我就是这样的,从小阅读量就很少,导致现在的读的速度非常慢, ...
让读书成为一种习惯 -
DDT_123456:
我觉得你是不符合要求。问你hashmap的那个问题,你那样回答 ...
阿里面试2(转) -
jingjing0907:
刚刚写了很多读过此博客的感受,竟然没有发上去,以为我注册账号还 ...
让读书成为一种习惯
--------------------------------- Java多线程与并发库高级应用
------------------------------------------- 1.传统线程机制的回顾
1.多个线程对同一个数据进行操作(加synchronized()),要线程同步,静态方法只有跟字节码关联,类的字节码是万能的,字节码只有一份 1.线程同步的方法
public void output(String name){ int len = name.length(); synchronized
(Outputer.class) { for(int i=0;i queue = new ArrayBlockingQueue(1); //信号灯 final
Semaphore semaphore = new Semaphore(1); final SynchronousQueue queue = new
SynchronousQueue(); //操作集合的存取时,用CopyOnWriteArrayList,可以获取condition,lock private
CopyOnWriteArrayList keys = new CopyOnWriteArrayList(); 1.
总之,要同步互斥的几段代码最好是分别放在几个独立的方法中,这些方法再放在同一个类中,这样比较容易实现它们之间的同步互斥和通信 *
面试题需求:设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序 * 根据题目要求,很明显要用到线程同步(synchronized)
* 用到的知识点,同步synchronized()方法, 外部类调用内部类的方法 * ThreadTest1 tt=new ThreadTest1(); Inc
inc= tt.new Inc(); * Thread t=new Thread(inc); //传一个runnable对象inc 进去
1.内部类特点:1.内部类中不允许定义静态变量2.在内部类中访问外部类中与内部类同名的实例变量用外部类名.this.变量名
3.如果内部类中没有与外部类同名的变量,则可以直接用变量名访问外部类变量 4.可以访问外部类的局部变量(即方法内的变量),但是变量必须是final的
condition 阻塞队列 队列:先进先出 blockingQueueTest.java 阻塞队列 成员变量只有创建类的实例才赋值
静态代码块只有在类加载的时候执行,只会执行一次 匿名构造方法有几个构造方法就调用几次 死锁:都堵住了,方法不能执行 内部类可以访问外部类的对象
线程互斥一定是同一个对象 外部类怎样调用类部类的方法 AtomicInteger 任何线程死了,怎样再启动
多态::“一个接口,多种实现”,就是同一种事物表现出的多种形态。 ReadWriteLock ReentrantReadWriteLock Condition
线程的同步,安全,什么时候用线程异步 同步的数据是安全的还是不安全的 concurrent ExecutorService 线程池
数组就是连续的一段内存,列表不是一段连续的内存 如果线程被多个应用访问,用ConcurrentHashMap 要实现同步(synhronized)
接受的对象(监视器对象必须是同一个,即传入的对象(this)) 同步即互斥,进了这里,就不能进那里 Clooections
--->synchronizedMap --->map 的线程同步 Collections.synchronizedMap(null) HashSet
与HashMap 有什么联系 HashSet 内部使用的是hashMap实现 只是用hashMap key,没有value 使用new Runnable
更面向对象 Runnable 表示一个对象,Runnable表示代表任务的那个对象 Test 同步队列 编译器把代码翻译成字节码 编译器优化 String a
=new String("a"); a与b不是同一个对象 String b=new String("a"); a="1"+""; b="1"+"";
a与b是同一个对象 只有满足synchronize(this) 这个this代表的对象是同一个是才互斥,否则不互斥 也就是不是线程同步
迭代的过程中不能对集合进行操作 用CopyOnWriterArrayList可以解决迭代过程中不能对集合进行 操作的问题
java5线程并发库里面的CopyOnWriterArrayList
发表评论
-
子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
2013-04-15 14:00 1271public class ThreadTest { ... -
java并发包(java.util.concurrent)
2013-03-26 23:46 2020java并发包(java.util.concurrent) ... -
java 死锁及解决
2013-03-19 22:54 960url:http://leowzy.iteye.com/bl ... -
断点续传的原理
2013-03-08 12:32 1172url:http://www.cnblogs.com/Kil ... -
《java并发编程实践》读书笔记
2012-08-21 23:07 1006文章链接:http://www.iteye.com/blogs ... -
ThreadLocal详解
2012-06-27 23:47 961文章链接: http://www.iteye.com/top ... -
多线程并发(java编程思想笔记)
2012-06-25 23:50 24611.Executor,java.util.concurr ... -
多线程例题(空中网)
2012-06-17 19:16 1025文章链接:http://blog.csdn ... -
ArrayBlockingQueue(阻塞队列)
2012-06-17 19:00 1570package cn.itcast.day3.thread; ... -
多线程笔记(黑马)
2012-06-17 18:59 10241.多线程范围内间的线 ... -
设计缓冲系统(多线程)
2012-06-17 18:57 1050package cn.itcast.day3.thread; ... -
多线程断点续传下载
2012-06-05 20:58 1793package cn.itcast.net.downlo ... -
java多线程断点续传
2012-06-05 10:00 1349在android下面的断点 ... -
多线程高新(黑马程序员)
2012-03-30 16:23 1234------------------------------- ... -
生产者/消费者JAVA多线程
2012-03-28 09:58 1059文章链接:http://blog.csdn.net/bnuch ... -
主线程跟子线程怎么通讯 java
2012-03-17 19:24 4629学到多线程,编了一个简单地电脑城进出货模拟系统。 代码有点长 ... -
主线程与子线程之间通讯, 子线程与子线程之间的通讯 Java
2012-03-17 19:19 5374线程之间的通讯可以有两种方法. 一.利用全局变量. 大家都可 ... -
理解多线程
2011-09-27 17:40 871一、理解多线程 多 ...
相关推荐
黑马+传智 Java入门到精通视频教程+课件+代码,30套Java开发项目代码,Java多线程与并发库高级应用视频教程,及电子书,面试题,开发工具等
根据提供的文件信息,我们可以推断出这是一本...以上内容是根据《Java 基础入门(传智播客)》可能包含的核心知识点进行的总结与扩展。对于初学者而言,掌握这些基本概念和技术将为后续深入学习Java打下坚实的基础。
Java编程语言作为一款广泛应用的面向对象的编程语言,其学习资源丰富多样,其中"传智播客2015年JAVA基础班视频教程(全套)"便是为初学者提供的一套系统化的学习材料。这套教程出自传智播客,一个在IT教育领域具有较...
本资料《Java基础入门_传智播客.pdf》是针对初学者精心编写的教程,旨在帮助读者快速掌握Java编程的基础知识。 首先,Java的基础部分包括语法结构、数据类型和变量。Java有两大类数据类型:基本数据类型(如整型、...
9. **多线程**:Java内置了对多线程的支持,通过Thread类或实现Runnable接口可以创建并运行多个线程,实现并发执行。 10. **网络编程**:Java提供了丰富的API用于网络编程,如Socket和ServerSocket类,可以构建...
Java支持多线程编程,通过Thread类和Runnable接口实现。线程同步是避免数据竞争的关键,包括synchronized关键字、wait()、notify()和notifyAll()方法,以及Lock接口和相关的并发工具类。 6. **集合框架**: 集合...
4. **多线程**:线程的创建与同步,死锁、活锁、阻塞队列等并发编程概念。 5. **I/O流**:文件操作、网络通信,了解字节流、字符流、对象流。 6. **Java EE**:Servlet、JSP、MVC模式、Spring框架、MyBatis等企业级...
6. **多线程**:Java支持多线程编程,这部分会讲述线程的创建与管理、同步机制(如synchronized关键字、wait/notify机制)、线程池等,这对于编写高效并发程序至关重要。 7. **IO(Input/Output)**:Java的IO流...
- **多线程**:了解线程的概念,同步与互斥,线程池的使用。 - **反射机制**:动态获取类信息,创建对象,调用方法。 - **设计模式**:如单例、工厂、观察者、装饰器等,提升代码复用性和可维护性。 3. **Java ...
"Java经典面试题 传智播客"是一份专为Java初级程序员准备的面试资源,旨在帮助求职者掌握必要的Java基础知识,以便在面试中表现出色。这份资料可能涵盖了Java语法基础、面向对象编程、异常处理、集合框架、多线程、I...
毕向东,作为知名IT教育机构传智播客的讲师,他的JavaSE课程深受初学者欢迎,旨在帮助学习者掌握Java编程语言的基础知识,为进阶开发打下坚实基础。 在"传智播客毕向东JavaSE课件"中,我们可以期待涵盖以下几个核心...
- 解释线程同步的概念,讨论synchronized关键字的使用、锁的升级机制(从偏向锁到重量级锁)以及其在多线程中的作用。 - 讨论Java并发工具类,如ConcurrentHashMap、ThreadPoolExecutor、CountDownLatch、...
6. **线程编程**:多线程的概念,线程的创建与同步,以及并发编程中的各种工具类。 7. **网络编程**:套接字编程,客户端/服务器模型,以及HTTP协议的基础知识。 8. **反射机制**:在运行时动态获取类的信息和调用...
传智播客是一家知名的教育机构,提供各种IT技术的培训课程,包括Java。这篇学习笔记系列结合了Java的基础知识和进阶概念,旨在帮助学习者系统地理解和掌握Java编程。 1. **Java基础** - **变量与数据类型**:Java...
12. **多线程**:Java提供了Thread类和Runnable接口来支持多线程编程,可以实现并发执行任务,提升程序性能。 13. **反射**:反射机制允许程序在运行时动态获取类的信息并操作类的对象,增强了程序的灵活性。 14. ...
根据给定的文件信息,以下是对“传智播客Java_SE基础毕向东老师全程笔记”的详细知识点总结: ### 第一章:编程基础 1. **Java的特性和优势**: - **简单性**:Java设计简洁,易于理解和学习。 - **面向对象**:...
- 《Java5_多线程》 - 《Java3_异常处理》 - 《Java2_数据结构》 - 《Java1_基础知识》 - **学习目标**:这些课程旨在帮助学生理解Java语言的核心概念,包括类和对象、异常处理、数据结构以及并发编程等内容。 ...
13. **多线程**:Java内置对多线程的支持,通过创建Thread对象或实现Runnable接口,可以实现并发执行。 14. **枚举(enum)**:Java 5引入的新特性,用于创建一组固定的常量。 15. **注释**:单行注释(//)、多行...
6. **多线程**:Java提供了内置的多线程支持,学习线程的创建、同步、互斥以及并发控制策略是提升程序性能的关键。 7. **反射机制**:Java反射允许在运行时检查类、接口、字段和方法的信息,是实现动态代理、插件化...
多线程则是并发编程的基础,包括Thread类、Runnable接口以及同步机制(synchronized关键字、wait/notify等)。 【JavaScript部分】 JavaScript作为前端开发的主要语言,其三道题目可能覆盖了DOM操作、BOM处理、...