day20191001国庆默写恢复

重在理解,而不是死记硬背。认真专心看6遍,做6遍。

学会码字,每天码字二小时。持之以恒。

任重道远,出发,走多少算多少。100分的试卷,会做20分也比一个努力也没有一个也不会好。机会只给有准备的人。

考研,人生应该有这么一段经历,实现自我价值,人生没有那条路好走,读书是最脚踏实地的路。上学。读书,求知。

断了后路,只有这一条路可以走。知之为知之,不知为不知。

xiang做事情和利索,值得学习。不拖泥带水。笃定,知道自己做什么。

赵丽颖,idom,从不抱怨,做这件事情就做好,付出了也有收获了,世界就是这样平衡的。樱桃。

20191004思考

(1)约束。投资自己,只有自己可以用知识让自己变得值钱,父母什么也给不了你。

(2)吾日三省其身。问自己为什么。我今天要完成什么任务?我今天做了什么?花了多少时间?

(3)别想着吃,找事情做,找比吃更有意义的事情做。知道自己代码目标读书健身。减肥90斤45㎏。读书考研究生考本校。本校很优秀。考六级考教师资格证。
(4)国庆假过半,我的任务还没有开始,那就开始,做30也比0好。入门的心。万事如爬山。不忘初心,方得始终。记住我为什么做这件事情的初心。
(5)把每一天当做上班前的最后一天或上学前的最后一天。

(6)今天的事情今天要做完。今天的任务责任。把每一场考试当做人生最重要的考试。把每一次作业当做最后一次作业最重要的作业。人生来时有使命的。

(7)女人细心细致精致,不能像大老爷们儿一样粗糙。精致。优雅。气质。10分钟,20分钟可以做成什么事情。定时定点做事情。有规划有效率,老师一节课要讲完什么知识。

(8)花了24800元培训,要有效果,不能敷衍,每一分钱都来之不易。对的起决定做的事情,决定攀登的大山,欲穷千里目,更上一层楼。


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

章节:Ch01-集合框架和泛型

题目1)Java 集合框架是什么?说出一些集合框架的优点?

答:每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久,它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。

  (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。

  (3)通过使用jdk附带的集合类,可以降低代码维护成本。

  (4)复用性和可操作性。

题目2)集合框架中的泛型有什么优点?

答:Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错,这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。

题目 3) Java 集合框架的基础接口有哪些?
答:(1)Collection 为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。
(2)Set 是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。
(3)List 是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。
(4)Map 是一个将 key 映射到 value 的对象.一个 Map 不能包含重复的 key:每个 key最多只能映射一个 value。
(5)一些其它的接口有 Queue、Dequeue、SortedSet、SortedMap 和 ListIterator。
题目 4) 为何 Map 接口不继承 Collection 接口?
答:(1)尽管 Map 接口和它的实现也是集合框架的一部分,但 Map 不是集合,集合也不是Map。因此,Map 继承 Collection 毫无意义,反之亦然。
  (2)如果 Map 继承 Collection 接口,那么元素去哪儿?Map 包含 key-value 对,它提供抽取 key 或 value 列表集合的方法,但是它不适合“一组对象”规范。
题目 5) Iterator 是什么?
答:Iterator 接口提供遍历任何 Collection 的接口。我们可以从一个 Collection 中使用迭代器方法来获取迭代器实例。迭代器取代了 Java 集合框架中的 Enumeration。迭代器允许调用者在迭代过程中移除元素。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
章节 Ch02 - 实用类介绍
题目 1) 如何将字符串转化成 int?

答:使用包装类 Integer。 Integer.valueOf("2");其他基本数据类型都是类似。

题目 2) 为什么在 Java 中存储密码要使用 char[],而不使用 String?
答:因为 String 是不可变的,当 String 创建之后,就不会再改变了。而 char[]是可变的,程
序员在用完之后可以将其改变,不会留下任何原始数据。所以,在使用密码时,一般都是会用
char 数组,例如 JavaSwing 中的 JPassWordField,获取密码框的值就是使用 char 数据。而
不使用 String。
题目 3) 如何将字符串转换成时间 Date?
答:使用 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse("2017-12-10")。
题目 4) 字符串对象 String,StringBuilder ,StringBuffer 之间的区别?
答:String 不可变的,其余两个为可变的,也就是可以自由增加或者删除字符串。StringBuilder
和 StringBuffer,前者是线程不安全的,后者是线程安全的。理论上 StringBuilder 效率更高。
字符串大量拼接时,建议使用 StringBuilder ,StringBuffer。
题目 5) 计算一个字符串某个字符的出现次数?
答:(1)使用 charAt 方法截取之后,循环判断。
  (2)使用 apache commons lang 包中的 StringUtils:
  int n = StringUtils.countMatches("ababababab", "a");
  System.out.println(n);

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
章节 Ch03 - 输入和输出处理
题目 1)java 中有几种类型的流?JDK 为每种类型的流提供了一些抽象类以供继承,请说出他们分别
是哪些类?
答:(1)字节流,字符流。
  (2)字节流继承于 InputStream OutputStream,
  (3)字符流继承于 Reader Writer。在 java.io 包中还有许多其他的流,主要是为了提高性能和使用方便。
