css中隐藏⻚⾯元素
css中隐藏⻚⾯元素通过 css 实现隐藏元素⽅法有如下: • display:none 将元素设置为 display:none 后,元素在⻚⾯上将彻底消失 元素本⾝占有的空间就会被其他元素占有,也就是说它会导致浏览器的重排和重绘 消失后,⾃⾝绑定的事件不会触发,也不会有过渡效果 特点:元素不可⻅,不占据空间,⽆法响应点击事件 • visibility:hidden 从⻚⾯上仅仅是隐藏该元素,DOM结果均会存在,只是当时在⼀个不可⻅的状态,不会触发重排,但 是会触发重绘 特点:元素不可⻅,占据⻚⾯空间,⽆法响应点击事件 • opacity:0 opacity 属性表⽰元素的透明度,将元素的透明度设置为0 • 设置height、width模型属性为0 将元素的 margin , border , padding , height 和 width 等影响元素盒模型的属性设置成 0,如果元素内有⼦元素或内容,还应该设置其 overflow:hidden 来隐藏其⼦元素 特点:元素不可⻅,不占据⻚⾯空间,⽆法响应点击事件
元素⽔平垂直居中的⽅法
元素⽔平垂直居中的⽅法实现元素⽔平垂直居中的⽅式: • 12345678910111213141516171819202122232425<style>.father{width:500px;1234 height:300px;5 border:1px solid #0a3b98;6 position: relative;7 }8 .son{9 width:100px;10 height:40px;11 background: #f0a238;12 position: absolute;13 top:0;14 left:0;15 right:0;16 bottom:0;17 margin:auto;18 }19 </style>20 <div class="father">21 <div class="son"></div>22 </div> 利⽤定位+margin:auto ⽗级设置为相对定位,⼦级绝对定位...
盒⼦模型
盒⼦模型当对⼀个⽂档进⾏布局(layout)的时候,浏览器的渲染引擎会根据标准之⼀的 CSS 基础框盒模型 (CSS basic box model),将所有元素表⽰为⼀个个矩形的盒⼦(box) ⼀个盒⼦由四个部分组成: content 、 padding 、 border 、 margin 从上图可以看到: • 盒⼦总宽度 = width + padding + border + margin; • 盒⼦总⾼度 = height + padding + border + margin 也就是, width/height 只是内容⾼度,不包含 padding 和 border 值 所以上⾯问题中,设置 width 为200px,但由于存在 padding ,但实际上盒⼦的宽度有240px IE 怪异盒⼦模型 • 盒⼦总宽度 = width + margin; • 盒⼦总⾼度 = height + margin; 也就是, width/height 包含了 padding 和 border...
动态代理(Dynamic Proxy)
Java 动态代理(Dynamic Proxy)一、什么是动态代理Java 动态代理是一种在运行时创建代理类并处理方法调用的机制,它不需要事先写好代理类,而是通过反射 API 动态生成代理对象。 它常用于以下场景: 日志记录 权限控制 性能监控 Spring AOP 实现原理 二、JDK 动态代理原理JDK 动态代理主要依赖两个核心类/接口: java.lang.reflect.Proxy java.lang.reflect.InvocationHandler JDK 动态代理要求被代理的类 必须实现接口。 三、使用步骤1. 定义接口1234java复制编辑public interface UserService { void login(String username); void logout();} 2. 实现该接口的类(目标类)1234567891011java复制编辑public class UserServiceImpl implements UserService { @Override ...
反射机制(Reflection)
Java 反射机制(Reflection)一、什么是反射反射(Reflection) 是 Java 提供的一种机制,它允许程序在运行时动态获取类的信息(方法、属性、构造方法等)以及操作对象本身。 通过反射可以: 在运行时获取类的完整结构 动态创建对象 动态调用方法、访问字段 实现解耦、插件式开发、框架封装等 反射是实现诸如 Spring、MyBatis、Junit、Tomcat、IDEA 插件系统 的核心技术之一。 二、反射的核心类反射主要在 java.lang.reflect 和 java.lang.Class 包中,主要类包括: 类/接口 功能说明 Class<?> 表示类或接口的字节码对象 Field 表示类中的成员变量 Method 表示类中的方法 Constructor 表示类的构造方法 Modifier 表示修饰符工具类 三、反射的基本操作1. 获取类的 Class 对象(3种方式)123456789java复制编辑// 方式一:通过类名.classClass<?> clazz1 =...
Java 线程池(Thread Pool)
Java 线程池(Thread Pool)一、什么是线程池线程池 是一种线程管理机制,用于提前创建并复用固定数量的线程,以避免频繁地创建/销毁线程带来的资源开销。 主要优势包括: 降低资源消耗(复用线程) 提高响应速度(任务提交后可立即执行) 方便管理线程(线程数可控,支持超时、拒绝策略等) 二、线程池的核心类:Executor 和 ThreadPoolExecutorJava 中的线程池定义在 java.util.concurrent 包下,主要接口和类包括: 接口/类名 说明 Executor 线程池顶层接口,定义任务执行方法 ExecutorService 扩展接口,支持任务返回值、关闭池 ThreadPoolExecutor 线程池的核心实现类 Executors 工厂类,用于创建常见线程池 Future 代表异步任务结果 三、使用线程池的三种方式1. 使用 Executors 工厂类(不推荐用于生产)1234567java复制编辑ExecutorService pool =...
I/O流与I/O框架
I/O流与I/O框架全面总结一、Java I/O流基础1. I/O流分类按数据流向 输入流:从数据源读取数据(InputStream/Reader) 输出流:向目标写入数据(OutputStream/Writer) 按数据类型 字节流:以字节为单位(8位),处理二进制数据 InputStream/OutputStream 字符流:以字符为单位(16位),处理文本数据 Reader/Writer 按功能 节点流:直接操作数据源/目标的流 处理流:对现有流进行包装,提供增强功能 2. 核心类体系字节流体系text 123456789101112131415InputStream (抽象类)├─ FileInputStream (文件输入)├─ ByteArrayInputStream (内存数组输入)├─ FilterInputStream (装饰器父类)│ ├─ BufferedInputStream (缓冲流)│ ├─ DataInputStream...
异常和泛型
异常和泛型知识点总结异常处理异常概念 异常是程序运行时发生的不正常情况,会中断正常的指令流 Java中所有异常都继承自Throwable类,分为Error和Exception两大类 异常分类 Error:严重错误,程序无法处理(如内存溢出) Exception: 检查异常(Checked Exception):必须处理(如IOException) 非检查异常(Unchecked Exception/RuntimeException):可选择性处理(如NullPointerException) 异常处理机制 try-catch-finally: java 123456789try { // 可能抛出异常的代码} catch (ExceptionType1 e) { // 处理特定异常} catch (ExceptionType2 e) { // 处理另一种异常} finally { //...
匿名内部类与Lambda表达式
Stream流知识点总结Steam流是Java 8引入的一个强大的API,用于处理集合数据的函数式编程方式。以下是关于Steam流的主要知识点总结: 1. 基本概念 Stream:不是数据结构,而是对数据源(集合、数组等)的高级抽象,用于高效处理大量数据 特点: 不存储数据(只是数据源的视图) 不修改源数据(操作会产生新Stream) 惰性执行(终端操作时才执行) 可消费性(Stream只能被消费一次) 2. 创建Stream的方式java 1234567891011121314// 从集合创建List<String> list = Arrays.asList("a", "b", "c");Stream<String> stream = list.stream();// 从数组创建String[] array = {"a", "b", "c"};Stream<String> stream =...
集合框架概述
集合框架概述Java集合框架(Java Collections Framework)是一组用来存储和操作数据的类和接口,位于java.util包中。它提供了高效的数据结构和算法,简化了程序员的工作。 集合框架主要接口1. Collection接口 (根接口) List:有序集合,元素可重复 Set:无序集合,元素不可重复 Queue:队列,先进先出(FIFO) 2. Map接口 (独立于Collection) 键值对存储结构 主要实现类List接口实现类 ArrayList 基于动态数组实现 随机访问快(O(1)),插入删除慢(O(n)) 线程不安全 LinkedList 基于双向链表实现 插入删除快(O(1)),随机访问慢(O(n)) 实现了Deque接口,可用作队列或栈 Vector 类似ArrayList,但线程安全 性能较差,已被ArrayList取代 Stack...



