自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js中什么看做false

在javascript中,有一些值会被视为false,这些值通常被称为“假值(falsy values)”。虽然它们不是布尔值真正意义上的false,但它们在条件语句判断中会被视为假false,因此了解这些假值非常重要。布尔值 ,false:直接使用布尔字面量 false。数字, 0:当变量的值为数字 0 时,会被判断为 false。空字符串 '':当变量的值为空字符串时,会被判断为 false。null:当变量的值为 null 时,会被判断为 false。undefined。

2023-11-20 16:30:40 39

原创 使用WebSocket实现网页聊天室

一、引言1. 问题引入Hypertext Transfer Protocol (HTTP) 协议一种无状态的、应用层的、以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动.因为http 通信只能由客户端发起,服务器返回查询结果,HTTP 协议做不到服务器主动向客户端推送信息,服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用轮询:每隔一段时候,就发出一个询问,了解服务器有没有新的信息。最典型的场景就是聊天室。轮询的效率低,非常浪费

2023-11-16 17:59:02 686

原创 浅谈jvm

JVM

2023-11-13 17:07:37 766

原创 JVM垃圾回收机制

本节主要讲解 7 种垃圾回收器,其中有 3 种垃圾回收器是作用于年轻代垃圾回收的收集器;另外 3 种圾回收器是作用于老年代垃圾回收的收集器;剩余的 1 种垃圾回收器能够同时作用于年轻代和老年代。

2023-11-10 18:06:04 147

原创 JVM运行时数据区

基本概念:Java 栈有两个,分别是虚拟机栈和本地方法栈。这里以虚拟机栈为例,本地方法栈和虚拟机栈基本相同。栈的特点:对于每个线程,将创建单独的运行时栈。对于每个方法调用,将在栈存储器中产生一个条目,称为栈帧。所有局部变量将在栈内存中创建。栈区域是线程安全的,因为它不共享资源。Java 虚拟机栈是线程私有的,它的生命周期与线程相同(随线程而生,随线程而灭);如果线程请求的栈深度大于虚拟机所允许的深度,将抛出 StackOverflowError 异常;

2023-11-10 17:03:53 1150

原创 简单聊聊java中各种常量池

基本类型的包装类的常量池:Java中有6种基本类型的包装类型实现了常量池技术,分别是Byte,Short,Integer,Long,Character,Boolean,其中Byte,Short,Integer,Long,Character这5种整型的包装类只是在对应值小于等于127时才可使用对象池。另外两种浮点数类型的包装类型没有实现。包装类型在进行运算时可能会自动拆箱三种常量池:Class文件常量池(字面量,符号引用),其中字面量的概念需要重点掌握。运行时常量池字符串常量池字符串常量池。

2023-11-09 17:28:10 64

原创 Java并发工具-4-并发框架(Executor&ForkJoin)

Java 1.7 引入了一种新的并发框架—— Fork/Join Framework,主要用于实现“分而治之”的算法,特别是分治之后递归调用的函数。ForkJoin框架的本质是一个用于并行执行任务的框架, 能够把一个大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务的计算结果。在Java中,ForkJoin框架与ThreadPool共存,并不是要替换ThreadPool其实,在Java 8中引入的并行流计算,内部就是采用的ForkJoinPool来实现的。

2023-11-08 17:18:29 71

原创 Java并发工具-3-并发容器(Collections)

如果 key 对应的 value 不存在,则 put 进去,返回 null。否则不 put,返回已存在的 value。put在放入数据时,如果放入数据的key已经存在与Map中,最后放入的数据会覆盖之前存在的数据,而在放入数据时,如果存在重复的key,那么putIfAbsent不会放入值。putIfAbsent 如果传入key对应的value已经存在,就返回存在的value,不进行替换。如果不存在,就添加key和value,返回null。/*** put*/map.put(1, "张三")

2023-11-08 14:42:43 47

原创 Java并发工具-2-同步工具(Tools)

