Java 零碎知识点

目录

  • [多线程]
    • 创建多线程的三种方式
  • [网络编程]
    • 一、重点概念
      • 1、TCP/IP网络模型
      • 2、IP 对象
      • 3、端口号
      • 4、协议
        • UDP(User Datagram Protocol)
        • TCP(Transmission Control Protocol)
    • 二、UDP 通信
    • 三、TCP 通信
  • [前端]
  • [Vue]
    • 一、Vue3
      • 项目创建
      • 响应式
      • 函数
      • 父子通信
        • 父传子
        • 子传父
      • 跨层组件通信
      • 模板引用
      • 声明组件选项
      • 在组件上使用数据绑定
    • 二、状态管理工具 ==Pinia==
      • 函数
      • 持久化
    • 三、路由 Vue Router
    • 四、Element Plus
  • [项目相关]
    • 获得用户设备的信息

[多线程]

创建多线程的三种方式

  • 继承 Thread 类
  • 实现 Runnable 接口
  • 实现 Callable 接口(带有返回值,相关类 Future)

[网络编程]

一、重点概念

1、TCP/IP网络模型

  • 数据链路层 + 物理:比特流
  • 网络层:IP
  • 传输层:UDP、TCP
  • 应用层:HTTP、FTP、SMTP

2、IP 对象

  • InetAddress 代表 IP 地址对象
  • static InetAddress getLocalHost():获取本机IP对象
  • boolean isReachable(int timeout):判断与该IP地址对象是否互通

3、端口号

  • 被规定为一个 16 位的二进制,范围是 0~65535
  • 周知端口:0~1023,被预先定义的知名应用占用

4、协议

UDP(User Datagram Protocol)
  • 用户数据报协议
  • 无连接、不可靠通信
TCP(Transmission Control Protocol)
  • 传输控制协议
  • 面向连接、可靠通信

二、UDP 通信

创建客户端、服务端:
DatagramSocket: 客户端创建不需要传入端口号,服务端创建需要传入端口号;DatagramSocket 对象的 receive 方法进行接收

创建数据包:
DatagramPacket:客户端创建需要传入发送的数据和端口号,服务端创建只需要接收的数组;DatagramPacket 对象的 getData 方法获取接收的数据

三、TCP 通信

  • 客户端类:Socket,通过此类获取输出流发送数据
  • 服务器端类:ServiceSocket Socket accept() 接收,通过 Socket 获取输入流收取数据

[前端]

  • 新建node项目
    创建并进入文件夹,输入 cnpm init 全部下一步
    运行js文件:node ./文件名.js
  • 安装yarn
    cnpm install -g yarn --registry=https://registry.npm.taobao.org
  • 解构
let ps = "123"
let user ={name: "hyl",ps
}
//对象解构:let {属性名} = 对象名
let {name} = user
//数组解构 a=1 b=2 c=3 d=undefind
let [a,b,c,d]  = [1,2,3]
//方法也可以解构,也是使用 {}
  • 异步任务:使用 Promise 加 then 来实现,想要连续调用 then,需要在上一个 then 中再返回 一个 Promis 对象
new Promise((resolve, reject) => {}).then(res=>{return new Promise((resolve,reject)=>{})
}).then(res=>{}).catch(err => {})

[Vue]

一、Vue3

项目创建

  • CLI 构建工具创建的是 Vue2 项目
  • Vite 构建工具创建的是 Vue3 项目,命令:npm init vue@latest

响应式

  • ref:将一个简单类型对象类型变成响应式数据,js 中访问需要使用 value 属性
  • reactive:将一个对象类型的数据变成响应式数据

函数

  • computed:计算属性函数
  • watch:监视函数;属性 immediate 表示一进页面立刻执行一次;属性 deep 表示深度监视,即监视到每个对象的属性值
  • 生命周期函数:onBeforeMount、onMounted(组件挂载完成后执行)、onBeforeUpdate、onUpdated(组件因为响应式状态变更而更新其 DOM 树之后调用)、onBeforeUnmount、onUnmounted(组件实例被卸载之后调用)
  • defineExpose:将本组件的属性或方法等暴露到外面,参数为对象

父子通信

父传子

父组件:

  • 属性:message

子组件:

  • 编译器宏:defineProps(对象)
子传父

父组件:

  • 函数:在子组件上面定义函数

子组件:

  • 编译器宏:defineEmits(父上面的函数名数组)

