- JSP学习
sakoba
学习java
文章目录什么是JSP运行原理JSP基础语法JSP表达式JSP脚本片段JSP声明jsp指令九大内置对象&四大域对象内置对象四大域对象代码JSP标签、JSTL标签、EL表达式EL表达式JSP标签JSTL标签什么是JSPJSP(JavaServerPages)是由SUN公司在1996年6月发布的一种基于Java技术的服务器端编程技术,用于开发动态Web应用。从本质上讲,它是一个简化的Servlet设计。
- 全局加载 loading-page 封装
当窗口卡顿的或白屏的时候可以渲染一个loading动画,当页面恢复结束loading动画/***utils/loading-page.ts*全局加载loading-page*@methodstart创建loading*@methoddone移除loading*/exportconstloadingPage={//开始渲染loadingstart:()=>{//获取顶层body//将新创建的dc-l
- 在vue3中通过jspdf+html2canvas实现导出页面pdf功能
落晓星
pdfvue.js前端ruoyi
一、安装依赖npminstallhtml2canvasjspdf二、创建Vue组件下载文件importhtml2canvasfrom'html2canvas';importjsPDFfrom'jspdf';constroute=useRoute();//当前idconstpolicyExplainId=ref(route.params.id);constloading=ref(false);//详
- Java LinkedList方法总结
yyyyygq
JavaArrayListLinkedList
LinkedList也像ArrayList一样实现了基本的List接口,但是它执行某些操作(在List中间进行插入和删除)比ArrayList跟高效,但随机访问较差。新建:LinkedListlist=newLinkedList();常用方法:增加:add(Ee):在链表后添加一个元素。addFirst(Ee):在链表头部插入一个元素。addLast(Ee):在链表尾部添加一个元素。push(Ee
- java deque linkedlist_java 中 linkedList使用
weixin_39956558
javadequelinkedlist
java中linkedList使用1介绍2特点下面是LinkedList最重要特性:操作list元素从开始或结束反序不是线程安全每个元素是个node节点,节点保持之前和之后引用保持插入有序虽然LinkedLIst不是线程安全,我们创建线程安全版本LinkedList,调用Listlist=Collections.synchronizedList(newLinkedList(...));3比较Arr
- 详解ArrayList和LinkedList的使用
第八讲:详解ArrayList和LinkedList的使用一、ArrayList的使用ArrayList是Java中的一个类,它实现了List接口,提供了一个可调整大小的数组来存储元素。以下是ArrayList的常用方法及其使用示例:构造方法:创建一个空的ArrayList:ArrayListlist=newArrayListotherList=newArrayListlist=newArrayL
- JAVA List<String> 用 stream转为 List<Long>
墨着染霜华
javalist
可以使用JavaStream将List转换为List,前提是这些字符串可以被正确解析为数字。ListlongList=strList.stream().flatMap(s->{try{returnStream.of(Long.parseLong(s));}catch(NumberFormatExceptione){returnStream.empty();}}).collect(Collector
- c++STL库与快速排序
浪子小院
基础精讲c++算法开发语言数据结构
什么是STL库STL=StandardTemplateLibrary,标准模板库,是一系列软件的统称。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。前面已经学习过的中sort函数、中string类都是STL的内容。STL库还有很多内容,比如:向量(vector)、栈(stack)、队列(queue)、优先队列(p
- 将字符串数组String[]转换成List的三种方法
积极向上的Elbert
java学习java开发语言
通过Arrays.asList(strArray)方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。String[]strArray=newString[2];Listlist=Arrays.asList(strArray);list.add("1");//此处会报错原因解析:Arrays.asList(strArray)返回值是java.util.Arrays类中一个私有静态
- C++ Lambda表达式详解:从入门到精通
Jay_515
c++Lambda
Lambda表达式是C11引入的最重要特性之一,它彻底改变了我们在C中编写函数对象的方式。本文将带你全面掌握Lambda表达式的使用技巧!1.什么是Lambda表达式?Lambda表达式是C++11引入的一种匿名函数对象,它允许我们在需要函数的地方内联定义函数,无需单独命名。Lambda的出现极大简化了代码,特别是在使用STL算法时。为什么需要Lambda?简化代码:避免为简单操作单独编写函数对象
- Whistle 超详细技术博客:原理、配置、用法与进阶技巧全解
北漂老男人
抓包工具运维
Whistle超详细技术博客:原理、配置、用法与进阶技巧全解目录Whistle简介与应用场景Whistle安装与启动Whistle原理与架构Whistle规则语法详解常用配置与实战场景Whistle进阶用法与技巧常见问题与排查实用插件推荐总结与参考资料1.Whistle简介与应用场景Whistle是一款基于Node.js的跨平台Web调试代理工具,功能类似于Charles、Fiddler,但更轻量
- docker部署chemex
小青蛙呱呱跳
docker容器运维
[root@localhostchemex]#dockerpullcelaraze/chemex:latestlatest:Pullingfromcelaraze/chemex1bc677758ad7:Pullcompletee606a25055c0:Pullcomplete7ca3302d2e1c:Pullcomplete16acc511032b:Pullcompleteeedbfb904ca8
- 12-C#的list数据使用
水果里面有苹果
C#硬件工程stm32嵌入式硬件
C#的list数据使用1.实例化Listlst1=newList();
- 数据结构-List
M7777777777777
数据结构listwindows
集合框架1定义在集合框架中,List是一个接口,继承自Collection;2常见方法//添加元素Listlist=newArrayListlist1=newArrayListlist2=Arrays.asList("A","B","C");list1.addAll(list2);//返回true//清空集合list.clear();//清空集合//判断集合状态list.isEmpty();//非
- 第2章:Flux全版本说明
鱼雀AIGC
AI绘画ComfyUIstablediffusionFlux
1、Flux官网首页:https://blackforestlabs.ai/(需要魔法)2、Flux官方(黑森林)的三个版本:Pro版本效果最好,但是闭源,API收费的。Dev版本开源但是不可商用,至少需要24G显存运行。下载地址:https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main(需要魔法)Schnell版本开源可商用下载地
- ASP.NET+LayUI实现多图片上传(ashx)
炫澜abc
C#
选择多文件文件名大小状态操作开始上传layui.use('upload',function(){varupload=layui.upload;vardemoListView=$('#demoList'),uploadListIns=upload.render({elem:'#testList',url:'Handler.ashx',accept:'file',multiple:true,size:
- (C++)vector数组相关基础用法(C++教程)(STL库基础教程)
双叶836
STLC++C++基础教学算法c++c语言数据结构开发语言
源代码:#include#include#includeusingnamespacestd;intmain(){chara;intb;intc;vectornumbers;cout>a;if(a=='#'){break;}numbers.push_back(a);}cout>b;cout>c;if(c>=0&&c#include#includeusingnamespacestd;引入了三个必要的头
- Java集合马戏团:List、Set、Map大狂欢
zhysunny
Java那些事javalist开发语言
Java集合马戏团:List、Set、Map大狂欢List系列:有序的队列大师1.ArrayList-数组型"快枪手"Listlist=newArrayList>1);//1.5倍特点:背后是动态数组️按序号访问速度堪比闪电⚡(O(1))适用场景:频繁按索引访问需要遍历的只读数据95%的日常List需求2.LinkedList-链表型"杂技演员"Listlist=newLinkedListlist
- 无线USB转换器TOS-WLink 系统总体设计
开源的6lowpan
无线调试器无线USB转换器无线串口无线JLink嵌入式
鉴于还有很多的朋友没有看过B站的无线USB转换器TOS-WLink总体架构设计视频;这里文字码一下:1,最终追求的效果不论中间经过多少步骤,看起来都是一个过程、一个黑盒子、是可以隐藏的,电脑的操作系统始终使用标准的USB协议来进行通信;软件层面最终的消费者举例:⭐HID类键鼠,U盘等免驱设备,电脑操作系统是最终消费者;⭐JLink,STLink,CH340等需要安装驱动使用,最终消费者是配套的应用
- 【C++高阶二】STL的map和set
Pacify_The_North
C++c++开发语言windowsvisualstudio
【C++高阶二】STL的map和set1.初识map和set2.pair3.set3.1模板参数3.2typedef的类型3.3insert3.4erase3.5lower_bound与upper_bound4.multiset5.map5.1模板参数5.2typedef的类型5.3普通接口5.4insert5.5operator[]6.multimap1.初识map和setset是一个无序集合,
- C++(个人学习总结,不断更新......)
一、初识C++1.1C++简介C++是由BjarneStroustrup研发的,在计算机编程语言中,C++兼容了c语言,又增加了面向对象的机制,同时拥有丰富的库,有标准模板库STL以及很多第三方库,STL中有set、map、hash等容器,第三方库中有Boost库、图形库QT、图库像处理库Opencv、机械学习库Tensorflow等,这些库可以为嵌入式开发提供非常大的支持。1.2C++程序编写#
- C++ STL : Traits
fff_421
C++c++stl
1traits概念引入迭代器所致对象的类型:value_typePromble:temeplate参数推导机制可以推导出函数参数,但是不能推导出函数返回值使用声明内嵌的方法解决templatestructMyIter{typedefTvalue_type;//传进来T是value_type,用T*表示迭代器T*ptr;MyIter(T*p=0):ptr(p){}T&operator*()const
- layui实现鼠标移入/移出时显示/隐藏tips
木心操作
layuilayuijavascript前端
layui实现鼠标移入/移出时显示/隐藏tips弹窗注:其它弹窗亦可按照此方法实现相同效果鼠标移入dom或tips区域,显示tips弹窗;鼠标移出dom或tips区域,隐藏tips窗口;鼠标移入移出layui.use('layer',function(){constlayer=layui.layer;lettimer_event,layer_tips,tips_show=false$('#box'
- Line 1034: Char 34: runtime error: applying non-zero offset 4 to null pointer (stl_vector.h)
大磕学家ZYX
debug相关c++算法数据结构
报错代码:classSolution{public:intclimbStairs(intn){if(ndp;dp[1]=1;dp[2]=2;for(inti=3;idp(n+1)即可。不规定初始值的话,所有元素都默认是0。classSolution{public:intclimbStairs(intn){if(ndp(n+1);//不写初始值的话,默认全都是0dp[1]=1;dp[2]=2;for
- C++的智能指针
月殇_木言
C++c++算法开发语言
目录1.智能指针的应用场景2.内存泄漏3.智能指针的使用及原理3.1RAII3.2智能指针实例4.STL中的智能指针4.1.C++11和boost中智能指针的关系4.1.1Boost库的源起4.1.2智能指针4.2.std::auto_ptr4.3.std::unique_ptr4.4.std::shared_ptr4.4.1.使用及模拟实现4.4.2.循环引用问题4.5.std::weak_pt
- C++函数模板实战指南:从代码复用到高性能泛型算法的工程化应用
广州山泉婚姻
人工智能深度学习
在现代C++工程中,函数模板早已超越了"类型参数化"的基础语法范畴,成为实现代码复用、构建高性能泛型组件的核心技术。从STL算法库到各种框架的底层架构,模板的身影无处不在。本文将从实战角度出发,通过真实工程案例揭示函数模板在代码复用、性能优化和架构设计中的关键作用,并提供可落地的工程化解决方案。一、基础实战:用模板构建可复用的基础组件1.1通用工具函数的模板化实践在工程开发中,我们经常需要实现跨类
- 道路点云分割+边界提取+中心线方法总结
asdbhkasgb
相关论文深度学习计算机视觉人工智能算法3d
1.FastLIDAR-basedRoadDetectionUsingFullyConvolutionalNeuralNetworks2017流程点云数据转换为俯视图图像从激光雷达获取的点云数据是无结构的,因此需要先将其转换为适合全卷积神经网络(FCN)处理的格式。具体来说,作者在激光雷达的XY平面上创建一个网格,并将点云中的每个点分配到相应的网格单元。对每个网格单元计算一些基础统计数据,例如:平
- C# 手动写入日志,过大写入新文件
锋君
c#
老项目没有用logf4j等日志框架,使用的是手动写入文件的方式存储日志。当日志过大会出现写入缓慢问题。下面采用IO异步写入以及文件过大分片等方式解决问题。privatestaticreadonlyobject_lock=newobject();privateconstlongMaxFileSize=10*1024*1024;//10MBpublicvoidSaveTextAsync(stringd
- 【JAVA】list排序三种方法|Collections.sort|stream().sorted
superkcl2022
#javajavalistwindows
1.使用Comparable排序实现Comparable接口,实现compareTo方法publicclassListSortExample{publicstaticvoidmain(String[]args){//创建并初始化ListListlist=newArrayList(){{add(newPerson(1,30,"北京"));add(newPerson(2,20,"西安"));add(n
- Java ArrayList集合和HashSet集合详解
Y1_again_0_again
Javajava开发语言
ArrayList集合概念ArrayList是Java集合框架中的一个动态数组实现,它继承了AbstractList类并实现了List接口。ArrayList允许存储重复元素,并且维护元素的插入顺序。创建ArrayList集合类型对象//创建空的ArrayListArrayListlist1=newArrayList();//创建带有初始容量的ArrayListArrayListlist2=new
- LeetCode[Math] - #66 Plus One
Cwind
javaLeetCode题解AlgorithmMath
原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组
- JQuery中$.ajax()方法参数详解
AILIKES
JavaScriptjsonpjqueryAjaxjson
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持。
timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局
- JConsole & JVisualVM远程监视Webphere服务器JVM
Kai_Ge
JVisualVMJConsoleWebphere
JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18
- 自定义annotation
120153216
annotation
Java annotation 自定义注释@interface的用法 一、什么是注释
说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源
- CentOS 5/6.X 使用 EPEL YUM源
2002wmj
centos
CentOS 6.X 安装使用EPEL YUM源1. 查看操作系统版本[root@node1 ~]# uname -a Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@node1 ~]#
- 在SQLSERVER中查找缺失和无用的索引SQL
357029540
SQL Server
--缺失的索引
SELECT avg_total_user_cost * avg_user_impact * ( user_scans + user_seeks ) AS PossibleImprovement ,
last_user_seek ,
 
- Spring3 MVC 笔记(二) —json+rest优化
7454103
Spring3 MVC
接上次的 spring mvc 注解的一些详细信息!
其实也是一些个人的学习笔记 呵呵!
- 替换“\”的时候报错Unexpected internal error near index 1 \ ^
adminjun
java“\替换”
发现还是有些东西没有刻子脑子里,,过段时间就没什么概念了,所以贴出来...以免再忘...
在拆分字符串时遇到通过 \ 来拆分,可是用所以想通过转义 \\ 来拆分的时候会报异常
public class Main {
/*
- POJ 1035 Spell checker(哈希表)
aijuans
暴力求解--哈希表
/*
题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词
要求按照输入时候的排名输出
题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重
*/
#include <iostream>
//#define
using namespace std;
const int HASH =
- 通过原型实现javascript Array的去重、最大值和最小值
ayaoxinchao
JavaScriptarrayprototype
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能。本次主要是实现了Array的去重、获取最大值和最小值。
实现代码如下:
<script type="text/javascript">
Array.prototype.unique = function() {
var a = {};
var le
- UIWebView实现https双向认证请求
bewithme
UIWebViewhttpsObjective-C
什么是HTTPS双向认证我已在先前的博文 ASIHTTPRequest实现https双向认证请求
中有讲述,不理解的读者可以先复习一下。本文是用UIWebView来实现对需要客户端证书验证的服务请求,网上有些文章中有涉及到此内容,但都只言片语,没有讲完全,更没有完整的代码,让人困扰不已。但是此知
- NoSQL数据库之Redis数据库管理(Redis高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
bijian1013
redis数据库NoSQL
3.事务处理
Redis对事务的支持目前不比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中
- 各数据库分页sql备忘
bingyingao
oraclesql分页
ORACLE
下面这个效率很低
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_FS_RETURN order by id desc) A ) WHERE RN <20;
下面这个效率很高
SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_
- 【Scala七】Scala核心一:函数
bit1129
scala
1. 如果函数体只有一行代码,则可以不用写{},比如
def print(x: Int) = println(x)
一行上的多条语句用分号隔开,则只有第一句属于方法体,例如
def printWithValue(x: Int) : String= println(x); "ABC"
上面的代码报错,因为,printWithValue的方法
- 了解GHC的factorial编译过程
bookjovi
haskell
GHC相对其他主流语言的编译器或解释器还是比较复杂的,一部分原因是haskell本身的设计就不易于实现compiler,如lazy特性,static typed,类型推导等。
关于GHC的内部实现有篇文章说的挺好,这里,文中在RTS一节中详细说了haskell的concurrent实现,里面提到了green thread,如果熟悉Go语言的话就会发现,ghc的concurrent实现和Go有点类
- Java-Collections Framework学习与总结-LinkedHashMap
BrokenDreams
LinkedHashMap
前面总结了java.util.HashMap,了解了其内部由散列表实现,每个桶内是一个单向链表。那有没有双向链表的实现呢?双向链表的实现会具备什么特性呢?来看一下HashMap的一个子类——java.util.LinkedHashMap。
- 读《研磨设计模式》-代码笔记-抽象工厂模式-Abstract Factory
bylijinnan
abstract
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* Abstract Factory Pattern
* 抽象工厂模式的目的是:
* 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇”
* 这些接口是相关或者相依赖的
- 压暗面部高光
cherishLC
PS
方法一、压暗高光&重新着色
当皮肤很油又使用闪光灯时,很容易在面部形成高光区域。
下面讲一下我今天处理高光区域的心得:
皮肤可以分为纹理和色彩两个属性。其中纹理主要由亮度通道(Lab模式的L通道)决定,色彩则由a、b通道确定。
处理思路为在保持高光区域纹理的情况下,对高光区域着色。具体步骤为:降低高光区域的整体的亮度,再进行着色。
如果想简化步骤,可以只进行着色(参看下面的步骤1
- Java VisualVM监控远程JVM
crabdave
visualvm
Java VisualVM监控远程JVM
JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到界面
通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
 
- Saiku去掉登录模块
daizj
saiku登录olapBI
1、修改applicationContext-saiku-webapp.xml
<security:intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern=&qu
- 浅析 Flex中的Focus
dsjt
htmlFlexFlash
关键字:focus、 setFocus、 IFocusManager、KeyboardEvent
焦点、设置焦点、获得焦点、键盘事件
一、无焦点的困扰——组件监听不到键盘事件
原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件的父项(以及它爸
- Yii全局函数使用
dcj3sjt126com
yii
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。(原文地址)
我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在
- 设计模式之单例模式二(解决无序写入的问题)
come_for_dream
单例模式volatile乱序执行双重检验锁
在上篇文章中我们使用了双重检验锁的方式避免懒汉式单例模式下由于多线程造成的实例被多次创建的问题,但是因为由于JVM为了使得处理器内部的运算单元能充分利用,处理器可能会对输入代码进行乱序执行(Out Of Order Execute)优化,处理器会在计算之后将乱序执行的结果进行重组,保证该
- 程序员从初级到高级的蜕变
gcq511120594
框架工作PHPandroidhtml5
软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。
我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。
现在我们把淫浸代码时间超过3年的开发人员称为
- Reverse Linked List
hcx2013
list
Reverse a singly linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
p
- Spring4.1新特性——数据库集成测试
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- C# Ajax上传图片同时生成微缩图(附Demo)
liyonghui160com
1.Ajax无刷新上传图片,详情请阅我的这篇文章。(jquery + c# ashx)
2.C#位图处理 System.Drawing。
3.最新demo支持IE7,IE8,Fir
- Java list三种遍历方法性能比较
pda158
java
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:
package com.hisense.tiger.list;
import java.util.ArrayList;
import java.util.Iterator;
- 300个涵盖IT各方面的免费资源(上)——商业与市场篇
shoothao
seo商业与市场IT资源免费资源
A.网站模板+logo+服务器主机+发票生成
HTML5 UP:响应式的HTML5和CSS3网站模板。
Bootswatch:免费的Bootstrap主题。
Templated:收集了845个免费的CSS和HTML5网站模板。
Wordpress.org|Wordpress.com:可免费创建你的新网站。
Strikingly:关注领域中免费无限的移动优
- localStorage、sessionStorage
uule
localStorage
W3School 例子
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不