Java

type关键字

1.类型别名 作用:类型别名用来给一个类型起个新名字。 type关键字用法如下: type Name = string; type NameResolver = () => string; type NameOrResolver = Name | NameResolver; function getName(n: NameOrResolver): Name { if (typeof

Prisma - 入门

Prisma是一个开源的数据库工具链项目,支持PostgreSQL、MySQL、MongoDB、SQL Server和SQLite。下面我会使用Mysql + Typescript来作为演示。 安装Prisma 首选你需要有一个Node环境。然后新建一个文件夹,初始化Node项目。 初始化Prisma prisma会创建.env(环境变量)和prisma/schema.prisma(Prism

http协议与apache

http协议与apache 1、httpd协议 两台主机通信需要socket文件  yum insatll -y nc  ​  [root@localhost ~]#nc -l 8000  #主机1 在监听 8000 端口  ​  [root@node2 ~]#nc 192.168.91.100 8000  #主机2 去访问

如何使用Redis实现分布式锁?

首先来说 Redis 作为一个独立的三方系统,其天生的优势就是可以作为一个分布式系统来使用,因此使用 Redis 实现的锁都是分布式锁,理解了这个概念才能看懂本文所说的内容。 分布式锁的示意图,如下所示: 分布式锁实现 使用 Redis 实现分布式锁,可以通过 setnx(set if not exists)命令实现,当我们使用 setnx 创建键值成功时,则表明加锁成功,否则既代码加锁失败。因

Alibaba微服务组件Nacos注册中心

1. 什么是 Nacos官方:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。集 注册中心+配置中心+服务管理 平台Nacos 的关键特性包括:   服务发现和服务健康监测   动态配置服务   动态 DNS 服务   服务及其元数据管理

Alibaba微服务组件Nacos配置中心

1. Nacos配置中心使用官方文档: https://github.com/alibaba/springcloudalibaba/wiki/NacosconfigNacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中

iOS开发Swift-基础部分

1.常量 2.变量 3.类型注解 系统可通过赋初始值进行自动推断。       4.输出   5.注释   6.分号 平时可加可不加,同一行中有两句话必须加。 7.整数 Int           UI

什么是线程池

线程池是一种用于管理和复用线程的机制,它可以有效地控制线程的数量,减少线程创建和销毁的开销,并提高系统的性能和稳定性。线程池通常由一个线程池管理器、工作队列和一组工作线程组成。 以下是线程池的一些重要概念和详解: 线程池管理器(ThreadPoolExecutor):负责创建和管理线程池,包括线程的创建、销毁、任务的提交等操作。它根据预定义的参数和策略来管理线程池的行为。 工作队列(Blo

[Leetcode Weekly Contest]359

链接:LeetCode [Leetcode]2828. 判别首字母缩略词 给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ,则认为 s 是 words 的首字母缩略词。例如,"ab" 可以由 ["apple", "banana"] 形成,但是无法从 ["bear",

Java学习IO流Day01

io 一、File 2.1 FIle概述 File用来表示文件系统中的一个文件或者目录 java.io包下 2.2 方法 构造方法 File(String pathname) : 通过指定路径名称创建一个新的FIle实例 File(File parent, String child) :根据父级目录对象和子文件名称获取FIle对象 File(String parent,

类与接口

抽象类和接口的对比: 抽象类是用来捕捉子类的通用特性的。 接口是抽象方法的集合。 从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象, 是一种行为的规范。 相同点: • 接口和抽象类都不能实例化 • 都位于继承的顶端,用于被其他实现或继承 • 都包含抽象方法,其子类都必须覆写这些抽象方法 不同点: 参数 抽象类 接口 实现 抽象类使用abstract关键字声明 接口使

老师 help me T^T

编码问题(且vs编码高级保存设置UTF-8无用) 问题1.0 建图时,从文件读入的数据是乱码(使用string保存)。 解决办法 vs改了没有用,去修改了数据文件的保存编码,顺应vs改成国标了。(治标不治本?) 问题2.0 智能问答时,从控制台读入一串汉字,遍历时1个汉字被拆成2个字符遍历,并且控制台输出无法显示,显示为空(因为要和 “的” 这个字进行分割匹配,使用wstring保存控制台

Nacos源码 (4) 配置中心

本文阅读nacos-2.0.2的config源码,编写示例,分析推送配置、监听配置的原理。 客户端 创建NacosConfigService对象 构造方法: 创建ConfigFilterChainManager - 过滤器链 创建ServerListManager - 服务器列表管理 创建ClientWorker - 用来发送请求,内部封装了一个ConfigRpcTransportClien

java 批量插入数据

转:https://blog.csdn.net/qq_35461948/article/details/130195282 批量插入数据,常见的使用mybatis foreach 插入的方式,原始的方式和批处理  1,常见的mybatis foreach xml mapper: int insertBatch(@Param("records") List<CodeInfo&gt

搭建SpringCloudAlibaba工程_基于SpringBoot3.+

打开IDEA新建工程  删除所有文件,仅保留pom.xml,并做出如下修改,可直接复制粘贴,切记调整你为自己项目的groupId和artifactId <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=

JIT jvm编译优化

http://ifeve.com/hotspot-jit/ https://www.infoq.cn/article/OpenJDK-HotSpot-What-the-JIT https://www.baeldung.com/graal-java-jit-compiler https://developers.redhat.com/articles/2021/06/23/how-jit-compi

classloader与自定义类加载器

arthas/agent/src/main/java/com/taobao/arthas/agent/ArthasClassloader.java at master · alibaba/arthas JVM自定义类加载器在代码扩展性的实践 | HeapDump性能社区 大量类加载器创建导致诡异FullGC | HeapDump性能社区 Java系列 | 远程热部署在美团的落地实践 - 美团技术团

jvm 指令与指令执行

运行时内存结构 在了解jvm指令之前,需要先了解java虚拟机运行时内存的结构,根据jvm规范(java se8),运行时数据区给每个线程分配了不同的区域,比如PC寄存器、JVM栈,本地方法栈,线程共有的部分有堆与方法区。 栈上每个函数调用都有一个帧作为对应数据结构,每个帧都包括局部变量表与操作数栈,这部分在编译的时候就可以确定了,局部变量表用来保存方法中的局部变量,以及方法参数。当一个方法刚开始

Java虚拟机规范

来自GPT翻译,主要是找一些跟jvm指令与字节码相关的部分,来源:https://docs.oracle.com/javase/specs/jvms/se8/html/index.html 2.5. Run-Time Data Areas Java虚拟机定义了各种运行时数据区,这些数据区在程序执行期间使用。其中一些数据区在Java虚拟机启动时创建,并且只有在Java虚拟机退出时才被销毁。

使用JProfiler分析程序性能问题

JProfiler是一个分析运行时JVM的专业工具,根据官网的介绍,应用主要有以下几个功能: 方法调用:通常被称为"CPU分析"。方法调用可以通过不同的方式进行测量和可视化, 分析方法调用可以帮助了解你的应用程序正在做什么,并找到提高其性能的方法。 分配:分析堆上对象的分配、引用链和垃圾回收属于"内存分析"的范畴。 这个功能可以让你解决内存泄漏,总之使用更少的内存,分配更少的临时对象。

Maven基础知识

Maven基础知识 1、简介 2、环境安装 3、手动创建Maven项目 pom.xml模板 4、Maven命令 常用命令 命令 描述 mvn -version 显示版本信息 mvn clean 清理项目生产的临时文件,一般是模块下的target目录 mvn compile 编译源代码,一般编译模块下的src/main/java目录 mvn package

设计模式和七大原则概述及单一职责原则详解

设计模式的目的 编写软件过程中,程序员面临着来自,耦合性,内聚性以及可维护性,扩展性,重用性等方面的挑战。设计模式是为了让程序,具有更好的 1.代码重用性(相同代码,不用重复编写) 2.可读性(编程规范性,便于其他程序员的阅读和理解) 3.可扩展性(当需要增加新的功能时,非常的方便) 4.可靠性(当我们增加新的功能后,对原有的功能没有影响) 5.使程序呈现高内聚,低耦合的特性 设计模式(desi

Mybatis的执行流程

MyBatis是一个开源的持久层框架,它简化了数据库操作的编写和管理。下面是MyBatis的执行流程概述: 1. 配置:首先,你需要配置MyBatis的相关配置文件,如 `mybatis-config.xml` 和映射文件(Mapper XML)。配置文件包含了数据库连接信息、插件配置、类型别名等。 mybatis-config.xml 2. 创建SqlSessionFactory:通过读取

JavaDoc生成

JavaDoc JavaDoc命令是用来生成自己API文档的 注释文件可以写在类上面,也可以写在方法上面 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本号 @param 参数名 return 返回值情况 @throws 异常抛出情况 命令行生成参数文件: 右键class文件选择Show in Explorer,目录前加cmd打开

VUE3单页面应用开发常用工具

Vite   一种新型的前端构建工具,它主要由两个部分做成 一个开发服务器,它基于 原生 ES 模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR)。 一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。 社区模板 create-vite

Jersey框架相关

介绍 Jersey是一个REST框架,类似 SpringMVC,必须运行在Servlet容器中,如Tomcat或Jetty。 使用 在SpringBoot内嵌Tomcat容器中使用 注意要使用JDK1.8,不能使用JDK11,使用jersey的高版本的话,jar包版本冲突,暂时没找到解决方案。 配置SpringBoot启动类 配置ServletContainer,这是一个Servlet,类

二叉树的遍历大冒险

二叉树的遍历大冒险 〇、前言 01 文章内容 一般提到二叉树的遍历,我们是在说 前序遍历、中序遍历、后序遍历和层序遍历 或者说三序遍历+层序遍历,毕竟三序和层序的遍历逻辑相差比较大 下面讨论三序遍历的递归方法、非递归方法和非递归迭代的统一方法 然后再讨论一下层序的一般迭代方法(通过队列) 02 力扣网址 144. 二叉树的前序遍历 - 力扣(LeetCode) 94. 二叉树的中序遍历

Future和CompletableFuture区别

Future :获取异步返回的结果需要使用轮询的方式,消耗cup CompletableFuture:采用观察者模式,阻塞获取异步返回的结果,性能得到优化 CompletableFuture的使用明细 官方文档:https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/dev/datastream/operat

本地nacos启动报错: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!

编辑startup.cmd文件 将模式从cluster改为standalone 插入一行指定你的JAVA_HOME路径set JAVA_HOME="C:dev_filesjdk17" 如果启动时仍然报错: 查看代码 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error crea

阿里相关组件-阿里Cola状态机相关

使用 原理 核心类 StateMachine 状态机 S:state 我们自己项目中的状态类 E:Event 我们自己的事件类 C:Context 我们自己的上下文 State 状态 EventTransitions 关于Transition的一个包装 Transition 流转 内部:统一状态 外部:不同状态 参考 COLA下的cola-statemachine

<<  <  772  773  774  775  776  777  778  779  780  781  782  >  >>