A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

第14天【学习进度】:今天看了多线程的前半部分,明天看完下集
第14天【心得总结】:多线程:
        进程:是一个正在执行中的程序。
        每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。

        线程:就是进程中的一个独立的控制单元。
                 线程在控制着进程的执行。

                 一个进程至少有一个线程。
        Java VM启动的时候会有一个进程java.exe
        该进程中至少有一个线程负责java程序的执行。
        而且这个线程运行的代码存在于main方法中。
        该线程称之为主线程。

        扩展:其实jvm启动不止一个线程,还有负责垃圾回收机制的线程。
         
         自定义线程:继承Thread类。

         通过对API的查找,java已经提供了对线程这类事物的描述,继承Thread类,覆盖run方法
         
         步骤:

         1.定义类继承Thread
         2.复写Thread类中的run方法
                目的:将自定义的代码存储在run方法中,让线程运行。
         3.调用线程的start方法。
         该方法有两个作用:启动线程,调用run方法

         发现运行结果每一次都不同。
         因为多个线程都获取cpu的执行权。cpu执行到谁,谁就运行。
         明确一点,在某一个时刻,只能有一个程序在运行(多核除外)
         cpu在做着快速的切换,以达到看上去是同时运行的效果。

         这就是多线程的一个特性:随机性,谁抢到谁执行,至于执行多长,cpu说的算。


         4.为什么要覆盖run方法呢?
                Thread类中的run方法,用于存储线程要运行的代码。
        5. 线程有自己默认的名称(可通过this.getname()获得):Thread-编号,该编号从0开始。
        static Thread currentThread():获取当前线程名称

        设置线程名称:setName或者构造函数。

评分

参与人数 1黑马币 +12 收起 理由
黄玉昆 + 12

查看全部评分

回复 使用道具 举报
第14天【学习进度】:找了些关于重载、继承和接口的题目练习。学习了包和线程的一部分知识。
第14天【心得总结】:线程有两种创建方式,一种是继承Thread类,一种是实现Runnable接口。
回复 使用道具 举报
第14天
【学习进度】:仍然是第6天的内容,快结束了,加油!
【学习总结】:静态代码块随着类的加载而加载,并且只加载一次,格式为:static{},StaticDemo c=null,此时只有定义变量,并没有具体的对象引用。静态代码块格式是static{},类加载时只加载一次,构造代码块的格式是{},类构造时对该类的初始化,初始化内容所有类对象共享,构造函数的格式是类名(){},类构造时对该类相应构造对象的初始化,初始化内容只对应相应的构造对象。同时体会了对象初始化过程和对象调用成员过程,理解更深刻。
回复 使用道具 举报
陈志强 来自手机 中级黑马 2013-3-18 08:34:53
604#
第15天,学习进度,泛型,JDK1.5版本以后出现的新特性,用于解决安全问题,是个类型安全机制,将运行出现的问题转移到了编译时期,方便程序员解决问题,让运行时期问题减少,更安全,同时也避免了强制转换的麻烦!
回复 使用道具 举报
第14天【学习进度】:完成集合剩余内容,IO流18,19天内容!!加油
第14天【心得总结】:先知三日,富贵十年
回复 使用道具 举报
本帖最后由 张文彬 于 2013-3-18 13:17 编辑

我已连续总结16天,时间为:3月3日~3月18日!!  楼层: 101,152,183,212,    249,290,343,373,      424,465,501,538,     562 ,587,604,621

第16天:正在做入学测试,有些题还得看视频回顾,发现自己还差好多,而且自己不爱加注释的毛病正在渐渐改善!加油!  621
回复 使用道具 举报
第8天【学习进度】:http://blog.csdn.net/heshiyingx/article/details/8683093
回复 使用道具 举报
本帖最后由 王福生 于 2013-3-19 21:27 编辑

第15天【学习进度】 :第16天视频,Map集合。。。
第15天【心得总结】:Map接口中每一个元素不是一个对象,而是一个键对象和值对象组成的键值对(Key-Value)。
                    Key-Value是用一个不可重复的key集合对应可重复的value集合。
回复 使用道具 举报
本帖最后由 徐鸿燕 于 2013-3-18 21:10 编辑

1、第12天【学习进度】:线程间通信、解决安全问题、等待唤醒机制、代码优化、生产者消费(练习)、生产消费者升级版(JDK1.5版本开始之后)。
              【心得总结】:学到这里终于才感觉是跨出了Java语言的基础,在向Java高级编程方向迈进。
              【 总结的文章链接 】 :http://blog.csdn.net/yi_remember/article/details/8686907

楼层:(314)(339)(378)(428)(473)(514)(547)
          (573)(593)(610)(624)
回复 使用道具 举报
我已连续总结16天,时间为:3月3日~3月18日!!  楼层:118,156,180,224,257,309, 347,377,435,491,525,555,577,596,614