跨层组件通信

  • 顶层组件通过 provide 函数提供数据
  • 底层组件通过 inject 函数获取数据
  • 注意:想让底层组件操作顶层组件传递过来的数据,可以再让顶层组件传递一个修改方法进行操作

模板引用

  • 获取 Dom 对象或组件
<script setup>import {ref} from 'vue'const dom = ref(null)//dom变量就是获取到的dom对象
</script><template><input ref="dom" type="text" /><!-- ref值必须和对象名一致 -->
</template>

声明组件选项

  • defineOptions,如:可以定义组件名字

在组件上使用数据绑定

defineModel

//配置文件中注册
plugins: [vue({script:{defineModel:true}}),],
父组件
<script setup>import {ref} from 'vue'import Test from '@/components/Test.vue'const modeValue = ref(100)
</script>
<template><Test v-model='modeValue'></Test>{{ modeValue }}
</template>
子组件
<script setup>import { defineModel } from 'vue';const modeValue = defineModel()
</script>
<template><input type="text":value="modeValue"@input="e=>modeValue=e.target.value">
</template>

二、状态管理工具 Pinia

  • Vuex 的替代品

函数

定义仓库:
definStore

解构方法:
storeToRefs:从 pinia 中导入,方法不需要解构

持久化

  • 名称与地址:==pinia-plugin-persistedstate==
  • 开始持久化:persist,在对应模块第三个参数传入,设置值为 true

三、路由 Vue Router

四、Element Plus

[项目相关]

获得用户设备的信息

  • 使用 Maven 中的 UserAgentUtils 坐标

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/127848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java规则引擎2.1.8版本新增功能说明

规则引擎更新功能 新增: 1.决策结束节点新增结果导出excel功能&#xff1b; 在决策流程的结束节点&#xff0c;可以将决策结果导出为Excel文件。这个功能为用户提供了更多的灵活性和便利性&#xff0c;使他们能够轻松地将决策结果数据进行进一步的分析和处理。 2.新增公有变…

@所有人,城市燃气信息化与信息安全建设方法

关键词&#xff1a;城市燃气信息化、智慧燃气建设、城市燃气安全、智慧燃气、智慧燃气平台 近几年&#xff0c;燃气作为一种新兴的燃料迅速普及开来&#xff0c;和燃气有关的企业之间的竞争也不可避免。身处在互联网的时代&#xff0c;企业只有顺应时代的潮流&#xff0c;将城…

代码最佳实践和指南(四)

错误处理和测试 错误处理和测试的重要性 测试你的代码是必要的&#xff0c;以确保你的代码正在做你认为它应该做的事情。尝试用小的、虚构的数据集测试你的代码&#xff0c;在那里你知道结果应该是什么&#xff0c;并检查你的程序是否给出了预期的答案。如果你有时间和资源&a…

SpringBoot 继承 Apollo 应用 简单步骤记录

1、pom.xml 添加依赖&#xff1b; <!--本地项目涉及到该sdk版本冲突时可能需要手动解决版本控制问题--><dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-client-tair</artifactId><version>1.4.0<…

概念解析 | 神经网络中的位置编码(Positional Encoding)

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:Positional Encoding 神经网络中的位置编码(Positional Encoding) A Gentle Introduction to Positional Encoding in Transformer Models, Part 1 1.背景介绍 在自然语言处理任…

通过xshell传输文件到服务器

一、user is not in the sudoers file. This incident will be reported. 参考链接&#xff1a; [已解决]user is not in the sudoers file. This incident will be reported.(简单不容易出错的方式)-CSDN博客 简单解释下就是&#xff1a; 0、你的root需要设置好密码 sudo …

Java实验二类编程实验

1.编写一个代表三角形的类&#xff08;Triangle.java&#xff09;。 其中&#xff0c;三条边a,b,c&#xff08;数据类型为double类型&#xff09;为三角形的属性&#xff0c;该类封装有求三角形的面积和周长的方法。分别针对三条边为3、4、5和7、8、9的两个三角形进行测试&…

Web Woeker和Shared Worker的使用以及案例

文章目录 1、前言2、介绍 Web Worker3、使用须知及兼容性3.1、使用须知3.2、兼容性 4、使用 Web Worker4.1、创建 Web Worker4.2、与主线程通信4.3、终止 Web Worker4.4、监听错误信息 5、使用 Shared Worker4.5、调试 Shared Worker 6、使用中的一些坑6.1、Web Woeker 中引入了…