题目 2) 什么是 java 序列化,如何实现 java 序列化?
答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现 Serializable 接口,该接口没有需要实现的方法,
implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用
ObjectOutputStream 对象的 writeObject(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。
题目 3) 使用处理流的优势有哪些?如何识别所使用的流是处理流还是节点流?
答:优势:对开发人员来说,使用处理流进行输入/输出操作更简单;使用处理流的执行效率更高。
判别:处理流的构造器的参数不是一个物理节点,而是已经存在的流。而节点流都是直接以物理 IO 及节点作为构造器参数的。
题目 4) 什么是标准的 I/O 流?
答:在 java 语言中,用 stdin 表示键盘,用 stdout 表示监视器。他们均被封装在 System 类的类变量 in 和 out 中,对应于系统调用 System.in 和 System.out。这样的两个流加上System.err 统称为标准流,它们是在 System 类中声明的 3 个类变量:
public static InputStream in;
public static PrintStream out;
public static PrintStream err;
题目 5) 什么能被序列化?什么不能被序列化?
答: 能被序列化:①属性(包括基本数据类型、数组、对其它对象的引用);②类名;
不能被序列化:①static 的属性;②方法;③加了 transient 修饰符的属性。
要想序列化对象,必须先创建一个 outputstream,然后把它嵌进 objectoutputstream。
这时就能用 writeobject()方法把对象写入 outputstream,。读的时候需要把 inputstream 嵌到 objectinputstream 中,然后在调用 readobject()方法。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
章节:Ch04-XML

题目1)XML 是什么?

答:XML是可扩展标记语言(Extensible Markup language),可以根据自己的需求扩展XML,XML中可以定义自定义标签。而在HTML等标记语言中必须使用预定义标签,而不能使用自定义标签。

题目2)DTD与XML Schema有何区别?

答:DTD与XML Schema的区别:DTD(Document Type definition)是文档类型描述是定义XML 文件结构的传统方式。DTD不使用XML编写,而XML Schema本身就是XML文件,这表示XML解析器等已有的XML工具可以用来处理XML Schema,并且XML Schema 是设计与DTD之后的,它提供了更多的类型来映射XML文件不同的数据类型。

题目3)XML CDATA 是什么?

答:CDATA是字符数据,它具有特殊的指令被XML解析器解析。XML解析器解析XML文档中所有的文本,比如This is name of person,标签的值也会被解析,因为标签值也可能包含XML标签,比如First Name。CDATA部分不会被XML解析器解析,CDATA部分以结束。

题目4)XSLT是什么?

答:XSLT也是常用的XML技术,用于将一个XML文件转换为另一种XML,HTML或者其他的格式。XSLT为转换XML文件详细定义了自己的语法,函数和操作符。通常由XSLT引擎完成转换,XSLT引擎读取XSLT语法编写的XML样式表或者XSL文件的指令。XSLT大量使用递归来执行转换,一个常见XSLT使用就是将XML文件中的数据作为HTML页面显示,XSLT也可以很方便地把一种XML文件转换为另一种XML文档。

题目5)DOM和SAX解析器有什么区别?

答:DOM和SAX解析器有什么区别?

答:DOM和SAX解析器主要区别在于它们解析XML文档的方式。使用DOM解析时,XML文档以树形结构的形式加载到内存中,而SAX是事件驱动的解析器。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

章节 Ch05 - Java 反射机制
题目 1) 反射获取字节码对象方式、创建对象的两种方式?

答:①获取字节码方式三种:
    (1)类名.class,例如:System.class
    (2)对象.getClass(),例如:new Date().getClass();
    (3)Class.forName("类名"),例如:Class.forName("java.util.Date");
  ②创建对象的两种方式:
    (1)直接用字节码创建对象,只能调用默认的构造方法:字节码.newInstance();
    (2)获取构造方法 Constructor,然后调用构造方法创建,可以通过参数不同调用不同的构造方式。
