第五周学习总结
Posted skip_2_my_lou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五周学习总结相关的知识,希望对你有一定的参考价值。
这周学习了常用类、集合框架、多线程、反射以及JAVA图形用户界面编程等相关知识。常用类中通过Date类可以获取当前时间,通过SimpleDateFormat可以根据不同地区的使用习惯自定义时间格式,而通过Calender可以获取特定的时间信息,如年、月、日、星期几等。String是一种重要的常用类,其中大量的方法如String str.subString()、String str.equals()、String str.startsWith()、String str.startsWith()、String str.concat()、String str.concat()、StringBuffer append()等方法在解决实际问题时很有用处。
第十三章初步介绍了反射的机制,即JAVA语言是一种动态语言,在程序运行时允许改变程序结构或变量类型,对于任意一个类,可以动态的获取其属性和方法。为以后的框架知识的学习打下一定的理论基础。第十四章学习了多线程编程。计算机中可以并发运行多个程序通常是由操作系统实现的,一个正在运行的程序通常成为进程,线程存在于进程之中,二者之间的区别在于:每个进程都需要爱操作系统为其分配独立的内存空间,而同一进程中的所有线程都在同一内存空间中工作,这些线程可以共享同一块内存和系统资源。在JAVA中,可以通过两种方式来创建一个多线程,一种是编写一个集成Thread类的类,并在该类中重写Thread类的fun()方法,另一种是编写一个类来实现Runnable接口,然后将该类的实例传递到Thread类的构造器中。必须注意的是,开启一个线程的方式是启用start()方法,而非run()方法,虽然start()方法实际也是在调用run()方法,但如果我们直接调用run()方法来启动程序,虽然程序也能够运行,但这并非启动了线程。线程中有一个重要的方法,sleep()方法,括号中参数为毫秒数,意思是让某个线程休眠一定时间,需要注意的是wait()方法也能让线程暂停,但二者之间有很大的区别,sleep()方法会占用cpu并等待指定毫秒数的时间,而wait()方法在等待的时候不需要占用cpu。线程中有个非常重要的知识点即线程同步,所谓线程同步,就是指多个线程引用同一对象时,必须确定当某个线程在使用某项数据时,其他线程就不能再使用该项数据,以保证线程的安全性。可以通过synchronized关键字用启用对象锁来同步块或者同步方法,以达到线程同步的目的。第十五章学习了集合框架,其功能是用来存放数据,之前学习过的数组也有数据存放功能,但数组的长度一经确定便不可更改,且数组中的元素类型必须相同,集合与数组最大的区别在于其长度可伸缩,并且内部元素的类型可以不同。数据存放方式有两种:一种是一个一个的存放,对应collection接口,collection接口下有两个子接口Set接口和List接口。List接口的最底层是通过数组来实现功能,List接口有ArrayList和LinkedList两个子接口,前者查询效率高,后者在对第一个或最后一个元素进行增减操作时效率更高。Set接口也是collection接口的子接口,与List不同的是,Set接口内的元素是无序且不可重复的。在JAVA框架中还有一种数据存储的方式,Map接口来实现即以键值对的形式存放数据,HashMap类是Map接口的实现,其中key的值是唯一的,而value的值则可以重复。上周的后两天我们正式开始学习GUI,逐渐学习由以往的纯后台编程向人机交互过度,与以往的学习内容相比,GUI部分的学习要有趣的多,以往经常用到的功能通过本章的学习让我们也能够自己去实现。GUI是由组件和容器组成,容器本身也是一种特殊的组件,在JAVA中有四种重量级容器,包括JFrame(窗体)、JDialog(对话框)、JWindow(窗口)和JApplet(小程序),重量级容器又叫顶级容器,顾名思义,顶级容器必须位于层次的最顶部,重量级容器中不能够再装重量级容器,而轻量级容器则可以再装轻量级容器。GUI中页面的编写不光包括静态页面,更重要的应对不同的操作时所作出的不同响应,这种响应机制是通过事件驱动编程来完成的,事件源产生一个事件并触发对应的组建,并由对应的事件监听器来处理事件,从而完成不同的响应。
以上是关于第五周学习总结的主要内容,如果未能解决你的问题,请参考以下文章