第16天【学习进度】:毕老师视频19天,继续IO流
第16天【总结】:今天继续IO流,又学多了两个类,BufferedWriter和BufferedReader,这两个对象其实就是一个缓冲区,他们的出现是为了提高流操作的效率,他们在创建的时候都要传就去一个流对象,
BufferedWriter:它的write()方法可以向本地磁盘文件写入数据
BufferedReader:它的read()方法可以向本地磁盘文件读取进来,它还提供了一个readLine()方法可以读取文件的一行
回复 使用道具 举报
1、第3天【学习进度】:今天学习了第一阶段:Java初级(8-15天)第8天的视频学习
2、第3天【心得总结】:今天学习了接口、多态。平时对这些知识都是听说了解,现在深入学习了感觉有一种从迷雾中走出来的感觉。这一两天的学习的java基础感觉都挺重要,速度有所降下来了,但质量提高了,我还是挺欣慰的。
回复 使用道具 举报
第11天【学习进度】:今天复习集合框架,明天继续。
第11天【心得总结】:Collection定义了集合框架的共性功能。1,添加add(e);addAll(collection);2,删除
remove(e);removeAll(collection);clear();3,判断。contains(e);isEmpty();4,获取iterator();size();5,获取交集。retainAll();6,集合变数组。toArray();
回复 使用道具 举报
本帖最后由 门文通 于 2013-3-18 22:34 编辑

1、第16天【学习进度】:今天看完了高新技术  最后的部分是关于类加载器和代理类的
2、第16天【心得总结】:额  看的有点糙  不太懂   要多看几遍才行
3、第16天【 总结的文章链接 】 :http://ximenyique.blog.163.com/blog/static/37707126201321853535344/
    类加载器的一个示例总结



好吧  加技术分的奖励已经没有了   不过总结一下也是好的  
回复 使用道具 举报
第15天
【学习进度】:今天终于结束第6天的内容了,明天开始第7天的,加油!
【心得总结】:单例设计模式有两种,一种是饿汉式,它是Single类一加载就创建好了对象,一种是懒汉式,Single类加载后还没有创建对象,只当调用getInstance方法时对象才被创建。开发中多常用饿汉式,代码少并且线程安全,懒汉式线程不安全,需要加上线程锁进行优化,相应代码优化后比较复杂。自己初步了解了设计模式思想,听了老师讲的内容知道以后也许自己长时间的开发,对一些功能模块等等进行不断优化,最后这种最终模式就是属于设计模式,它是属于你自己的设计模式。目前只了解这个单例模式,以后有机会去了解下别的设计模式。
回复 使用道具 举报
第7次总结
传智第二天:运算符,变量,进制转换
博客地址:http://blog.csdn.net/hsb3232364/article/details/8689457
回复 使用道具 举报
第15天【学习进度】:看完了视频第11天的多线程知识。
第15天【心得总结】:同步(synchronized)可解决多线程的安全问题。同步必须是多线程,且使用同一个锁才使用。分为同步代码块和同步函数。
回复 使用道具 举报
第十四天学习进度,常见数据结构,List集合体系、泛型
回复 使用道具 举报
第十五天【学习进度】:今天看了多线程安全部分,明天复习一下,开始下阶段。
第十五天【心得总结】:多线程的运行出现了安全问题
问题愿意:
当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行
完,另一个线程参与进来执行,导致共享数据的错误。

解决办法:
        对多条操作共享数据的语句,只能让一个线程都执行,在执行过程中,
        其他线程不可以参与执行。

        java对多线程的安全问题提供了专业的解决方式。
        1.同步代码块。
        synchronized(对象)
        {
                需要被同步的代码
        }
        对象如同锁,持有锁的线程可以在同步中执行。
        没有持有锁的线程即使获取cpu的执行权,也进不去,因为没有获取锁。
        2.同步函数,在需要加锁的函数前加修饰符synchronized,
                同步函数的锁是this
3.。如果同步函数被静态修饰后,使用的锁是什么呢?
        通过验证,发现不再是this,因为静态方法中不可以定义this
         静态进内存时,内存中没有类对象,但是一定有该类对应的字节码文件对象,
         类名.class.该对象的类型是Class
        结论:静态的同步方法,使用的是锁是该方法所在类的字节码文件对象:类名.class

同步的前提:
1.必须要有两个或两个以上的线程。
2.必须是多个线程使用同一锁。

必须保证同步中只能有一个线程在执行。
好处:解决了多线程的安全问题

弊端;多个线程需要判断锁,较为消耗资源。
回复 使用道具 举报
陈志强 来自手机 中级黑马 2013-3-19 08:08:55
619#
第十六天,学习进度,集合框架工具类,collections,此类完全由在collection上进行操作或返回collection的静态方法组成,Arrays.用于操作数组的工具类,里面都是静态方法!
回复 使用道具 举报
第15天【学习进度】:今天看到张孝祥前40个视频,加油!!!
第15天【心得总结】:上帝助自助者···
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马