题目 2) 怎么理解反射,反射的应用?
答:在运行状态下,通过类的字节码文件去解剖一个类,使用该类的构造方法、成员变量、成员函数。反射就是把 Java 类中的各种成分映射成相应的 Java 类。一般情况下我们要解决某个问题,先找到相关的类,创建该类的对象,然后通过该对象调用对应的方法来解决问题。反射是一个正好相反的过程, 开始可能并没有类可以解决这个问题, 而我们却先用一个当时可能并不存在的方法解决了这个问题,后来才有的这个类。这其实就是框架的原理,现有的框架再有的解决问题的类。框架描述了整体,制订了功能方法的规范,具体的实现之后按照这个规范编写。这些都需要靠反射来完成。使用框架有良好的扩展性, 某部分功能的优化不需要涉及程序整体, 只需要修改特定的部分就好了,然后通过配置文件,获取对应的类名,就可以了。
题目 3) 什么是 reflection?
答:Java 中的反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行链接。反射允许在编写与执行时,使程序代码能够接入装载到 JVM 中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构建灵活应用的主要工具。需要注意的是,如果使用不当,发射的成本会很高。
题目 4) 反射的原理是什么?
答:反射是为了能够动态的加载一个类,动态的调用一个方法,动态的访问一个属性等动态要求而设计的。它的出发点就在于 JVM 会为每个类创建一个 java.lang.Class 类的实例,通过该对象可以获取这个类的信息,然后通过使用java.lang.reflect包下得API以达到各种动态需求。
题目 5) Class 类的含义和作用是什么?
答:每一个 Class 类的对象就代表了一种被加载进入 JVM 的类,它代表了该类的一种信息映射。开发者可以通过3 种途径获取到 Class 对象。
①.Class 的 forName()方法的返回值就是 Class 类型,也就是动态导入类的 Class 对象的引用。public static Class<?> forName(String className) throws ClassNotFoundException
②.每个类都会有一个名称为 Class 的静态属性,通过它也是可以获取到 Class 对象的,示例代码如下:Class<Student> clazz = Student.class; // 访问 Student 类的 class 属性。
③.Object 类中有一个名为 getClass 的成员方法,它返回的是对象的运行时类的 Class 对象。因为 Object 类是所有类的父类,所以,所有的对象都可以使用该方法得到它运行时类的 Class对象,示例代码如下:Student stu = new Student();
  Class<Student> clazz = stu.getClass(); // 调用 Student 对象 getName 方法


章节Ch06- 一维数组及经典应用

题目1)数组的概念:

答:数组是具有相同数据类型的数据集合。相同的数据类型是指 数组中每个数据都是同一类型数据,或属于基本数据类型中相同类型的数据,或属于对象类型中相同类型的数据。按照维度来划分,数组分为一维数组,二维数组和多维数组,每一维代表一个空间的数据。

题目2)数组在平时的程序代码中使用是否频繁?

答:不频繁,因为数组的缺点是一旦声明,就不能改变容量的大小。

题目3)实现数组排序和查询相应元素的索引方法是什么?

答:Arrays类的sort()方法实现排序功能。binarySearch()方法实现查找元素索引功能。

题目4)数组有没有length()方法?String有没有length()方法?

答:数组没有length()方法,有length属性。String有length()方法,在JavaScript中获取字符串。

题目5)手写冒泡排序法?

冒泡排序法:概念:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

冒泡排序法代码实现:

public class BubbleSortTest {

  public static void main(String[] args) {

  int[] arr = new int[]{-12,3,2,34,5,8,1};
  //冒泡排序
  for(int i = 0;i < arr.length-1;i++){
    for(int j = 0;j <arr.length-1-i;j++){
      if(arr[j] >arr[j+1]){
      int temp = arr[j];
      arr[j] = arr[j+1];
      arr[j+1] = temp;
      }
    }
  }
  //遍历
  for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]+"\t");
  }

  }
}