古老的五子棋

午休忽然想起我奶奶喜欢下的一种古老的五子棋游戏&#xff0c;于是花了半小时开发出来了&#xff5e; 源代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" …

怎么监控钉钉聊天记录内容(监控钉钉聊天记录的3种形式)

企业沟通工具的普及&#xff0c;越来越多的企业开始使用钉钉作为内部沟通工具。然而&#xff0c;对于企业管理者来说&#xff0c;如何监控钉钉聊天记录内容成为了一个重要的问题。本文将介绍几种方法&#xff0c;帮助企业管理者实现监控钉钉聊天记录内容的目的。 一、钉钉自带功…

电商api数据采集分析(淘宝价格监控)

一、什么是淘宝商品数据采集&#xff1f; 淘宝商品数据采集&#xff0c;顾名思义&#xff0c;就是通过技术手段对全网电商平台上的商品价格信息进行抓取并保存。通过将收集到的这些价格信息进行分析处理后得到该商品的成交价、折扣率等关键属性指标&#xff0c;从而为卖家提供参…

系列十五、idea全局配置

一、全局Maven配置 IDEA启动页面>Customize>All settings>Build,Execution,Deployment>Build Tools>Maven 二、全局编码配置 IDEA启动页面>Customize>All settings>Editor>File Encodings 三、全局激活DevTools配置 IDEA启动页面>Customize>A…

[迁移学习]DA-DETR基于信息融合的自适应检测模型

原文标题为&#xff1a;DA-DETR: Domain Adaptive Detection Transformer with Information Fusion&#xff1b;发表于CVPR2023 一、概述 本文所描述的模型基于DETR&#xff0c;DETR网络是一种基于Transformer的目标检测网络&#xff0c;详细原理可以参见往期文章&#xff1a;…

如何用PHP获取各大电商平台的数据

PHP获取API数据是指使用PHP语言从web服务中提取数据。API是指应用程序接口&#xff0c;它允许应用程序之间进行交互和通信&#xff0c;并且允许一个应用程序从另一个应用程序获取数据。PHP是一种网站开发语言&#xff0c;它可以使用多种方式来获取API数据。 在PHP中&#xff0…

前端基础之BOM和DOM

目录 一、前戏 window对象 window的子对象 navigator对象&#xff08;了解即可&#xff09; screen对象&#xff08;了解即可&#xff09; history对象&#xff08;了解即可&#xff09; location对象 弹出框 计时相关 二、DOM HTML DOM 树 查找标签 直接查找 间…

Python安装教程

1 安装python环境 1.1 下载python 首先打开http://www.python.org &#xff08;这个是python官网&#xff09;下载配置环境。点击上方 downloads,选择对应的系统的版本就行&#xff0c;这里以windows64系统为例。 点击之后&#xff0c;可以看到很多版本&#xff0c;这里我选择…

创建超过1G内存大小的程序

正常情况一个进程最大占用内存为1G一下&#xff0c;如果程序有需求要使用超过1G大小的程序&#xff0c;可进行如下操作 VS修改设置&#xff1a;属性--->链接器--->系统--->启用大地址 【选择是】 测试申请堆内存代码 #include <stdlib.h> #include <stdio…

在NISQ小型计算机上执行大型并行量子计算的可能性

简介 Steve White提出了密度矩阵重整化群&#xff08;DMRG&#xff09;的基本思想&#xff0c;即纠缠是一种有价值的资源&#xff0c;可以用来精确或近似地描述大量子系统。后来&#xff0c;这一思想被理解为优化矩阵积状态&#xff08;MPS&#xff09;的算法&#xff0c;支持…

【测试工具合集1】

&#x1f33f; 一、TestAppForlOS TestAppForlOS是一款运行在iOS系统上的测试应用程序。它可以用来测试iOS设备的硬件和软件性能&#xff0c;以及验证应用程序的兼容性和稳定性。该应用程序提供了多种测试工具&#xff0c;包括CPU、内存、存储器、网络等性能测试&#xff0c;同…

uniApp开发注意要点提炼-xyphf

我们在使用uniApp开发的时候&#xff0c;很多朋友由于对多端兼容性的不了解&#xff0c;结果在多端编译的时候经常出这样或者那样的问题&#xff0c;而不断的说uniApp这坑那坑的&#xff0c;下面我基于自身经验和官网说明提炼一些常见的注意要点。 因为很多公司时常初衷是开发一…