除过上面代码中使用的最基本的 acquire 方法和 release 方法之外,我们还需要掌握其他几个核心方法的使用。下面逐个介绍。上面的例子中使用了 Semaphore (int permits) 构造方法。此构造方法也是用于创建信号量对象,第二个参数表示创建的信号量是否秉持公平竞争特性。即对资源的申请使用严格按照申请的顺序给予允许。一般情况下,我们使用 Semaphore (int permits) 构造方法就可以了。返回当前还可用的许可数,即还允许多少个线程进行使用资源。

2023-11-07 17:40:38 63

原创 Java并发工具-1-原子操作(Atomic)

除了上面代码中使用的最基本的 AtomicInteger (int)、AtomicInteger ()、 set () 、get () 和 decrementAndGet () 方法之外,我们还需要掌握其他几组核心方法的使用。下面逐个介绍。getAndAdd (int) 方法与 AddAndGet (int) 方法第 1 个方法是先获取原值,之后再对原值做增加。注意获取的值是变更之前的值。而第 2 个方法正好相反,是先对原值做增加操作之后再获取更新过的值。// 0// 0,获取当前值并加10。

2023-11-07 11:33:57 332

原创 JUC-3-并发锁

Lock 接口的诞生:在 Java 中锁的实现可以由 synchronized 关键字来完成,但在 Java5 之后,出现了一种新的方式来实现,即 Lock 接口。诞生的意义:Lock 接口支持那些语义不同(重入、公平等)的锁规则,可以在非阻塞式结构的上下文(包括 hand-over-hand 和锁重排算法)中使用这些规则。主要的实现是 ReentrantLock。对于 ReentrantLock,后续有专门的小节进行讲解。JDK 1.5 前的 synchronized。

2023-11-06 20:42:49 87

原创 JUC-2-多线程的安全与同步

定义: 当线程的 run () 方法完成时,或者主线程的 main () 方法完成时,我们就认为它终止了。这个线程对象也许是活的,但是,它已经不是一个单独执行的线程。线程一旦终止了,就不能复生。概念:synchronized 同步块是 Java 提供的一种原子性内置锁,Java 中的每个对象都可以把它当作一个同步锁来使用,这些 Java 内置的使用者看不到的锁被称为内部锁,也叫作监视器锁。线程的执行。

2023-11-06 17:53:40 60

原创 JUC-1-并发编程基础

定义: 所谓并发编程是指在一台处理器上 “同时” 处理多个任务。并发是在同一实体上的多个事件,多个事件在同一时间间隔发生。意义:开发者通过使用不同的语言,实现并发编程,充分的利用处理器(CPU)的每一个核,以达到最高的处理性能,提升服务器的资源利用率,提升数据的处理速度。定义: Java 内存模型(即 Java Memory Model,简称 JMM)本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。介绍。

2023-11-06 17:28:30 49

原创 Java反射详解:入门+使用+原理+应用场景

反射非常强大和有用,,反射机制在框架设计中占有举足轻重的作用。所以,在你Java进阶的道路上,你需要掌握好反射。1.反射是什么?2.反射有什么用?3.反射的实现原理?4.怎么用反射?

2023-11-02 20:57:08 105

原创 TS的内置类型-Partial,Required

Partial 转换为全部可选Required 转换为全部必须。

2023-11-01 15:25:37 78

原创 js截取字符串方法

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

2023-10-31 18:45:39 104

原创 Vue3中的v-model

Vue2中得 v-model 默认解析成 :value 与 @inputVue3中得 v-model 默认解析成 :modelValue 与 @update:modelValueVue2中得 :attr.sync 默认解析成 :attr 与 @update:attrVue3中得 v-model:attr 默认解析成 :attr 与 @update:attr作用:用于在自定义组件中实现父子组件之间的双向数据绑定也就是说在Vue3中只有v-model,没有.sync如果父组件只写。

2023-10-26 19:47:26 203

原创 TS的内置类型-Pick,Omit

今天我们聊聊Typescript的内置工具类型,其中有两个类型颇为有意思。那就是Pick (选取)和Omit (排除)。从类型对象中选取指定的属性类型从类型对象中排除指定的属性类型,得到剩余的。

2023-10-26 13:46:56 94

原创 vue3中使用svg并封装成组件

