自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 线程安全与锁优化

Java 语言中的线程安全 1. 不可变 2. 绝对线程安全 3. 相对线程安全 4. 线程兼容 5. 线程对立 6. String不可变,保证了数据安全线程安全的实现方法 1.互斥同步 Synchronized是不公平锁 Lock:等待中断、实现公平锁、锁的绑定条件 悲观锁:让线程阻塞同步,进入等待、数据同步 2.非阻塞同步 乐观锁:volatile轻量级锁,具有两个特性:1.可见性 2.不可重排序优化

2021-04-12 23:52:51 148

原创 类加载机制

类加载机制加载—> 连接 ----> 初始化 ----> 运行 ----> 卸载连接分为:验证、准备、解析Java动态扩展语言特性依赖于运行时期加载和动态连接加载:三部分 1.通过全限定名来获取二进制字节流 2.通过二进制流来将静态存储结构转换为方法区运行时数据结构 3.在内存中生成一个类,作为方法区的各种类数据接口验证: 1.文件格式验证 2.元数据验证 3.字节码验证 4.符号引用验证准备:加载static修饰的数据或

2021-04-12 22:23:31 149

原创 JVM垃圾回收与内存分配

JVM垃圾回收与内存分配垃圾回收判断算法:1. 引用计数法给对象添加一个计数器,当引用时计数器就加1,如果引用失效时,则计数器则减1。如果计数器为0时,则表示该对象不被引用。从而判定可以回收。2. 可达性分析算法GCROOTS为起点,向下搜索,搜索过程的路径作为引用链,当一个对象没有任何一个引用链,则表明对象不可被引用。GCRoot的对象:2.1 虚拟机栈中引用的对象2.2 方法区中的类静态属性引用对象2.3 方法区中常量引用对象2.4 本地方法栈中JNI引用的对象引用:引用可以分为

2021-04-08 23:53:45 210 1

原创 JVM内存区域

JVM内存区域Java虚拟机分为:计数器、虚拟机栈、本地方法栈、堆Java堆分为新生代和老年代。新生代分为Eden、from survivor 、to survivor 比例为8:1:1。Java方法区一般被称为永久代、但是JDK1.7之后元空间取消了永久代。元空间主要存储的是类加载信息的常量、常量、静态变量、即时编译器后的代码、运行时常量池。Java虚拟机栈主要是描述Java方法执行的内存模型。每个栈帧存储局部变量表、操作数栈、动态连接。一般当类加载完成后,就确定了Java的栈内存。所以内存溢出

2021-04-08 22:42:19 132

原创 webpack

webpack+插件打包、编译、测试、调试本质上webpack是一个JavaScript应用程序的静态模块打包器。当webpack处理应用程序时,会递归的构建一个依赖关系图,其中包含应用程序的每个模块,然后将所有这些模块打包成一个或多个bundle。webpack安装1.cnpm i -g webpack全局安装webpack,可以全局使用webpack2.在项目根目录中运行npm i ...

2019-08-13 13:06:53 164

原创 Gulp

Gulp:任务自动构建管理工具。可以通过自动执行常见的任务,比如预编译css,压缩JavaScript和刷新浏览器,来改进网站开发的过程。Gulp本身虽然不能完成很多任务,但是有大量的插件可用。性能优化、文件合并、文件压缩、效率提升。基础环境:需要安装node。安装:Gulp需要全局安装,然后在项目的开发目录中安装为本地模块。全局安装命令:npm install gulp -g使用:初...

2019-08-13 13:01:08 475 1

原创 Vue-router

一、Vue-router入门:先看项目的目录结构所要写的vue文件放入components中。简单例子如下。新建一个hi.vue<template> <div class="hi"> {{msg}} </div></template> export default { name: 'hi', data ...

2019-08-13 12:53:00 790

原创 VueX

初始Vuex:vuex是一个专门为vue.js应用程序开发的状态管理模式。这个状态与之对应的是data中的属性,需要共享给其他组件使用的部分。也就是说使用vuex进行统一集中管理共享的data。vuex中的五种基本对象:state:存储状态(变量)getters:对数据获取之前的再次编译,也就是state的计算属性。在组件中使用 $sotre.getter.fun()mutati...

2019-08-13 09:36:49 337

原创 Vue-cli

安装Vue-cli:使用全局安装vue-cli;在cmd中输入一下命令npm install -g vue-cli使用图形化界面:vue ui创建项目: mydemovue init webpack mydemoPS:项目名字不能有大写字母。创建项目详情:Project name (vuetest)项目名称,可以自己指定,也可直接回车,按照括号中默认名字。Project d...

2019-08-13 09:12:44 510

原创 Vue.js上

Vue.js1.什么是Vue.js1).Vue.js是一个JavaScri的库。2).Vue.js本身只专注于UI层面,并且核心价值永远都是API的简洁。3).其他功能比如路由、ajax等,只会提供可选的模块。2.简单入门1).可以直接在页面中利用script标签引入。Vue会被注册为全局变量。2).对于生产环境来说,可以链接到一个明确的版本号和构建文件。3).Vue构建大型应用时可以...

2019-08-12 23:55:58 482

原创 Vue.js下

Vue.js自定义指令1.自定义全局指令在Vue.js处理默认设置的核心指令(v-model和v-show),Vue也允许注册自定义指令。如下实例,注册一个全局指令v-focus,功能为在页面加载时,元素获得焦点。<div id="app"> <input v-focus></div><srcipt> Vue.directive("...

2019-08-12 23:55:12 279

原创 Vue.js中

Vue.js事件处理器1.v-on指令<div id="app"> <button v-on:click="count++">点击</button> <p>这个按钮被点击了 {{ count }} 次。</p></div><script> new Vue(){ el:"#app", ...

2019-08-12 23:43:54 194

原创 ES6语法

ES6语法let和const:在ES5中作用域分为全局作用域和函数作用域。在ES6中作用域分为全局作用域、函数作用域和块作用域。let使用let块作用域实例:for(let i=1;i<3;i++){ console.log(i);}此时let定义的i只能在for循环里使用。PS:let不能重复定义一个变量。const使用:在这里插入代码片...

2019-08-11 23:42:52 540

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除