前端-CSS
样式定义方式行内样式表(inline style sheet)直接定义在标签的style属性中。作用范围:仅对当前标签产生影响。例如:<img src="/images/mountain.jpg" alt="" style="width: 300px; height: 200px;">
内部样式表(internal style sheet)定义在style标签中,通过选择器影响对应的标签。作用范围:可以对同一个页面中的多个元素产生影响。
外部样式表(external style sheet)定义在css样式文件中,通过选择器影响对应的标签。可以用link标签引入某些页面。作用范围:可以对多个页面产生影响。
注释注意不能使用//。只有:/* 注释 */
选择器标签选择器选择所有div标签:12345div { width: 200px; height: 200px; background-color: gray;}
ID选择器选择ID为rect-1的标签:12345#rect-1 ...
八股文-Java 序列化详解
什么是序列化和反序列化?如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。简单来说:
序列化: 将数据结构或对象转换成二进制字节流的过程
反序列化:将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程
对于 Java 这种面向对象编程语言来说,我们序列化的都是对象(Object)也就是实例化后的类(Class),但是在 C++这种半面向对象的语言中,struct(结构体)定义的是数据结构类型,而 class 对应的是对象类型。下面是序列化和反序列化常见应用场景:
对象在进行网络传输(比如远程方法调用 RPC 的时候)之前需要先被序列化,接收到序列化的对象之后需要再进行反序列化;
将对象存储到文件之前需要进行序列化,将对象从文件中读取出来需要进行反序列化;
将对象存储到数据库(如 Redis)之前需要用到序列化,将对象从缓存数据库中读取出来需要反序列化;
将对象存储到内存之前需要进行序列化,从内存中读取出来之后需要进行反序列化。
维基百科是如是介绍序列化的:
序列化(serializati ...
前端-HTML
MDN官方文档不懂就看文档!!!https://developer.mozilla.org/zh-CN/
vscode的安装与配置1. 下载地址https://code.visualstudio.com/
2. 安装插件
Live Server
Auto Rename Tag
自动格式化
点击settings,然后输入format,然后勾选上Format On Save。html基础标签html文件结构文档结构html的所有标签为树形结构,例如:1234567891011<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Web</title></head>< ...
八股文-泛型&通配符
泛型什么是泛型?有什么作用?Java 泛型(Generics) 是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。编译器可以对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如 ArrayList<Persion> persons = new ArrayList<Persion>() 这行代码就指明了该 ArrayList 对象只能传入 Persion 对象,如果传入其他类型的对象就会报错。1ArrayList<E> extends AbstractList<E>并且,原生 List 返回类型是 Object ,需要手动转换类型才能使用,使用泛型后编译器自动转换。
泛型的使用方式有哪几种?泛型一般有三种使用方式:泛型类、泛型接口、泛型方法。1.泛型类:1234567891011121314//此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型//在实例化泛型类时,必须指定T的具体类型public class Generic<T>{ priva ...
八股文-为什么 Java 中只有值传递
开始之前,我们先来搞懂下面这两个概念:
形参&实参
值传递&引用传递
形参&实参方法的定义可能会用到 参数(有参的方法),参数在程序语言中分为:
实参(实际参数,Arguments) :用于传递给函数/方法的参数,必须有确定的值。
形参(形式参数,Parameters) :用于定义函数/方法,接收实参,不需要有确定的值。
1234567String hello = "Hello!";// hello 为实参sayHello(hello);// str 为形参void sayHello(String str) { System.out.println(str);}
值传递&引用传递程序设计语言将实参传递给方法(或函数)的方式分为两种:
值传递 :方法接收的是实参值的拷贝,会创建副本。
引用传递 :方法接收的直接是实参所引用的对象在堆中的地址,不会创建副本,对形参的修改将影响到实参。
很多程序设计语言(比如 C++、 Pascal )提供了两种参数传递的方式,不过,在 Java 中只有值传递。
为什么 ...
八股文-java基础
java语言有哪些特点
面向对象(封装、继承、多态)
强大的生态
可靠性
安全性
平台无关性,即一次编写,随处运行。(已经不是优势,可以使用dockers实现)JVM、JDK、JREJVMjava虚拟机(JVM)是运行java字节码(.class)的虚拟机。JVM有针对不同系统的特定实现,目的是使用相同的字节码都可以运行相同的结果。字节码和不同系统的JVM实现是java语言“一次编译,随处可以运行”的关键所在。JDK、JREJDK 是 JAVA Development Kit 缩写,他是功能齐全的 Java SDK。它拥有 JRE 所拥有的一切,还有编译器(javac)和工具(如 javadoc 和 jdb )。它能够创建和编译程序。JRE 是运行 Java 的环境。它是运行已编译Java程序所需的所有内容的集合,包括java虚拟机、java类库、java命令和其他的一些基础构件。但是,它不能用于创建新程序。如果只是为了运行java程序,就只需要安装JRE,如果要从事java编程,那么需要安装JDK。什么是字节码?采用字节码好处是什么?在java中,JVM可以理解的代码就叫做字节码(. ...