java线程和流

来源:互联网 发布:游淼 双截棍 知乎 编辑:程序博客网 时间:2024/06/06 12:31
1.InputStream OutputStream 字节流2.Reader Writer 字符流。一个字符是两个字节3.节点流:管道直接插在数据源上 处理流:还有别的流4.b=in.read()!=-1.没哟与读到文件结尾5.转换流 OutputStreamWriter("d://java//char.txt",true)加true不会擦掉文件中的内容,在后面添加 InputStreamReader6.数据流:DataInputStream 和DataOutputStream7.String.valueOf()转成字符串8.打印流:printstream printwriter 的输出操作不会抛异常 有自动的flush功能9.System.setOut(ps)不在命令行中输出了,设置在ps中输出10.log4j.jar日志开发包11.br.redLine()标准阻塞的方法等着命令行输入回车才读12.object流 直接写入或读出object translent int k = 15 ;透明的它修饰的成员变量不予考虑seriailizable jdk自己控制(标记性的接口:序列化接口给编译器看)把一个object直接转换成字节流或写到网络上 externalizable 外部接口 自己控制自己的序列化字节流 字符流 节点流 处理流13.线程是程序里不同的执行路径14.main方法是主线程15.进程是一个静态的概念:机器上的class文件。进程的执行指的进程中的main方法的执行16.tread 类run() 是线程体创建新线程:实现runnable接口或者继承tread类17.线程就是为了并行运行;main方法继续执行,那个线程的的run方法也同时执行18.做线程最好实现runnable接口。线程状态:创建,start()是进入就绪状态,调度进入运行状态,导致阻塞的事件,进入阻塞状态cpu是一个大厕所getPriorty()获得线程的优先级数值setPriorty()设置线程的优先级数值yield()让出cpu,给其他线程执行的机会sleep(long millis)重写的方法不能抛出与父类不同的异常19.t1.join()合并,将两个线程合并到一起执行。。先执行t1再执行t220.thead.min_priority=1 thread.max_priority=10 thread.norm_priority=520.thead.min_priority=1 thread.max_priority=10 thread.norm_priority=521.线程同步:当线程访问一块资源,这块资源归这个线程独占22.synchronized 执行这个方法的时候,当前对象被锁定锁定线程,当一个线程执行到锁,那第二线程不能打断这个线程,不能访问这个方法的语句public synchronized void 23.死锁解决办法:只锁住一个对象24.wait是object类的方法,别的线程可以访问锁定对象。儿sleep不可以sleep是thread的方法