随笔分类 - Java学习之路-基础篇
路漫漫其修远兮,吾将上下而求索
摘要:一、线程通信 1.wait()与notify()和notifyAll() ①wait():令当前线程挂起并放弃CPU、同步资源,使别的线程可访问并修改共享资源,而当前线程排队等候再次对资源的访问。 ②notify():唤醒正在排队等待同步资源的线程中优先级最高者结束等待。 ③notifyAll():
阅读全文
摘要:一、线程的同步 1.问题的提出: ①多个线程执行的不确定性引起执行结果的不稳定 ②多个线程对账本的共享,会造成操作的不完整性,会破坏数据 2.问题的原因: 当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来执行。导致共享数据的错误。 3.解决办法
阅读全文
摘要:一、Thread类的有关方法(1) 1.void start()::启动线程,并执行对象的run()方法 2.run():线程在被调度时执行的操作 3.String getName():返回线程的名称 4.void setName(String name):设置该线程名称 5.static curr
阅读全文
摘要:一、基本概念:程序-进程-线程 1.程序(program)是为完成特定任务、用某种语言编写的一组指定的结合。即指一段静态的代码,静态对象。 2.进程(process)是程序的一次执行过程,或是正在进行的一个程序。 动态过程:由它自身的产生、存在和消亡的过程。 ①如:运行中的qq,运行中的播放器 ②程
阅读全文
摘要:一、Java动态代理 1.Proxy:专门完成代理的操作类,是所有动态代理类的父类。通过此类为一个或多个接口动态的生成实现类。 2.创建一个动态代理类所对应的Class对象: static Object newProxyinstance(ClassLoader,Class<?>[] Interfac
阅读全文
摘要:一、反射机制调用指定方法 通过反射,调用类中的方法,通过Method类完成。步骤: 1.通过Class类的getMethod(String name,Class...parameterTypes)方法取得一个Method对象,并设置此方法操作时所需要的参数类型。 2.之后使用Object invok
阅读全文
摘要:一、通过反射调用类的完整结构 1.使用反射可以取得: ①实现的全部接口 public Class<?>[] getInterfaces() 确定此对象所表示的类或接口实现的接口。 ②所继承的父类 public Class<? Super T> getSuperclass() 返回表示此Class所表
阅读全文
摘要:一、反射机制 1.Java Reflection Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 2.Java反射机制提供的功能 ①在运行时判断任意一个对象所属的类。 ②在运行时
阅读全文
摘要:一、对象流 1.因为需要保存对象到硬盘(对象的持久化)和进行对象的网络传输,产生了对象的输入与输出流。(ObjectInputStream和ObjectOutputStream) 2.用于存储和读取对象的处理流。它强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来。 3.
阅读全文
摘要:一、打印流 1.在整个IO包中,打印流是输出信息最方便的类。 2.PrintStream(字节打印流)和PrintWriter(字符打印流)提供了一系列重载的print和println方法,用于多种数据类型的输出。 ①PrintStream和PrintWriter的输出不会抛出异常。 ②PrintS
阅读全文
摘要:一、转换流 1.转换流提供了在字节流和字符流之间的转换。 2.Java API提供了两个转换流: InputStreamReader和OutputStreamWriter 3.字节流中的数据都是字符时,转成字符流操作更高效。 InputStreamReader 4.用于将字节流中读取到的字节按指定字
阅读全文
摘要:一、处理流之一:缓冲流 1.为了提高数据读写速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组。(缓冲流就是先把数据缓冲到内存中,在内存中做io操作) 2.根据数据操作单位可以把缓冲流分为: ①BufferedInputStream 和BufferOutputS
阅读全文
摘要:一、文件字符流 1.读取文件操作步骤: ①建立一个对象,将已存在的一个文件加载进流。 FileReader fr = new FileReader("Test.txt"); ②创建一个临时存放数据的数组。 char[] ch = new char[1024]; ③调用流对象的读取方法将流中的数据读入
阅读全文
摘要:一、Java IO原理 1.IO流用来处理设备之间的数据传输。 2.Java程序中,对于数据的输入/输出操作以"流(stream)"的方式进行。 3.java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。 4.Java IO原理:(不论输入还是输出,都是
阅读全文
摘要:一、io流的主要内容 1.java.io.File类的使用(计算机操作系统中的文件盒文件夹) 2.IO原理及流的分类 ①文件流(数据流的读写都是基于文件的操作) FileInputStream / FileOutputStream / FileReader / FileWriter ②缓冲流(数据流
阅读全文
摘要:一、枚举类概述 1.在某些情况下,一个类的对象是有限而且固定的。例如季节类,只能有春夏秋冬四个对象。 2.手动实现枚举类: ①private修饰构造器 ②属性使用private final修饰 ③把该类的所有实例都使用public static final来修饰 二、使用enum定义枚举类 1.JD
阅读全文
摘要:一、为什么要有泛型Generic? 1.泛型,JDK1.5新加入的,解决数据类型的安全问题,其主要原因是在类声明时通过一个标示表示类中某个属性的类型或者是某个方法的返回值及参数类型。这样在类声明或实例化时只要指定好需要的具体的类型即可。 2.Java泛型可以保证如果程序在编译时没有发出警告,运行时就
阅读全文
摘要:一、操作集合的工具类:Collections 1.Collection是一个操作Set、List和Map等集合的工具类。 2.Collection中提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法。 3.排序操作: ①reverse(Li
阅读全文
摘要:一、Map 1.Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组用于保存Map里的Key,另外一组用于保存Map里的Value。 2.Map中的key和value都可以是任何引用类型的数据。 3.Map中的Key不允许重复,即同一个Map对象的任何两个Key通过equals方法比
阅读全文
摘要:一、List和ArrayList 1.List代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引。 2.List允许使用重复元素,可以通过索引来访问指定位置的集合元素。 3.List默认按元素的添加顺序设置元素的索引。 4.List集合里添加了一些根据索引来操作集合元素的方法。
阅读全文

浙公网安备 33010602011771号