安装插件使用插件导入到main使用svg精灵地图</精灵图精灵图定位坐标自行安装一下fast-glob依赖解决该问题。

2023-10-25 23:27:29 218

原创 vue2、vue3中路由守卫变化

路由守卫就是路由跳转的一些验证,比如登录鉴权(没有登录不能进入个人中心页)等等等路由守卫分为三大类:全局守卫:前置守卫:beforeEach 后置钩子:afterEach单个路由守卫:独享守卫:beforeEnter组件内部守卫:beforeRouteEnter beforeRouteUpdate beforeRouteLeave所有的路由守卫都是三个参数:to: 要进入的目标路由(去哪儿)from: 要离开的路由(从哪来)next: 是否进行下一步(要不要继续全局守卫:全局前置守卫beforEach:

2023-10-25 22:24:15 366

原创 vue3中的route和router

全局的 router 实例。通过 vue 根实例中注入 router 实例,然后再注入到每个子组件,从而让整个应用都有路由功能。其中包含了很多属性和对象(比如 history 对象),任何页面也都可以调用其 push(), replace(), go() 等方法。:当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的 path,name, params, query 等属性。因为我们在 setup 里面没有访问 this,所以我们不能再直接访问。方法来获取当前 Vue 实例。

2023-10-24 23:28:43 557

原创 Vite创建vue3+ts+pinia+vant项目起步流程

本质上他是一个包管理工具,和npm/yarn没有区别,主要优势在于。

2023-10-24 20:57:54 203

原创 Pinia入门

Pinia 是 Vue 的专属的最新状态管理库 ,是 Vuex 状态管理工具的替代品。

2023-10-23 17:44:44 100

原创 Vue3 + TypeScript

vue3+ts

2023-10-19 19:49:59 255

原创 TypeScript核心

ts

2023-10-18 20:41:58 125

原创 Vue3入门

vue3

2023-10-18 18:32:38 122

原创 函数式编程

​ Lambda是JDK8中一个语法糖。他可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现。让我们不用关注是什么对象。而是更关注我们对数据进行了什么操作。​ Java8的Stream使用的是函数式编程模式,如同它的名字一样,它可以被用来对集合或数组进行链状流式的操作。可以更方便的让我们对集合或数组操作。​ 我们在编写代码的时候出现最多的就是空指针异常。所以在很多情况下我们需要做各种非空的判断。if(author!=null){​ 尤其是对象中的属性还是一个对象的情况下。

2023-10-17 17:22:20 111

原创 java中的泛型

以上还算详细的和大家介绍了为啥要有泛型的出现,那么泛型是如何定义的呢?泛型就是参数化类型,也就是说把我们要操作的类型作为了一个参数,比如我们创建集合的时候,允许我们可以指定集合中元素的数据类型。在JDK1.5中引入了“参数化类型”的概念,这个就是泛型,也就是说泛型和参数化类型是等价的,一回事,那么我们来理解理解啥是参数化类型。

2023-10-13 19:48:40 236

原创 java中的接口interface

访问修饰符] interface 接口名 [extends 父接口 1,父接口 2…] {常量定义;方法定义;访问修饰符:只能是 public 或默认。接口名:和类名采用相同命名机制。extends:接口可以多继承。常量:接口中的属性只能是常量,总是:public static final 修饰。不写也是。方法:接口中的方法只能是:public abstract。省略的话,也是 public abstract。要点子类通过 implements 来实现接口中的规范。

2023-10-13 16:51:27 79

原创 vue-7-vuex

目标:明确Vuex是什么,应用场景以及优势state: {count: 0},// 定义mutations})通过mutations修改state的步骤1.定义 mutations 对象,对象中存放修改 state 的方法2.组件中提交调用 mutations(通过$store.commit(‘mutations的方法名’))getters: {// getters函数的第一个参数是 state// 必须要有返回值。

2023-10-09 15:54:12 221

原创 vue-6

router-link是什么?router-link怎么用?router-link的好处是什么?router-link 会自动给当前导航添加两个类名,有什么区别呢?router-link的两个高亮类名 太长了,我们希望能定制怎么办如何自定义router-link的两个高亮类名声明式导航跳转时, 有几种方式传值给路由页面?查询参数传参(多个参数)动态路由传参(一个参数,优雅简洁)编程式导航有几种跳转方式?编程式导航,如何跳转传参?1.path路径跳转query传参。

2023-10-09 11:17:30 809 1

原创 vue-5

一、文章内容概括1.自定义指令基本语法(全局、局部注册)指令的值v-loading的指令封装2.插槽默认插槽具名插槽作用域插槽3.综合案例:商品列表MyTag组件封装MyTable组件封装4.路由入门单页应用程序路由VueRouter的基本使用二、自定义指令1.指令介绍内置指令:v-html、v-if、v-bind、v-on… 这都是Vue给咱们内置的一些指令,可以直接使用自定义指令:同时Vue也支持让开发者,自己注册一些指令。这些指令被称为自定

2023-10-09 10:33:37 128

原创 vue中v-model的原理是什么?v-model作用在组件上的原理是什么?sync修饰符的原理是什么?

双向绑定数据=>视图视图=>数据</</</exportdefaultname"app"datareturntext"xxxxxxxx";;</</

2023-10-09 08:55:20 131

原创 vue-4

style的默认样式是作用到哪里的?scoped的作用是什么?style中推不推荐加scoped?data写成函数的目的是什么?组件通信,就是指组件与组件之间的数据传递组件的数据是独立的,无法直接访问其他组件的数据。想使用其他组件的数据,就需要组件通信组件关系分类有哪两种父子组件通信的流程是什么?父向子子向父组件上 注册的一些 自定义属性1.非父子组件传值借助什么?2.什么是事件总线3.发送方应该调用事件总线的哪个方法4.接收方应该调用事件总线的哪个方法。

2023-10-08 18:24:20 237

原创 vue-3

一、文章内容概括1.生命周期生命周期介绍生命周期的四个阶段生命周期钩子声明周期案例2.工程化开发入门工程化开发和脚手架项目运行流程组件化组件注册二、Vue生命周期思考:什么时候可以发送初始化渲染请求?(越早越好)什么时候可以开始操作dom?(至少dom得渲染出来)Vue生命周期:就是一个Vue实例从创建 到 销毁 的整个过程。生命周期四个阶段:① 创建 ② 挂载 ③ 更新 ④ 销毁1.创建阶段:创建响应式数据2.挂载阶段:渲染模板3.更新阶段:修改数据,更新视图4

2023-10-08 17:34:51 353

原创 vue-2

一、文章内容概括1.指令补充指令修饰符v-bind对样式增强的操作v-model应用于其他表单元素2.computed计算属性基础语法计算属性vs方法计算属性的完整写法成绩案例3.watch侦听器基础写法完整写法4.综合案例 (演示)渲染 / 删除 / 修改数量 / 全选 / 反选 / 统计总价 / 持久化二、指令修饰符1.什么是指令修饰符?​ 所谓指令修饰符就是通过“.”指明一些指令后缀 不同的后缀封装了不同的处理操作 —> 简化代码2

2023-10-08 16:45:57 159

原创 vue-1

概念:Vue (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架基于数据渲染出用户可以看到的界面所谓渐进式就是循序渐进,不一定非得把Vue中的所有API都学完才能开发Vue,可以学一点开发一点所谓框架:就是一套完整的解决方案举个栗子如果把一个完整的项目比喻为一个装修好的房子,那么框架就是一个毛坯房。我们只需要在“毛坯房”的基础上,增加功能代码即可。提到框架,不得不提一下库。库,类似工具箱,是一堆方法的集合,比如 axios、lodash、echarts等。

2023-10-08 12:01:45 112

原创 11-Webpack模块打包工具

了解 Webpack 的概念和作用,以及使用。

2023-10-07 23:20:45 447

原创 10-Node.js模块化

了解模块化概念和好处,以及 CommonJS 标准语法导出和导入把上面学的模块化语法,包的概念,常用命令进行总结。

2023-10-07 22:59:55 411

原创 10-Node.js入门

什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码。

2023-10-07 22:31:52 418

空空如也

空空如也

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

TA关注的人

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