day20191001国庆默写的更多相关文章

  1. [每天默写一个算法]KMP

    [每天默写一个算法]KMP 作业要求:默写String的KMP算法. KMP是经典的字符串匹配算法.复杂度为O(n+m) public static class StringKMP { /// < ...

  2. hihoCoder 1041 国庆出游 (DFS)

    题意: 小Hi和小Ho准备国庆期间去A国旅游.A国的城际交通比较有特色:它共有n座城市(编号1-n):城市之间恰好有n-1条公路相连,形成一个树形公路网.小Hi计划从A国首都(1号城市)出发,自驾遍历 ...

  3. 望大神批评教育国庆无聊之作:ObjectValidator

    起因: 本人国庆无聊,不知道干嘛, 所以模仿FluentValidation写了个简化版的ObjectValidator 个人设想是能用类似fluent的方式创建验证规则,然后使用者缓存并验证自己的对 ...

  4. 用python爬虫爬取去哪儿4500个热门景点,看看国庆不能去哪儿

    前言:本文建议有一定Python基础和前端(html,js)基础的盆友阅读. 金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获季节里,我们送走了一个个暑假余额耗尽哭着走向校园的孩籽们,又即将迎来一年一 ...

  5. hihocoder——1041国庆出游(搜索)

    描述 小Hi和小Ho准备国庆期间去A国旅游.A国的城际交通比较有特色:它共有n座城市(编号1-n):城市之间恰好有n-1条公路相连,形成一个树形公路网.小Hi计划从A国首都(1号城市)出发,自驾遍历所 ...

  6. 牛客国庆集训派对Day4.B.异或求和(按位统计)

    题目链接 刷牛客一战到底做到的,感觉还挺有趣... \(Description\) 求给定\(n\)及序列\(A_i\),求\[\sum_{i\lt j\lt k}(A_i\oplus A_j)(A_ ...

  7. 解决默写浏览器中点击input输入框时,placeholder的值不消失的方法

    html中,placeholder作为input的一个属性,起到了在输入框中占位并提示的作用. 但是有一些浏览器,如chrome,当鼠标点击输入框时,placeholder的值不消失,只有输入数据才消 ...

  8. Day29作业及默写

    作业: 1\ 默写 黏包协议 2\ 上传大文件(文件\视频\图片) 3\ 和你的同桌调通 从你的计算机上传一个视频到你同桌的电脑上 4\ 进阶 : 带上登录 Server #Server #!/usr ...

  9. Day20作业及默写

    1.请使用C3算法计算出链接图中的继承顺序-Link 一 graph BT id1[A]-->id2[B] id2[B]-->id6[F] id6[F]-->id7[G] id1[A ...

随机推荐

  1. .NET Core 3.1 编写混合 C++ 程序

    前言 随着 .NET Core 3.1 的第二个预览版本发布,微软正式将 C++/CLI 移植到 .NET Core 上,从此可以使用 C++ 编写 .NET Core 的程序了. 由于目前仅有 MS ...

  2. MySQL的sleep函数的特殊特现象

      MySQL中的系统函数sleep,实际应用的场景不多,一般用来做实验测试,昨天在测试的时候,意外发现sleep函数的一个特殊现象.如果在查询语句中使用sleep函数,那么休眠的时间跟返回的记录有关 ...

  3. 使用position设置经典的网站前端结构

    能脱离文档流的设置: float:left/right position:absolute; 绝对定位 position:fixed; 固定定位 //搞清楚position的属性值的意思就容易明白 使 ...

  4. 发布兼容TS的JS库到nexus和npmjs

    一. 前言 由于node以及绝大多数前端库都是用JavaScript(以下简称JS)语言实现,而Angular是用TypeScript(以下简称TS)实现,虽然TS是JS的超集,但是由于TS和JS对于 ...

  5. 网络安全-主动信息收集篇第二章-二层网络扫描之nmap

    nmap是网络层.传输层最重要的扫描工具之一,可以结合脚本对应用层的扫描和对网络弱点发现. 网络层发现nmap使用: Usage: nmap [Scan Type(s)] [Options] {tar ...

  6. permu 莫队 总结

    由于每次询问静态区间里完整值域段的最大大小 貌似很好用莫队转移,所以考虑怎么转移 当给它扩展一个数时,就是给值域添加了一个值 这个值可能已经存在,也可能是新的 有的神仙做法是维护了一个并查集,然而我这 ...

  7. 前端与算法 leetcode 1. 两数之和

    目录 # 前端与算法 leetcode 1. 两数之和 题目描述 概要 提示 解析 解法一:暴力法 解法二:HashMap法 算法 传入[1, 2], [11, 1, 2, 3, 2]的运行结果 执行 ...

  8. 2019 .NET China Conf:路一直都在,社区会更好

    这个周末,我从成都飞到了上海参加了首届由社区组织而非官方(比如Microsoft)组织的.NET开发者峰会(.NET Conf).为此,我特意请了两天的假(周五+周六,对,我们是大小周,这周六要上班) ...

  9. PHP判断是否为手机端的方法

    PHP判断是否为手机端的方法 private function ismobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HT ...

  10. linux搭建简易网站

    1.检查环境 getenforce #查看seLinux运行状态 Enforcing #强行执行 setenforce #临时关闭selinux vim /etc/selinux/config #编辑 ...