Node.js中使用MongoDB数据库
axios
基于promise用于浏览器和node.js的http客户端
支持浏览器和node.js
支持promise
能拦截请求和响应
自动转换JSON数据
能转换请求和响应数据
axios基础用法
get和 delete请求传递参数
通过传统的url 以 ? 的形式传递参数
restful 形式传递参数
通过params 形式传递参数
post 和 put 请求传递参数
通过选项传递参数
通过 URLSearchParams 传递参数
axios基本用法1234567891011121314151617<script type="text/javascript" src="js/axios.js"></script> <script type="text/javascript"> /* async/await处理多个异步任务 */ axios.defaults.baseURL = 'http://localhost:3000 ...
6.JVM-垃圾回收机制
基本概念:
在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收
什么对象可以看作垃圾?
没有被任何其他对象引用的对象
1. 如何判断对象是否是垃圾
引用计数算法判断对象的引用数量,每个对象实例都有一个引用计数器,当它被引用时+1,完成引用时-1.任何时刻计数器数值为零的对象就是不可能再被使用的,那么这个对象就是可回收对象。
优点:执行效率高,程序执行受影响较小。
缺点:无法解决 ...
Node.js中使用MongoDB数据库
接口调用方式
原生ajax
基于jQuery的ajax
fetch
axios
url 地址格式有哪些
传统的url
Restful形式的url
异步
JavaScript的执行环境是「单线程」
所谓单线程,是指JS引擎中负责解释和执行JavaScript代码的线程只有一个,也就是一次只能完成一项任务,这个任务执行完后才能执行下一个,它会「阻塞」其他任务。这个任务可称为主线程
异步模式可以一起执行多个任务
JS中常见的异步调用
定时任何
ajax
事件函数
promise
主要解决异步深层嵌套的问题
promise 提供了简洁的API 使得异步操作更加容易
Promise的基础使用1234567891011121314151617181920212223242526272829<body> <div>前后端交互</div> <script type="text/javascript" src="js/jquery.js"></script> <script ty ...
5.JVM-字节码
1. Java 字节码代码编译结果从本地机器码转变为字节码,是存储格式发展的一小步,确是编程语言发展的一大步。
2. 字节码文件剖析我们从一段简单的代码来入手
1234567891011public class MyTest01 { private int a = 0; public int getA() { return a; } public void setA(int a) { this.a = a; }}
我要要看一下 java 文件对应的 class 文件的结构,定位到工程的 out\production\classes 下边执行:
javap -c com.cuzz.jvm.bytecode.Mytest01
12345678910111213141516171819202122232425警告: 二进制文件com.cuzz.jvm.bytecode.Mytest01包含com.cuzz.jvm.bytecode.MyTest01Compiled from ...
Node.js中使用MongoDB数据库
组件
组件 (Component) 是 Vue.js 最强大的功能之一
组件可以扩展 HTML 元素,封装可重用的代
组件注册全局注册
Vue.component(‘组件名称’, { }) 第1个参数是标签名称,第2个参数是一个选项对象
全局组件注册后,任何vue实例都可以用
组件基础使用1234567891011121314151617181920212223242526272829303132<body> <div id="app"> <button-counter></button-counter> <button-counter></button-counter> <button-counter></button-counter> </div> <script type="text/javascript" src="js/vue.js"></script> ...
4.JVM-类加载器
1. ClassLoader文档:https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html
我们知道类的加载是双亲委派机制,我们先来看一个例子
12345678910public class MyTest15 { public static void main(String[] args) { ClassLoader loader = MyTest15.class.getClassLoader(); System.out.println(loader); ClassLoader loader1 = loader.getParent(); System.out.println(loader1); ClassLoader loader2 = loader1.getParent(); System.out.println(loader2); }}
输出
123sun.misc. ...
3.JVM-类加载机制深度解析
1. 类加载机制在如下几种情况下,Java 虚拟机将结束生命周期
执行了 System.exit() 方法
程序正常执行结束
程序在执行的过程中遇到了异常或则错误而异常终止
由于操作系统出现了错误,导致 Java 虚拟机进程结束
Java 程序对类的使用方式可以分为两种:
主动使用
创建类的实例
访问某个类或接口的静态变量,或则对该静态变量赋值
调用类的静态方法
反射(如 Class.forName(“com.cuzz.Test”))
初始化一个子类
Java 虚拟机启动时被标明为启动类的类
被动使用
所有的 Java 虚拟机实现必须在每个类或接口被 Java 程序首次主动使用时才初始化他们
我们来看一段代码
12345678910111213141516171819public class MyTest01 { public static void main(String[] args) { System.out.println(Child1.str); }}class Parent1 { ...
2.JVM-类加载机制
概念:
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class对象,用来封装类在方法区内的数据结构。
类加载器JVM预定义有三种类加载器,当一个 JVM启动的时候,Java开始使用如下三种类加载器。
Bootstrap ClassLoader: 它是根类加载器,由c++编写,JVM启动时加载它,然后它加载另外两个类加载器,它还会加载$JAVA_HOME中jre/lib/rt.jar里所有的class。
Extension ClassLoader: 扩展类加载器,负责加载$JAVA_HOME中jre/lib/*.jar或-Djava.ext.dirs指定目录下的jar包
App ClassLoader: 应用类加载器,一般我们用的类都是由它加载的,当然我们可以自定义类加载器,此时就是以它为父类加载器。
自定义类加载器: 可以通过继承 ClassLoader并重写findClass方法来实现。
1. 类加载过程JVM将类加载过程分为三个阶段,装载,链接,初始化 ...
1.JVM-运行时数据区
JVM体系结构预览
Class Loader类加载器
负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,值与他是否可以允许,则由Execution Engine决定
Execution Engine执行引擎 负责解释命令,提交操作系统执行
1. 运行时数据区程序计数器PCR 每个线程都有一个程序计数器,是线程私有的,就是一个指针,指向方法区中的方法字节码(用来存储指向下一条指令的地址,也即将要执行的指令代码),由执行引擎读取下一条指令,是一个非常小的内存空间,几乎可以忽略不记。**(因为JVM执行代码是一行一行的执行,所以需要计数器来记录当前执行的行数)**
栈(包括虚拟机栈、本地方法栈)栈也叫栈内存,主管Java程序的运行,是在线程创建时创建,它的生命期是跟随线程的生命期,线程结束栈内存也就释放,对于栈来说不存在垃圾回收问题,只要线程一结束该栈就Over,生命周期和线程一致,是线程私有的。基本类型 ...
Vue全家桶之常用特性
表单基本操作通过V-model获取单选框、复选框、下拉框、文本框中的值
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 <style type="text/css"> form div { height: 40px; line-height: 40px; } form div:nth-child(4) { height: auto; } form div span:first-child { display: inline-block; width: 100px; } </style></head><body> <div ...





