- 长期目标:在大学剩余两年里(2018.7.3-2020.6)学完系统测试(已学完)、WEB测试(正在学)、测试拓展(正在学)、自动化测试、性能测试课程,毕业后进入软件测试行业,成为一名优秀的软件测试工程师
- 长期目标补充:在接下来的一年里(2018.8.7-2019.8.7)熟练掌握系统测试、WEB测试、数据库、Java、Linux、shell脚本、读两本测试相关的书、充分了解恒生电子并做其往年题库
- 中期目标:在暑假两个月(2018.7.3-2018.9.3)内把Java基础课程学完
- 中期目标反馈:目标于2018.8.8提前完成,现在对中期目标进行补充
- 中期目标补充:在暑假剩余的时间(2018.8.8-2018.9.3)看完Windows Phone8数据库操作及数据加密
- 短期目标:这一周(2018.7.3-2018.7.7)每天至少在csdn博客上更新两篇JAVA学习笔记
第一周反馈:目标完成。除Java的2次安装笔记2次踩坑笔记1次学习使用笔记,5天共更新了12条Java学习笔记+2条kinect笔记(共19条笔记)。
第二周(2018.7.8-2018.7.14)每天至少在csdn博客上更新两篇JAVA学习笔记
第二周反馈:目标完成。7天共更新18条java学习笔记,1条踩坑笔记,1条安装笔记(共20条笔记)
第三周(2018.7.15-2018.7.21)每天至少在csdn博客上更新两篇JAVA学习笔记
第三周反馈:目标未完成。7天共更新11条java笔记,1条Java导入包的快捷键笔记(共12条笔记)
第四周(2018.7.22-2018.7.28)每天至少在csdn博客上更新两篇JAVA学习笔记
第四周反馈:目标完成。7天共更新17条java学习笔记,1条复习笔记,1条踩坑笔记(共19条笔记)
第五周前(2018.7.29-2018.7.31)争取结束java语言基础课程
第五周反馈:目标未完成。3天共更新更新3条Java笔记,还差3课没有学完(共3条笔记)
间歇(2018.8.1-2018.8.6)思考了一下人生,考虑了一下自己的职业规划,确定了明年这时候去恒生电子实习的目标,6天共更新了6条职业规划/公司信息整理的笔记
第六周(2018.8.7-2018.8.11)每天至少更2条java和数据库笔记。
第六周反馈:目标完成。5天共更新3条Java笔记,13条数据库笔记,2条总结笔记(共18条笔记)
第七周(2018.8.12-2018.8.18)每天至少更新5条恒生电子笔试题,2条系统测试面试题。
第七周反馈:目标完成,7天共更新了38条笔试题,20条面试题,2篇恒生电子面试笔试流程(共58条面试笔试题,2笔记)
第八周后(2018.8.20-2018.8.31)前两天学习四章求职内容,并补充笔记。剩下时间看完《软件测试》(共6部分)
第八周反馈:目标未完成。四章求职内容更新完了,分别是简历,求职信,网申,小组讨论。《软件测试》看到第二部分58页的状态测试,笔记更新到第一部分19页的边写边改模式。
有效反馈
######2018.7.3
- 安装了jdk1.8,了解了8u171和8u172的区别,知道了要关注安装路径,学会了怎么设置环境变量。我写的相关博客:如何装JAVA环境_1.JDK的安装并配置环境变量(亲测成功)
- 知道了在360软件管家里可以轻松的下载myeclipse,虽然只有30天试用期。我写的相关博客:如何装JAVA环境_2.myeclipse的安装
- 学完了《1.Java是什么》,通过百度百科,了解了Java简单安全的特点,知道了Java能用来干什么,了解了Java,J2EE,J2SE,J2ME,JDK,JRE,myeclipse,eclipse的概念。我写的相关博客:JAVA——1.JAVA是什么
- 学会了如何使用myeclipse编写java程序并运行。我写的相关博客:如何用myeclipse写java代码
######2018.7.4
1.解决了“cmd输入java,java -version正常,但输入javac显示不是内部或外部文件”的问题。我写的相关博客:cmd输入javac显示不是内部或外部文件怎么破?(输入java和java -version时都没有问题) 2.解决了“输入javac,显示找不到文件”的问题。我写的相关博客:cmd输入javac,显示找不到文件该怎么破 3.学完了《2.main()详解》.了解了main()方法的格式及每一部分的含义,学会了用记事本+dos系统编写java程序并编译运行。我写的相关博客:JAVA——2.main()详解
######2018.7.5
1.学完了《3.Java程序结构》,知道了java源文件,class文件,类,对象的概念。了解了类和对象的关系。我写的相关博客:JAVA——3.JAVA程序结构 2.学完了《4.Java的数据类型》,知道了Java的基本数据类型:整型(byte,short,int,long)小数型(float,double),字符型(char),布尔型(boolean)。并且用记事本+dos练习了如何输出整型数字127。我写的相关博客:JAVA——4.Java的数据类型 3.学完了《5.不变的常量》,了解了常量的概念(计算机在处理过程中没有变化的量)及常量的不同类型。我写的相关博客:
JAVA——5.不变的常量 4.学完了《6.变量是什么》,知道了什么是变量,通过几次练习知道了要注意变量的类型和名称。我写的相关博客:JAVA——6.变量是什么
######2018.7.6
1.学完了《7.你的选择是什么-条件结构》,知道了条件结构的格式。并用记事本+dos练习了根据身边的钱选择吃什么。我写的相关博客:JAVA——7.你的选择是什么-条件结构 2.学完了《8.运算符与表达式》。了解了运算符的基本概念,运算符的优先级。以及运算符的一些特点:如:(1)“/”两侧都为整型,除法的结果也为整型;“/”两边类型不同,容量小的类型会转换为大的类型 ,比如float放的位数比int大,所以int类型也会转换为float型,结果也为float型。(2)y++相当于y=y+1;y- -相当于y=y-1 ;y+=3相当于y=y+3;y*=3相当于y=y*3 (3)表达式是运算符与操作数的结合 。与算术运算符结合,结果一般是数字。与关系、逻辑运算符结合,结果是true或false (4)=与==的区别,=是赋值,==是等价于 (5)^是异或,三目运算符?:(6)按位与&与逻辑与&&的区别:按位与&的前面和后面的式子都会计算 ;逻辑与&&的前面如果已经知道是false了,后面一个式子就不会再计算了(逻辑与、逻辑或也被称为短路运算符) 。我写的相关博客:JAVA——8.运算符与表达式 3.学完了《9.条件结构之switch语句》。了解了switch语句的结构,1.知道了switch后面的表达式只能是数值,字符,枚举,不能是false、true。2.以及break很重要。不加break,会一直运行到出现break为止。3.+左右两侧如果是字符串,意味着+是连接字符串。把两个字符串连接到一起。我写的相关博客:JAVA——9.条件结构之switch语句
######2018.7.7
1.今天大创方面也开始行动了。由于不了解我手边的资源Kinect for Xbox 360。我特地了解了Kinect for Xbox 360与Kinect for Windows的区别。(1)Kinect for Xbox 360未考虑其他平台(2)从授权角度,无法用作商业开发,只能用作教学、科研或实验(3)个人动手开发Kinect应用,这两款Kinect都可以,只是Kinect for Xbox 360不支持“近景模式”。我写的相关博客:Kinect——1.Kinect for Xbox 360与Kinect for Windows的区别 2.了解了Kinect的基本硬件组成及相关功能。知道了深度图像的大概原理:红外投影机主动投射近红外光谱,照射到粗糙物体,或是穿透毛玻璃后,光谱发生扭曲,形成随机的反射斑点(散斑),进而被红外摄像头读取。红外摄像头分析红外光谱,创建可视范围内的人体、物体的深度图像。彩色摄像头用于拍摄视角范围内的彩色视频图像。我写的相关博客:Kinect——2.Kinect传感器的硬件组成及功能介绍 3.学完了《10.for循环》,知道了佛瑞循环用来反复做某事,知道了for循环的结构,并做了练习。JAVA——10.for循环 4.学完了《11.while循环语句》,知道了while和do while语句的结构及两者的区别,知道了break(终止循环)和continue(回到循环开头)的用法。ctrl+s保存文件。ctrl+c终止程序。我写的相关博客:JAVA——11.while循环语句
5.学完了《12.数组就是一组数据》,知道了如何初始化数组int[] x=new int[]{1,2,3}。在不知道数组长度的情况下,可以使用数组名称加.length的方法,如x.length。int[5]表示数据的个数是5。JAVA——12.数组就是一组数据%E6%95%B0%E7%BB%84%E5%B0%B1%E6%98%AF%E4%B8%80%E7%BB%84%E6%95%B0%E6%8D%AE
######2018.7.8
1.学完了《13.设计真正的应用程序》。利用数组,for循环,if条件结构,调用Scanner的方法解决了输入10个学生的成绩,判断对应等级的问题。我写的相关博客:JAVA——13.设计真正的应用程序 2.学完《14.静态变量和静态方法》。更进一步的了解了static。比如静态变量从属于类,是所有对象共用的,静态变量和方法都可以直接类打点调用;成员变量(非静态)从属于对象,是copy,不是共用的,在静态方法里,非静态变量和方法只能对象加点调用。静态块与成员对象,成员方法平级,它被jvm载入的时候,这个静态块里的所有程序都已经被执行。我写的相关博客:JAVA——14.静态变量和静态方法 3.学完了《15.对象有状态和行为》。再一次巩固了对象和类的概念。知道了怎么实例对象,怎么用实例变量表示属性,用方法表示行为。我写的相关博客:JAVA——15.对象有状态和行为 4.学完了《16.对象的构造》。巩固了构造对象的方法。知道了出现new 类名()(也就是构造对象时),会自动调用类的构造方法,这是类里面隐含的方法,没有返回值。我写的相关博客:JAVA——16.对象的构造 5.学完了《17.构造方法的重载》。知道了如何在一个类里创造几个构造方法。如果我们希望一个类中有多个构造方法,就必须让同名的构造方法拥有不同的参数。我们可以通过改变参数的类型,数量,顺序来实现。最后实例对象时,调用哪个构造方法,由new 类()里的参数决定。我写的相关博客:JAV——17.构造方法的重载
######2018.7.9
1.学完了《18.你可以告诉对象该怎么做》。知道了怎么在方法中传参。练习了在无参,有参,参数是变量的情况下,打印一定次数信息的方法。也知道了字符串数组传参的方法。注意:在dos系统里输入 F:\demo>javac app2.java;F:\demo>java app2 “aaa” “bbb”。也巩固了数组方面的知识。我写的相关博客:JAVA——18.你可以告诉对象该怎么做 2.学完了《19.你可以知道对象工作的结果—获取方法的返回值》。知道了怎么设置返回值以及怎么获取返回值。更认识到了设置返回值的无限可能。我写的相关博客:JAVA——19.你可以知道对象工作的结果-获取方法的返回值 3.学完了《20.创建对象数组》。巩固了数组方面的知…识,好吧,是越看越糊了。不能理解“this.name=name”中的this是什么鬼。关于初始化数组那边也觉得有些乱。有机会要一起整理一下。我写的相关博客:JAVA——20.创建对象数组 4.学完了《21.对象与对象之间的关系》。知道了对象与对象之间的几个关系。我写的相关博客:JAVA——21.对象与对象之间的关系
######2018.7.12
1.学完了《22.一个对象怎么调用另外一个对象》,知道了一个对象怎么调用另外一个对象的两种方法,以及怎么把多个文档打包成一个应用程序。我写的相关博客:JAVA——22.一个对象怎么调用另外一个对象 2.解决了“cmd运行jar命令(例如输入java -jar test1.jar)提示没有主清单属性”的问题。我写的相关博客:cmd运行jar命令(例如输入java -jar test1.jar)提示没有主清单属性
3.学完了《23.对象间的继承》,知道了子类可以原封不动的继承父类公共的方法属性(public),但不能继承父类私有的方法属性(private)。我写的相关博客:JAVA——23.对象间的继承 4.根据这个教程重新安装了eclipse。相关链接:https://jingyan.baidu.com/article/ed2a5d1f64dca409f6be172b.html 5.学完了《24.方法的覆盖》。了解了方法的覆盖是指子类重写父类的同名方法,注意方法名,参数要相同,子类修饰符的范围要大于父类(public>private>无修饰符)。我写的相关博客:JAVA——24.方法的覆盖 6.学完了《25.到底调用哪一个方法》。知道了父类 对象=new 子类(),运行输出子类方法 。还知道了父类 对象=new 子类(),只能调用子类继承和覆盖的方法 。我写的相关博客:JAVA——25.到底调用哪一个方法
######2018.7.13
1.学完了《26.this和super》知道了this和super都存在与继承中。this可以脱离继承,super不可以脱离继承 。this是一个通用的对象,this在哪个类就是指那个类的对象 。子类对象构造时,会先调用父类的构造方法 。super();代表调用父类的构造方法,注意参数。super打点表示调用父类方法变量。我写的相关博客:JAVA——26.this和super
######2018.7.14
1.学完了《27.不该初始化的Class》。知道了抽象类是不该初始化的类,并通过代码练习,初始化抽象的对象时报错,再一次证明抽象类是不该初始化的。知道了抽象类声明类的格式:public abstract class animal{},以及抽象类的特点是不仅可以使用成员变量,构造方法,普通成员方法,还可以使用没有方法体的抽象方法:public abstract void eat();。抽象类(父类)的抽象方法的目的是提供方法的定义,被子类覆盖,具体的实现方法,比如吃什么,怎么吃。我写的相关博客:JAVA——27.不该初始化的Class 2.学完了《28.接口》,知道了创建接口时,要注意新建的不是class文件,而是interface文件。同时接口是高级的抽象类,他与抽象类的不同是,抽象类里面既可以包含抽象方法,也可以包含非抽象方法,而接口只包含抽象方法,他们的目的都是完全被子类覆盖,他们都不能实例化对象。接口的成员变量系统缺省默认为public static final,接口中的成员变量只能初始化一次,不能被再次赋值。接口的成员方法缺省默认为abstract。我写的相关博客:JAVA——28.接口
3.学完了《29.如何组织类和包》,(1)知道了在java文件的最上面写上“package testpkg1;
”在cmd编译中输入”javac engine.java -d .”,在demo文件中会出现对应的testpkg1文件夹。(2)将testpkg1换成com.zhaiyujia.testpkg1。会出现一个com文件夹,文件夹里是zhaiyujia文件夹,zhaiyujia文件夹里是testpkg1文件夹,再里面就是engine的class文件(3)想要运行engine.class,要输入engine所在目录“java com.zhaiyujia.testpkg1.engine” (4)打包的目的是组织类文件,调用其他包里的类的方法import(引入导入),“.”相当于分层。我写的相关博客:JAVA——29.如何组织类和包 4.学完了《30.如何使用JAVA API》,知道了API是Application Programming Interface ,应用编程接口 的意思。知道了擅长使用这个文档(JDK 1.8 API文档链接:https://pan.baidu.com/s/1_1FNLoIzfTor9-VRRLhZfg 密码:76kt ),可以帮助我们快速开发应用软件。知道了要引入Scanner,得写“import java.util.Scanner;”
不写Scanner语句,系统也会缺省调用java.lang:”import java.lang.*;” 。我写的相关博客:JAVA——30.如何使用JAVA API
######2018.7.17
1.学完了《31.字符串函数》,通过亲身实践,进一步知道了怎么通过API了解字符串函数。知道了String类型的值是不可变的,以及它声明对象的两种方法和它的一些常用的方法,例如length(),求对象中字符的个数,charAt(4),求对象中第4个字符是什么,substring(5,8)求对象中第5到7个字符是什么,第8个字符不会出现,trim()是把对象最前和最后的空格压缩掉输出。知道了StringBuffer(线程安全的可变字符序列 )和StringBuilder(一个可变的字符序列)的值是可变的,StringBuffer的方法toString是把 StringBuffer类型转到 String类型。知道了在单个线程中优先选择StringBuilder,因为StringBuilder比StringBuffer更快一些。我写的相关博客:JAVA——31.字符串函数 2.学完了《32.日期函数》,知道了Date,Calendar都在API的java.util包里。知道了怎么通过Date,Calendar两种方法得到此时的日期时间。其中Date的方法getday是用来得到date是在这一周的第几天,0是星期天。Date的方法getMonth是用来得到date是在第几月,0是第一月 。after得到date是否在date2之后 。Calendar是日历,抽象类(public abstract class Calendar),不能实例化对象。get是Calendar中一个很重要的方法,返回给定日历的值,不是静态的,必须对象打点调用 ,例如System.out.println(cal.get(Calendar.YEAR)+"-"+(cal.get(Calendar.MONTH)+1)+"-"+(cal.get(Calendar.DATE)));。我写的相关博客:JAVA——32.日期函数 3.学完了《33.Math函数》,知道了Math函数的常见变量和方法(都是静态的,可以类直接打点调用)。比如静态变量自然对数E和圆周率PI。常见方法:abs(),求绝对值。ceil(),天花板,求大于等于这个参数的最小整数;floor(),地板,求小于等于这个参数的最大整数 。pow(a,b),求a的b次方 。random(),随机生成一个0到1的数,()里无参数 。round(),有点类似于四舍五入 。我写的相关博客:JAVA——33.Math函数 4.学完了《34.集合函数-List》,知道了集合是集合起来的一组数据,它与数组的区别是:1.数组是类型相同的一组数据,而集合中的数据类型可以相同,也可以不同。2.数组的长度是预先定义好的,而集合的长度可以是预先定义好的,也可以随元素的增加而增加。List是有序集合(也称为序列 )。 该界面的用户可以精确控制列表中每个元素的插入位置。最重要的实现子类: ArrayList , LinkedList , Vector ,他们都是接口(即抽象函数的最高实现),目的就是为了被实现 。ArrayList() 构造一个初始容量为十的空列表。add(E e) 将指定的元素追加到此列表的末尾。size() 返回此列表中的元素数。 get(int index) 返回此列表中指定位置的元素。 ArrayList 和 LinkedList 的区别是在底层的实现机制不一样。ArrayList 是可变数组 ,LinkedList 是链接列表。我写的相关博客:JAVA——34.集合函数-List
######2018.7.18
1.知道了在eclipse中,Java导入包的快捷键CTRL+SHIFT+O。我写的相关博客:eclipse中,Java导入包的快捷键 2.学完了《35.集合函数-Set》,知道了Set是不包含重复元素的集合。set会把添加进来的数据进行排序。它的最重要的两个实现子类是 HashSet (从大到小排序,底层是通过HashSet 表实现的集合)和 TreeSet (从小到大排序,底层是通过二叉树来实现) 。 Iterator是接口,是返回此集合中元素的迭代器。 hasNext() :如果迭代具有更多元素,则返回 true 。next() :返回迭代中的下一个元素。 我写的相关博客:JAVA——35.集合函数-Set
######2018.7.20
1.学完了《36.集合函数-Map》,(1)知道了List,Set和Map的区别是:1.List和Set都是继承了collection的接口。2.虽然Map也属于集合系统,但和collection接口不同。map是key对value的映射集合,其中key列就是一个集合,key不能重复,但value可以重复3.存储数据的底层实现不一样,Map以键值对的形式来存储数据 。(2)Map:将键映射到值的对象。一个映射不能包含重复的键; 每个键可以映射到最多一个值。最主要的实现类:HashMap (底层由Hash表实现), TreeMap (底层由二叉树实现),Hashtable。 (3)常用方法put(K key, V value) :将指定的值与该映射中的指定键相关联(可选操作)。 如何遍历:get(Object key) :如果此映射包含该键的映射,返回到指定键所映射的值,或 null(空)。(4)键不可以重复,第二次的键会把第一次的键覆盖(5)TreeMap:也有HushMap的put和get方法,他们的区别是TreeMap能根据键的自然顺序进行排序 。Hashtable:此类实现一个哈希表。该哈希表将键映射到相应的值。任何非null对象都可以用作键或值 。他们的方法都是类似的。我写的相关博客:JAVA——36.集合函数-Map 2.学完了《37.有风险的代码-异常》,(1).练习了一些异常,比如被除数为零,数组空指针异常,数组下标越界异常。(2).知道了正常情况下异常会中断程序的运行,后面的程序就不能继续运行下去。为了异常不要中断之后程序的执行,可以用try{}catch(){}块捕捉和处理异常.(try块里面可以放有异常的程序,也可以放没有异常的程序)(3).Exception(异常)本身是所有异常的父类(java.lang包),继承了Throwable。它的一个非常重要的子类RuntimeException(运行时异常) Exception->RuntimeException->NullPointerException / IndexOutOfBoundsException。我写的相关博客:JAVA——37.有风险的代码-异常 3. 学完了《38.finally块》知道了当异常已经被捕捉和处理,他会依旧执行异常之后的代码。知道了不管try,catch块怎么执行,都会执行finally块(如果没有异常,直接执行try块,如果有异常,执行catch块)JAVA笔记——38.finally块 4. 学完了《39.图像界面》,(1).知道了JFrame类与Frame略有不同, 像所有其他JFC / Swing顶级容器一样, JFrame包含一个JRootPane作为其唯一的孩子。 根窗格提供的内容窗格通常应包含JFrame显示的所有非菜单JFrame 。 (2).知道了怎么建立窗口。JFrame(String title):创建一个新的,最初不可见的 Frame与指定的标题。setSize(300, 300);是设置长和宽。setVisible(true);/是设置为可见的3.知道了setDefaultCloseOperation是设置缺省关闭的操作,关闭窗口,结束操作。我写的相关博客:JAVA——39.图像界面 5. 学完了《40.jpanel和jbutton类》jpanel是面板组件。在窗口上叠加一个面板,面板上再去放按钮、文本框等组件 。jbutton是按钮类,它的每一个对象就是具体的按钮 。知道了如何在窗口上叠加一个红色的面板,并把按钮放在这个面板上。我写的相关博客:JAVA——40.jpanel和jbutton类 6. 学完了《41.jtextfield组件》。(1).知道了jtextfield组件是文本框类,new一个它的对象,就是新建一个文本框 。(2).知道了组件分为两大类。容器组件:JFrame窗口、JPanel面板(存放其他图形组件的界面) 。非容器组件:放在容器组件上的组件(3) 知道了怎么在窗口上放面板,在面板上放标签和文本框以及设置文本框里的初始化内容。我写的相关博客:JAVA——41.jtextfield组件
######2018.7.22
1.学完了《42.用户事件》。知道了三要素是事件源、事件、事件处理程序(比如希望点击按钮1,跳出一个对话框) 则[事件源]发生事件的源头是谁,发生事件的组件是谁。比如按钮1 ,[事件]按钮点击的事件 ,[事件处理程序]事件处理程序就是弹出一个对话框 。知道了如何点击按钮1,跳出一个对话框,显示“你点击了按钮1”。我写的相关博客:JAVA——42.用户事件 2.知道了JAVA中implement和extends的区别:抽象类的继承:关键字是extends;接口类的继承:关键字是implements 。继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 ,比如:class A extends B implements C,D,E 。我写的相关博客:JAVA中implement和extends的区别 3.学完了《43.事件类型》。知道了【java.awt.event包】提供处理由AWT组件所激发的各类事件的接口和类 【javax.swing.event包】供Swing组件触发的事件使用。
用户事件的类型有ActionEvent(实现子类ActionListener),FocusEvent(实现子类FocusListener),KeyEvent(实现子类KeyListener),MouseEvent(实现子类MouseListener),WindowEvent(实现子类WindowListener),TextEvent(实现子类TextListener)…(由事件源触发) 。WindowEvent是指示窗口已更改其状态的低级别事件。 当Window对象被打开,关闭,激活,停用,图标化或去隐藏时,或当焦点被转移到窗口中时,这个低级事件是由Window对象生成的。 通过练习,知道了如何用代码实现“缩小窗体时弹出窗体最小化对话框,回复窗体时弹出窗体正常化对话框”。我写的相关博客:JAVA——43.事件类型 4.学完了《44.java事件处理机制》。(1)知道了java事件处理机制包括事件源、事件(处理)对象、实现事件监听器 (2)java事件模型的几个步骤包括1.要确定事件源是谁,比如按钮1(会触发点击事件或动作事件)2.要确定会发生什么样的事件,比如动作事件3.要实现事件监听器(大部分都是接口)。要把事件监听器对象和事件源的某个事件关联起来,这个步骤被称作注册监听,事件源被注册监听为某个监听器的子类对象来处理。 (3)java事件处理机制是一种委托事件模型。就是把某个事件源委托给事件监听器的对象来处理,就是注册监听,这个监听器对象随时监听这个事件源上的特定的事件类型,一旦成功,就会自动调用事件处理程序来处理这个事件 (4)通过练习实现了点击按钮一,显示“你点击了按钮”对话框,点击按钮二,显示“你点击了按钮二”对话框。我写的相关博客:JAVA——44.java事件处理机制 5.学完了《45.flowlayout和gridlayout布局》。知道了FlowLayout是流式布局(即顺着放下来)比如按钮一个接一个的放在面板上,居中显示,一行放满了放到下一行。还知道了JPanel的默认布局就是流式布局。知道了GridLayout是网格布局,即几行几列的模式 。它的构造方法:GridLayout(int rows, int cols) :创建具有指定行数和列数的网格布局。为了让按钮不充满整个网格空间 ,我们可以利用以下两种方法:setHgap(int hgap) :将组件之间的水平间距设置为指定的值。 setVgap(int vgap) :将组件之间的垂直间距设置为指定值。我还知道了为了更美观,我们可以在面板上叠加面板,就比如第一个面板设置一种布局,比如说两行三列的面板布局,每一个单元格我都放一个面板,然后再在这个子面板上继续设置布局放其他组件。 【java如何设置布局】1.得到布局类的对象2.通过调用容器类的组件setlayout方法将布局对象绑定到这个容器组件3.最后,添加组件即可。我写的相关博客:JAVA——45.flowlayout和gridlayout布局 6.学完了《46.cardlayout布局》(1)知道了cardlayout是卡片布局,就像书一样一页一页的。(2)last(Container parent) :翻转到容器的最后一张卡片,参数是父容器。 first(Container parent) :翻转到容器的第一张卡片,即最先加入的那张卡片 (3)通过练习,设置三个面板,第一个面板设置为卡片布局,第二个面板设置为红色,第三个面板设置为绿色,在第一个面板上添加第二个面板和第三个面板,(因为先添加的第二个面板,所以运行显示红色),知道如何翻到最后一页或者指定页,知道如何利用按钮达到动态效果(4)show(Container parent, String name) :使用 addLayoutComponent name ,使用 addLayoutComponent翻转到添加到此布局的 addLayoutComponent 。第一个参数是父容器,第二个参数是要翻到第几页 。我写的相关博客:JAVA——46.cardlayout布局 7.学完了《47.borderlayout布局》知道了borderlayout是边界布局,即东南西北中的布局方式。 练习了边界布局。知道了在西边添加一个按钮,西边面板就自然而然被撑大了。知道了因为JFrame默认布局也是边界布局,所以不用主面板JPanel p也能实现以上效果。我写的相关博客:JAVA——47.borderlayout布局 8.学完了《48.gridbaglayout布局》gridbaglayout是网格袋布局,一种可以由x,y轴来定位的布局方式。不需要组件的大小相同,便可以将组件垂直、水平或沿他们的基线对齐。每个gridbaglayout对象维持一个动态的矩形单元网格。 【GridBagConstraints】Constraints约束,得到一个约束类的对象 【gridx 】指定包含组件显示区域的前沿的单元格,其中一行中的第一个单元格具有 gridx=0 。 【gridy 】指定组件显示区域顶部的单元格,其中最上面的单元格具有 gridy=0 。 练习了网格袋布局的应用【weightx 】指定如何分配额外的水平空间。 如果得到的布局在水平方向上比需要填充的区域小,那么系统会将额外的空间按其权重比例分布到每一列 。知道了如何水平垂直填充 。知道了如何把组件自动放在显示区域的东边 。我写的相关博客:JAVA——48.gridbaglayout布局
######2018.7.23
1.学完了《49.jsplitpane》。知道了jsplitpane是分割面板,用于划分两个(也只有两个) Components。知道如何实现点击按钮,改变分割线的位置。知道了setOneTouchExpandable(boolean newValue) ,参数为 true为 JSplitPane提供一个UI小部件在分隔符上以快速扩展/折叠分频器。 我写的相关博客:JAVA——49.jsplitpane 2.学完了《50.jtabbedpane组件》。知道了tabbedpane是选项卡组件,能在一个面板上放置多个选项卡。知道了如何在一个面板上放置多个选项卡。我写的相关博客:JAVA——50.jtabbedpane组件
3.学完了《51.jinternalframe组件和jdesktoppane组件》。知道了jinternalframe是内部窗体组件 ,jdesktoppane是桌面容器组件 。我写的相关博客:JAVA——51.jinternalframe组件和jdesktoppane组件
4.解决了用Java代码在c盘创建文件对象,运行显示java.io.IOException:拒绝访问/客户端没有所需的特权的问题。我写的相关博客:怎么解决java.io.IOException: 拒绝访问/客户端没有所需的特权(亲测有效)
5.学完了《52.保存对象》,知道了如何用Java代码在f盘创建文件对象, 创建目录。 mkdirs() :创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。我写的相关博客:JAVA——52.保存对象
######2018.7.27
1.学完了《53.输入输出流》(1)知道了输入输出流也称为读写数据流,指有方向的流动的一串数据,这串数据有起始点,也有目的地。输入输出就是它的方向,站在计算机的角度,输入数据流,就是读,读数据;计算机在输出数据,就是写。(2)FileOutputSteam是文件输出流。输出,对计算机来说,就是写的意思。File就代表写数据的一个目的地,也就是一个文件 。(3)练习了写一个hello Zora到文件a.txt上。我写的相关博客:JAVA——53.输入输出流 2.学完了《54.输入输出流二-flieinputstream》。知道了FileInputStream是从文件系统中的某个文件获得输入字节,它的方法read读的是字节。1字符=2字节 。练习了从a.txt获取字节。我写的相关博客:JAVA——54.输入输出流二-flieinputstream 3.学完了《55.输入输出流三-bufferedreader》。知道了bufferedreader是字符输入流,以字符为单位。FileInputStream和FileOutputStream是以字节为单位。字符输入流可以解决读字节没有办法确定文档中到底有多少个字节,把读取字节转化为读取字符。 bufferedreader的read方法读取的是字符 。InputStreamReader是从字节流到字符流的桥:它读取字节,并使用指定的charset将其解码为字符。练习了从a.txt读取第一行到第三行。我写的相关博客:JAVA——55.输入输出流三-bufferedreader 4.学完了《56.输入输出流四-printwriter》。知道了PrintWriter是字符输出流 。并用两种方法在a.txt文件里写入字符。知道了FileOutputStream fos=new FileOutputStream(“f:/a.txt”);可以直接把fos转换成PrintWriter 。我写的相关博客:JAVA——56.输入输出流四-printwriter 5.学完了《57.输入输出流五-标准流》知道了标准流对象可以分为标准输出流对象,标准输入流对象,标准错误流对象 ,他们可以在java.lang.System里找到。out指“标准”输出流,对应于显示器输出或者由主机环境或者用户环境指定的另一个输出目标。通过练习,知道了 in对应于键盘输入,out、err都特指控制台,通过setIn,setOut,setErr方法可以重新定义目的地。我写的相关博客:这里写链接内容
######2018.7.28
1.学完了《 58. 输入输出流六-objectouputstream和objectinputstream》。知道了对象流可以应用于保存多个复杂的用户信息,并用objectouputstream和objectinputstream保存和读取,它是一个过滤器流。文件是他终点,是结点流。我写的相关博客: JAVA——58. 输入输出流六-objectouputstream和objectinputstream
######2018.7.30
1.学完了《59.随机访问文件类randomaccessfile》。知道了randomaccessfile是文件类,封装了流的对象,并提供了缓冲区(字符数组),指针(可以在缓冲区读取、指向某些特定地方的数据)。这个随机访问文件类既可以读,也可以写。 利用了随机访问文件类randomaccessfile读取a.txt文件中的内容,并往文件中写内容 。知道了指针的方法seek()。我写的相关博客:JAVA——59.随机访问文件类randomaccessfile
######2018.7.31
1.学完了《60.聊天程序概述》。知道了网络应用编程就是充分利用网络的互通性,实现通信 。知道了聊天应用程序的工作方式是一个客户端要连接到一个服务器,另一个客户端也连到这个服务器,那一个客户就可以对另一个客户发送信息,同时也可以接受到另一个客户的信息。当然,这必须通过服务器实现中转。我写的相关博客:JAVA——60.聊天程序概述 2.学完了《61.网络连接》。知道了聊天程序的具体工作方式: (1)客户端连接到服务器 (2)服务器建立连接并将用户添加到来宾名单 (3)另外一个用户连接到服务器 (4)用户a通过服务器将信息发送到用户b,同时可以接收到用户b的回信。知道了可以用Socket或者ip地址(4个0~255之间的数字)定位服务器 。java.net包含网络编程的大部分接口和实现类等等;Socket是客户端的套接字,是ip地址+端口号(在每个端口号可以实现一个服务)的组成;而java.net.ServerSocket中的ServerSocket是服务器端的套接字;两个套接字之间可以创建连接 。练习了如何建立网络连接,将客户端连接到服务器上。我写的相关博客:JAVA——61.网络连接
######2018.8.1-2018.8.6
1.考虑了未来的职业规划。我写的相关博客:职业规划及求职准备(持续更新) 2.了解了各个公司的情况,找到了自己想去的公司。(本来是很想去大众点评的,但自从它和美团合并变成新美大后,公司的气氛就变得和以前很不一样了,所以暂时不能列在我想去的公司里了。emmm,但关于它已经整理好的资料也整理出来了,就分享出来给需要的人看吧)。我现在最最想去的是恒生电子,我爱死这个公司了,我大三一定要到这个公司里面做实习生。
我写的相关博客:
(1).恒生电子股份有限公司–软件测试–《社招、校招jd、校招行程,招聘动态》整理 (2).焦点科技股份有限公司–软件测试–《社招、校招jd、公司介绍、培训发展、薪酬福利、公益慈善》整理 (3).新美大–软件测试–《社招、校招jd、公司具体介绍、培训发展、关于实习是什么,要求及常见问题、校招行程、校招常见问题》整理 (4).阿里巴巴集团–软件测试–《社招、校招jd、公司具体介绍,校园招聘公告,应届生招聘流程,技术培训,薪资福利》整理 3.目标公司补充的软测jd:目标公司–软件测试–jd补充
######2018.8.7
1.学完了《62.信息的发送与接收》。对上节课的代码进行补充,输出客户的ip地址 。并了解了客户端写的时候,服务器读;客户端读,服务器写;这必须是一来一回的。如果客户端与服务器端同时读或写时,通道被占用,就会出问题。同时用代码练习了信息的发送与接收。我写的相关博客:JAVA——62.信息的发送与接收 2.学完了《63.线程与多线程》。知道了线程指Java程序中的单任务流。我们把每个任务放在相对独立的线程中去实现。main是主线程 。并发指同时完成多个任务。程序执行的步骤都是有顺序的,但很多时候我们需要并发处理一个问题,而不是按顺序处理一个问题。线程也看成对象,多线程指多个线程对象 。API中支持线程的类是java.lang.Thread。Thread类的对象就是线程对象 。知道了如何初始化线程对象,打印线程。知道了线程的生命周期是new、runnable、not runnable、dead。练习了多线程。我写的相关博客:JAVA——63.线程与多线程
######2018.8.8
1.学完了《64.线程同步》,练习了一对多的服务器对客户端模式 ,并能自定义客户端、服务器之间发的话。我写的相关博客:
JAVA——64.线程同步 2.做好了学习《Windows Phone 8数据库操作及数据加密》的准备工作。我写的相关博客:Windows Phone 8数据库操作及数据加密(目录,视频教程,学习笔记不断更新)
######2018.8.11
1.整理了《Windows Phone 8数据库操作及数据加密》的13条笔记。但好像基础方面不太完整,所以有些看不懂,打算把视频过一遍,留个印象。等之后学完53节的Mysql基础再回头看一遍复习复习。我写的相关博客:
(1)Windows Phone 8数据库操作及数据加密——1.SQL Server本地数据库基本操作1、2、3、4
(2)Windows Phone 8数据库操作及数据加密——2.SQL Server本地数据库预设数据1、2 (3)Windows Phone 8数据库操作及数据加密——3.SQL Server本地数据库架构更改1、2、3
(4)Windows Phone 8数据库操作及数据加密——4.数据的加密1、2 (5)Windows Phone 8数据库操作及数据加密——5.SQLite数据库1、2
2.做好了学习《Mysql基础》的准备工作。我写的相关博客:Mysql基础(目录,视频教程,安装笔记,学习笔记)
######2018.8.12
1.整理了10条面试题,并对每题进行思考。我写的相关博客:软件测试之系统测试面试题(不断更新)更新至2018.8.12
######2018.8.13
1.整理了10条面试题,并对每题进行思考。我写的相关博客:软件测试之系统测试面试题(不断更新)更新至2018.8.13 到现在共有20条面试题
2.整理了(笔试18条选择+1条大题)*2,并尝试做了一部分,也就是笔试36条选择+2条大题。我写的相关博客:恒生电子笔试题集锦(不断更新) 3.整理了恒生电子笔试大纲。我写的相关博客:恒生电子笔试(笔试流程,笔试介绍,题型,以往笔试题) 4.恒生电子面试流程及大纲。我写的相关博客:恒生电子面试(面试介绍,面试流程,面试建议,面试题库(软测方向))
######2018.8.17
读《软件测试》,写的关于什么是测试的内容。我写的相关博客:怎么判断是不是软件缺陷
######2018.8.20-2018.8.21
目标:第0,1天:学习三章求职内容,并补充笔记。
反馈:目标完成,在博客职业规划及求职准备(持续更新)中更新了简历,求职信,网申,小组讨论四个章节。简历很是重要,我对照着完善了简历的内容,格式方面可能还需要调整。求职信一般简历写不下才写。我觉得简历内容够了,同时hr基本不咋看,就不写了。网申的话可能还需要补充,尽量表现的自己适合整个岗位。小组讨论在恒生电子面试测试时,或者群面里没有出现过,所以没咋细看,也不作要求吧。
这个月剩下的10天就把简历,网申完善完善。