4.jQuery滚动事件
前端–jQuery滚动事件
scroll() 滚动条事件
scrollLeft() 获取的是横向滚动的距离。
scrollTop() 获取的纵向滚动的距离。
12345678910111213141516171819202122232425262728293031323334353637<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <title>jq滚动事件</title> <style> * { margin: 0; padding: 0; } ul, li { list-style: none; } #box { width: 2000px; ...
4.CSS文字文本样式
[toc]
CSS文字文本样式1. font字体1.1 font-size:大小
font-size属性用于设置字号
123p { font-size:20px; }
单位:
可以使用相对长度单位,也可以使用绝对长度单位。
相对长度单位比较常用,推荐使用像素单位px,绝对长度单位使用较少。
注意:
我们文字大小以后,基本就用px了,其他单位很少使用
谷歌浏览器默认的文字大小为16px
但是不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确值大小,不要默认大小。一般给body指定整个页面文字的大小
1.2 font-family:字体
作用:font-family属性用于设置哪一种字体。
123p{ font-family:"微软雅黑";}
网页中常用的字体有宋体、微软雅黑、黑体等,例如将网页中所有段落文本的字体设置为微软雅黑
可以同时指定多个字体,中间以逗号隔开,表示如果浏览器不支持第一个字体,则会尝试下一个,直到找到合适的字体, 如果都没有,则以我们电脑默认的字体为 ...
4.Vue组件化
[toc]
前端框架—Vue组件化
在大型应用开发的时候,页面可以划分成很多部分。往往不同的页面,也会有相同的部分。例如可能会有相同的头部导航。但是如果每个页面都独自开发,这无疑增加了我们开发的成本。所以我们会把页面的不同部分拆分成独立的组件,然后在不同页面就可以共享这些组件,避免重复开发。在vue里,所有的vue实例都是组件。
组件(Component)是 Vue.js 最强大的功能之一。
组件可以扩展 HTML 元素,封装可重用的代码。
1. 全局组件
我们通过Vue的component方法来定义一个全局组件。
组件其实也是一个Vue实例,因此它在定义时也会接收:data、methods、生命周期函数等。
不同的是组件不会与页面的元素绑定,否则就无法复用了,因此没有el属性。
==但是组件渲染需要html模板,所以增加了template属性,值就是HTML模板。==
全局组件定义完毕,任何vue实例都可以直接在HTML中通过组件名称来使用组件了。
data必须是一个函数,不再是一个对象。
12345678910111213141516171819202122232425 ...
4.设计模式-单列模式
衣带渐宽终不悔。为伊消得人憔悴。
——柳永《蝶恋花》
单列模式
所谓类的单例设计模式,就是 采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。
比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFactory 并不是轻量级的,一般情况下,一个项目通常只需要一个 SessionFactory 就够,这是就会使用到单例模式。
1. 单例模式在 JDK 源码中的应用12345678910111213141516171819/***每个Java应用程序都有一个Runtime类的Runtime ,允许应用程序与运行应用程序的环境进行接口。 当前运行时可以*从getRuntime方法获得。*/public class Runtime { private static Runtime currentRuntime = new Runtime(); public static Runtime getRuntim ...
5.Collections包装类和Comparator比较器
两情若是久长时,又岂在朝朝暮暮。
——秦观《鹊桥仙》
## Collections包装类和Comparator比较器
1. Collections包装类
java.util.Collections 是一个包装类。它包含有各种有关集合操作的 静态多态方法。
此类 不能实例化,就像一 个工具类,服务于Java的Collection框架。
他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
1.1 可变参数
在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化成如下格式:
1修饰符 返回值类型 方法名(参数类型... 形参名){ }
其实这个书写完全等价与
1修饰符 返回值类型 方法名(参数类型[] 形参名){ }
只是后面这种定义,在调用时必须传递数组,而前者可以直接传递数据即可。
JDK1.5以后。出现了简化操作。==… 用在参数上,称之为可变参数。==
同样是代表数组,但是在调用这个带有可变参数的方法时,不用创建数组(这就是简单之处),直接将数组中的元素作为实际参数进行 ...
5.JVM运行时数据区概述
道是梨花不是。道是杏花不是。白白与红红,别是东风情味。
——严蕊《如梦令》
JVM运行时数据区概述
本文主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段
当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区
我们把大厨后面的东西(切好的菜,刀,调料),比作是运行时数据区。而厨师可以类比于执行引擎,将通过准备的东西进行制作成精美的菜品。
1. 运行时数据区的完整图
内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。结合JVM虚拟机规范,来探讨一下经典的JVM内存布局。
我们通过磁盘或者网络IO得到的数据,都需要先加载到内存中,然后CPU从内存中获取数据进行读取,也就是说内存充当了CPU和磁盘之间的桥梁
Java ...
5.Java基础之Properties类
青春都一饷。忍把浮名,换了浅斟低唱!
——柳永《鹤冲天》
Java基础之Properties类
java.util.Properties 继承于 Hashtable ,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时, System.getProperties 方法就是返回一个 Properties 对象。
Properties类
public Object setProperty(String key, String value) : 保存一对属性。
public String getProperty(String key) :使用此属性列表中指定的键搜索属性值。
public Set<String> stringPropertyNames() :所有键的名称的集合。
123456789101112131415161718192021222324public static void main(String[] args) throws FileNotFoundException & ...
5.MySql的体系结构概览
欲将沉醉换悲凉。清歌莫断肠。
——晏几道《阮郎归》
## MySql的体系结构概览
整个MySQL Server由以下组成
Connection Pool : 连接池组件
Management Services & Utilities : 管理服务和工具组件
SQL Interface : SQL接口组件
Parser : 查询分析器组件
Optimizer : 优化器组件
Caches & Buffers : 缓冲池组件
Pluggable Storage Engines : 存储引擎
File System : 文件系统
1. 连接层
最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。
主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。
同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。
2. 服务层
第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成 ...
5.CSS复合选择器
[toc]
CSS复合选择器
CSS选择器分为 基础选择器 和 复合选择器 ,但是基础选择器不能满足我们实际开发中,快速高效的选择标签。
目的是为了可以选择更准确更精细的目标元素标签。
复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。
1. 后代选择器(重点)
后代选择器又称为包含选择器,用来选择元素或元素组的子孙后代。
其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,先写父亲爷爷,再写儿子孙子。
12父级 子级{属性:属性值;属性:属性值;}.class h3{color:red;font-size:16px;}
当标签发生嵌套时,内层标签就成为外层标签的后代。
子孙后代都可以这么选择。 或者说,它能选择任何包含在内的标签。
2. 子元素选择器
子元素选择器只能选择作为某元素子元素(亲儿子,不包含孙子 重孙子之类)的元素。
其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接。
12345678 .class>h3{color ...
5.Vue路由
[toc]
前端框架—Vue路由router1. 场景模拟
一个页面,包含登录和注册,点击不同按钮,实现登录和注册页切换:
1.1.编写父组件
入口:index.html
1234567891011121314<div id="app"> <span>登录</span> <span>注册</span> <hr/> <div> 登录页/注册页 </div></div><script src="../node_modules/vue/dist/vue.js"></script><script type="text/javascript"> var vm = new Vue({ el:"#app" })</script>
1.2 编写登录及注册组件
接下来我们来 ...