学好多又学不会学不懂,我真笨。
Web服务技术:
前端Web技术:HTML、CSS、JavaScript、Jquery、ES6、Ajax、Node.js。
后端服务器技术:ASP–c#、PHP–php、JSP–java、CGI(公用网关接口)–perl。
前端在工作一般用ES6、Ajax、Node.js,看懂前面的基础这些就会看得懂,都是第三方框架。
Web架构技术演进历程:静态页面 -> MVC(templates,模板) -> 前后端分离。
前后端分离就是一种架构模式,说通俗点就是后端项目里面看不到页面(HTML),后端给前端提供接口,前端调用后端提供的REST风格接口就行,前端专注写页面(html)和渲染(JS、CSS、各种前端框架);后端专注写后台代码就行,前后端分离的核心:后端提供数据(操作数据库,实现增删改查、提供接口),前端负责显示。
数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插值查找,斐波那契查找等方式,可将查找复杂度提高为O(logn);对于一般的插入删除操作,涉及到数组元素的移动,其平均复杂度也为O(n)
线性链表:对于链表的新增,删除等操作(在找到指定操作位置后),仅需处理结点间的引用即可,时间复杂度为O(1),而查找操作需要遍历链表逐一进行比对,复杂度为O(n)
二叉树:对一棵相对平衡的有序二叉树,对其进行插入,查找,删除等操作,平均复杂度均为O(logn)。
哈希表:在哈希表中进行添加,删除,查找等操作,性能十分之高,不考虑哈希冲突的情况下,仅需一次定位即可完成,时间复杂度为O(1)。
我们知道,数据结构的物理存储结构只有两种:顺序存储结构和链式存储结构(像栈,队列,树,图等是从逻辑结构去抽象的,映射到内存中,也这两种物理组织形式),而在上面我们提到过,在数组中根据下标查找某个元素,一次定位就可以达到,哈希表利用了这种特性,哈希表的主干就是数组。
比如我们要新增或查找某个元素,我们通过把当前元素的关键字 通过某个函数映射到数组中的某个位置,通过数组下标一次定位就可完成操作。
location = hash(关键字)
其中,hash函数设计的优劣直接影响整体的性能。
1 | public static void main(String[] args) |
public:访问修饰符,它也是最宽松的,所有类可见。不写是default,同一包内可见,按严格类型划分它们中间还有个protected,最严格的是privat。
static:关键字。(全局或静态的意思,动态是final,值不给变,修饰的方法不可被重写或者继承)//Java语言没有全局变量的概念
其他影响:static和final都是附加的功能没有默认一说,静态只能调静态,动态调动态。
//final还不能被继承。
void:返回类型。//不是void的话你可以是int型啥的 但是要return同类型的
main:方法名。//可改
string[]:string类数组。//可改,甚至不是数组,但是这样连运行入口都没了。。
args:字符串型数组。//可改
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true