5月7号广州尚学堂部分笔记

标准输入流和标准输出流

标准输入流:源数据源是标准输入设备(键盘、鼠标、触摸屏、画板)等输入设备;以前外设比较少,基本就是键盘鼠标。通过标准输入设备输入到内存中的数据流

标准输出流:数据目的地是标准输出设备(一般来说是显示器,电脑啊手机啊手表啊,只要能显示东西的)等输出设备。简单来说,就是经过验算之后,把东西显示出来

System:

不能实例化,不能实例化等于方法都是静态方法,同时没有提供构造方法。不能new。在system类提供的设施中,有标准输入、标准输出流,对外部定义的属性和环境变量的访问,加载文件和库的方法,还有快速复制数组的一部分实用方法。

标准输入流:in

在java中用system.in得到一个字节输入流inputstream字节输入流。

从键盘输入一个字符的例子:

      InputStream in = System.in;

      int c = in.read();

      System.out.println((char)c);

从键盘输入一句话的例子:

  InputStream in = System.in;

  byte[] buf = new byte[1024];

  int len;

  len = in.read(buf);

  String ste = new String (buf,0,len);

  System.out.println(str);

  System.out.println();

标准输出流:out

在java中使用system.out得到一个printstream字节输出流(字节打印流)。提供了更强大的

print

println

打印方法用于打印各种数据类型。

Serializable:

类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化,并抛出异常

Serializable接口没有方法或字段,仅用于标识可序列化的语义

序列化对象:

ObjectOutputStream 继承于OutputStream,专门用于把对象序列化到本地。提供了

writeXXX

writeObject() 用于写入一个对象

反序列化对象:

ObjectInputStream 继承于InputStream ,专门用于把本地持久化内容反序列化到内存,提供了

readXXX

readObject() 用于读取一个序列化内容并返回一个对象。

序列化版本:

当序列化完成后,后期升级程序中的类(Student),此时再反序列化时会出现异常。

异常原因:序列化流的serialVersionUID和升级后类的版本不匹配。

解决方案:给Student类加序列化版本号,有两种方式

default serial version ID 生成默认的serial version ID 一般值都是1L。

generated serial version ID 根据当前类的属性、方法生成一个唯一ID。

开发过程中,如果想忽略某些字段不让其序列化时,可以使用transient修饰。

DataInputStream/DataOutputStream:

DataOutputStream 继承OutputStream,专门用于把基本java数据类型写入输出流。提供了writeXXX 写入基本java数据类型。

DataInputStream 继承于InputStream,允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。

DataInputStream/DataOutputStream 特别适合读取/写入在网络传输过程中的数据流。

以什么顺序写入基本java数据类型,就以什么顺序读取基本java数据类型。

      多线程的概念:

程序和进程:

程序就是一堆静态的代码,存储在硬盘上。程序如果不运行,本质就是一个文件。

程序一次运行产生进程,进程一直向前运行,直到进程结束。

之前是单任务操作系统:一段时间只能运行一个程序或者任务,CPU利用率非常低

然后引进进程的概念:把程序中一次运行产生的进程(内存空间、资源、程序的执行堆栈)

进程作为操作系统分配资源的基本单位。

多任务操作系统:一台电脑就一个CPU,多个任务轮流使用CPU,从宏观上看,一段时间多个任务正在运行,从微观看,一个时间点只有一个任务在运行,就你用一下,马上转到下一个,然后马上再转下下一个,再下下下一个,很快的

CPU时间片:

多个进程通过CPU时间篇轮转实现多任务(进程)、把这种现象叫做并发操作

并行:多个CPU运行各自的进程

线程的引入是解决实时性问题

多线程实现:

Thread 类位于java.lang中,表示进程中的执行线程。实现多线程有两种方式

[1] 继承Thread

main线程和t1线程抢占CPU 执行。多线程在提高CPU利用率的同时,增加程序的复杂度。

[2]实现Runnable接口

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,369评论 0 4
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,046评论 0 4
  • Java知识点1、==和equals的区别基本类型比较==比较内容 equals比较地址值引用类型比较==比较地址...
    压抑的内心阅读 588评论 0 0
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,504评论 3 93
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 1,345评论 0 10