vuex2.x中mutation 和 action的基本使用

1, mutation  The only way to actually change state in a Vuex store is by committing a mutation, 在vue 中,只有mutation 才能改变state.  mutation 类似事件,每一个mu...

2019-11-09
标签11: vue    44

vue中vue2-dropzone 多文件上传插件的使用

下载依赖包 推荐使用cnpm cnpm install vue2-dropzone --saveAPI文档 https://rowanwins.github.io/vue-dropzone/docs/dist/index.html#/installationvue-dropzone的git...

2019-11-01
标签11: JavaScript  vue    94

Java内存模型(JMM)解析

什么是Java内存模型?在了解java内存模型之前,我们先来看看计算机的内存模型 CPU执行过程大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行的时候,又免不了要和数据打交道,而计算机上面的临时数据,是储存在主存中的(计算机物理内存)。计算机内存包括高速缓存和主存。我们...

2019-10-30
标签11: JAVA    35

内存溢出与内存泄漏解析

内存溢出(out of memory):简单地说内存溢出就是指程序运行过程中申请的内存大于系统能够提供的内存,导致无法申请到足够的内存,于是就发生了内存溢出。内存泄漏(memory leak):内存泄漏指程序运行过程中分配内存给临时变量,用完之后却没有被GC回收,始终占用着内存,既不能被使用也不能被...

2019-10-29
标签11: JAVA    30

Java常见的几种内存溢出类型及解决方案

1.JVM Heap(堆)溢出:java.lang.OutOfMemoryError: Java heap space (堆内存溢出型)     JVM在启动的时候会自动设置JVM Heap的值, 可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Hea...

2019-10-29
标签11: JAVA    64

I/O模型的解析

什么是同步?什么是异步?  同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行;  异步就是:如果有多个任务或者事件发生,这些事件可以并发地执行,一个事件或者任务的执行不会导致整个流程的暂时等待。void...

2019-10-28
标签11: JAVA    46

Java中ArrayList和LinkedList区别

一般大家都知道ArrayList和LinkedList的大致区别:  1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 (LinkedList是双向链表,有next也有previous) 2.对于随机访问get和set,Ar...

2019-10-26
标签11: JAVA    48

Java中IO详解

IO 是什么?其实就是Java中的一种输入和输出功能,也可以理解为对文件的读取和写入的操作(比如读取磁盘文件或者更改磁盘文件的内容),只不过Java中对这种操作叫做对流的操作。而流不只是对文件进行读写,还可以对内存,网络,程度操作。IO流Java的IO流是实现输入/输出的基础,它可以方便地实现数据的...

2019-10-26
标签11: JAVA    61

jvm内存结构详解

JVM(Java Virtual Machine,Java虚拟机)Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.cla...

2019-10-25
标签11: JAVA    37

HashMap底层原理解析

HashMap概述      在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,也就是说同一hash值的节点都存储在哈希数组同一下标下的一个链表里。但是当一个链表太长(元素较多)时,即hash值相等的元素较多时,通过key值依次查找的效率较低。而...

2019-10-24
标签11: JAVA    41

TreeSet/HashSet 区别

HashSetHashSet背后是HashMap,key是无序的(这里无序是指存入元素的先后顺序与输出元素的先后顺序不一致),可以接受null值HashSet中保证集合中元素是唯一的方法:通过对象的hashCode和equals方法来完成对象唯一性的判断。如果对象的hashCode值不同,则不用判断...

2019-10-24
标签11: JAVA    26

java深入理解线程和线程池

什么是线程线程,程序执行流的最小执行单位,是行程中的实际运作单位,经常容易和进程这个概念混淆。那么,线程和进程究竟有什么区别呢?首先,进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中至少包含了一个运行的线程...

2019-10-24
标签11: JAVA    42

ThreadLocal ,ThreadLocalMap 和Thread 的关系

Thread 中持有一个ThreadLocalMap ,这里你可以简单理解为就是持有一个数组,这个数组是Entry 类型的。Entry 的key 是ThreadLocal 类型的,value 是Object 类型。也就是一个ThreadLocalMap 可以持有多个ThreadLocal。为什么Th...

2019-10-23
标签11: JAVA    55

String、StringBuffer、StringBuilder的区别

String字符串常量在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。我们来看一下这张对String操作时内存变...

2019-10-23
标签11: JAVA    49

多线程下的线程安全问题的产生

定义:线程安全是多线程编程下,多条线程并行执行对共享数据进行操作时,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。问题分析:既然是线程安全问题,那么毫无疑问所有的隐患都是出现在多个线程访问的情况下产生的,也就是我们要确保在多条线程访问的时候,我们的程序还...

2019-10-22
标签11: JAVA    72

java 线程安全的解决方案

多线程的数据安全性问题分为三种:原子性、可见性和有序性。原子性:是指我们的一系列操作要么全部都做,要么全部不做。可见性java内存模型规定,每个java线程可以有自己的工作内存,工作内存是线程私有的,而共享内存(主存)是线程共享的。线程工作内存中会有共享变量的副本,当线程对一个共享变量进行写入时,会...

2019-10-22
标签11: JAVA    44

java基本类型和包装类型的区别

01.包装类型可以为 null,而基本类型不可以包装类型可以应用于 POJO 中,而基本类型则不行。比如我们在使用spring的时候定义的实体类属性我们就用包装类型class User{ private Integer age; private String name; public Integer...

2019-10-22
标签11: JAVA    61

详解Java的自动装箱与拆箱

简单一点说,装箱就是自动将基本数据类型转换为包装类型(包装类型是有一个对象可以调用方法);拆箱就是自动将包装类型转换为基本数据类型。下面我们来看看需要装箱拆箱的类型有哪些: //自动装箱  Integer total = 10;  //自定拆箱  int to...

2019-10-21
标签11: JAVA    75

重写equals()方法的同时必须要重写hashcode()方法?

== :主要用于基本类型之间的比较(char、Boolean、byte、short、int、long、float、dobule),也可以用于比较对象equals: 对象之间的比较(基本类型的包装器类型,string,自己定义的对象等)基本类型的包装器类型、string已经帮我们重写了equals方法...

2019-10-20
标签11: JAVA    67

java中字符串常量池详解

字符串常量池会用来存放字符串,也就是说常量池中的文本字符串会在类加载时进入字符串常量池。那字符串常量池和运行时常量池是什么关系呢?上面我们说常量池中的字面量会在类加载后进入运行时常量池,其中字面量中有包括文本字符串,显然从这段文字我们可以知道字符串常量池存在于运行时常量池中。字符串对象创建的过程St...

2019-10-18
标签11: JAVA    76