当前位置: 首页 > news >正文

【微服务】Java agent 使用详解

一、前言

于一个即将上线的应用来说,系统监控是必不可少的,为什么需要监控呢?应用是跑在服务器上的,应用在运行过程中会发生各自意想不到的问题,像大家熟知的OOM,mysql故障,服务器宕机,程序500等等,因此为了能够第一时间掌握应用运行过程中的各自异常状况,对于应用系统的监控是必要的,而在大多数情况下,应用自身的运行时异常占据了绝大的比例,因此合理的监控显得非常重要。

二、应用监控来源

设想一个场景,如果我们要监控一段程序的执行耗时,通常会有哪些做法呢?

  1. 方法前后添加起始,结束耗时;
  2. 使用aop技术跟踪方法的执行耗时;
  3. ......

上面谈到,在大多数情况下,应用自身的运行时异常占据了绝大的比例,所以在日常开发中,通过程序中日志埋点可以很好的帮助分析和定位问题,而说到底,还是监控代码段的执行,如果是一个简单的单体应用,怎么样都无所谓,毕竟简单嘛,但对于一个成熟的运行中的系统来说,尤其是那种分布式的应用平台,不管使用上面哪种技术,都涉及到应用内部程序的开发工作量,面临这种情况该怎么办呢?

是不是有一种技术可以在需要对既有代码做改动的前提下就能够监控代码运行的一些指标呢?

答案是肯定的,那就是接下来要讲的 java agent技术,也就是Java探针技术。

三、Java agent 是什么?

Java Agent技术,也称为Java代理、Java探针,它允许程序员利⽤其构建⼀个独⽴于应⽤程序的代理程序。

  • Java Agent 本质上就是一个 jar 包。
  • 对于普通的Jar包,通过指定类的 main 函数进行启动,但是 Java Agent 并不能单独启动,必须依附在一个 Java 应用程序运行。
  • 使用Java Agent可以实现在Java程序运行的过程中对其进行修改。

四、Java Agent 主要功能点

  • 在加载java文件前可以拦截字节码并做修改;
  • 在运行期间变更已加载的类的字节码;
  •  获取所有已经被加载过的类;
  • 获取所有已经被初始化过了的类;
  • 获取某个对象的大小;

以上这些功能,使得Java Agent在作为一个独立于Java应用程序的代理程序的同时,可以协助监测、运行甚至替换 JVM 上的程序。Agent的应用十分广泛,可用于实现Java IDE的调试功能、热部署功能、线上诊断⼯具和性能分析⼯具。

例如,百度网络攻击防护工具OpenRASP中就使用了Java Agent来对敏感函数进行插桩,以此实现攻击检测。大名鼎鼎的skywalking对于各类应用监测其底层实现也是基于Java Agent。

五、Java agent 加载过程

在开始编码之前,有必要对Java agent的原理做一些了解,我们知道,一个普通的java程序要运行起来,可以通过main函数运行,或者打成jar包之后指定启动类,说的再简单点,调用执行命令之后,jvm会通过类加载器加载class文件,然后运行起来;

 有了上面对于java agent的了解,java agent可以在加载java文件前拦截字节码并做修改的,执行过程如下图:

如果将两者结合起来看,更具体的过程如下图,Java agent的入场时机以及作用一目了然; 

六、Java agent 代理的两个入口函数

JVM启动支持加载agent代理,而agent代理本身就是一个JVM TI的客户端,其通过监听事件的方式获取Java应用运行状态,调用JVM TI提供的接口对应用进行控制。两个核心的入口函数如下:

// 用于JVM刚启动时调用,其执行时应用类文件还未加载到JVM
public static void premain(String agentArgs, Instrumentation inst);// 用于JVM启动后,在运行时刻加载
public static void agentmain(String agentArgs, Instrumentation inst);

这两个入口函数分别对应于JVM TI专门提供了执行 字节码增强(bytecode instrumentation) 的两个接口,对这两个入口函数再做一些补充说明:

  • premain加载时刻增强(JVM 启动时加载),类字节码文件在JVM加载的时候进行增强;
  • agentMain动态增强(JVM 运行时加载),已经被JVM加载的class字节码文件,当被修改或更新时进行增强;

这两个接口都是从JDK 1.6开始支持,我们无需对上面JVM TI提供的两个接口规范了解太多,Java Agent和 Java Instrument类包 封装好了字节码增强的上述接口通信,JVM在加载agent时会先找函数1,如果没有发现函数1,则会寻找函数2;

七、Java agent 初体验

有了上面的基础储备后,接下来通过实际的代码演示来体验下Java agent的使用吧;

premain 使用演示一

1、变现一个类,提供一个premain的入口方法

import java.lang.instrument.Instrumentation;public class MyPreMainAgent {public static void premain(String agentArgs, Instrumentation inst) {System.out.println("hello javaAgent");}}

2、在工程的pom中添加premain打包插件

要注意的是<Premain-Class>标签中写的是上面premain所在类的完整路径

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.1.0</version><configuration><archive><manifest><addClasspath>true</addClasspath></manifest><manifestEntries><Premain-Class>com.congge.agent.MyPreMainAgent</Premain-Class><Can-Redefine-Classes>true</Can-Redefine-Classes><Can-Retransform-Classes>true</Can-Retransform-Classes><Can-Set-Native-Method-Prefix>true</Can-Set-Native-Method-Prefix></manifestEntries></archive></configuration></plugin></plugins></build>

3、将模块编译打成jar包

将这个jar包解压之后,里面有一个非常重要的文件

 打开该文件,内容如下,通过该文件,应用程序在使用java agent的jar包的时候才会正确加载premain对应的入口函数;

Manifest-Version: 1.0
Implementation-Title: java-agent
Implementation-Version: 1.0-SNAPSHOT
Built-By: 26393
Can-Redefine-Classes: true
Implementation-Vendor-Id: com.congge
Class-Path: javassist-3.27.0-GA.jar postgresql-42.3.1.jar checker-qual-3.5.0.jar
Can-Set-Native-Method-Prefix: true
Premain-Class: com.congge.agent.MyPreMainAgent
Can-Retransform-Classes: true
Created-By: Apache Maven 3.2.5
Build-Jdk: 1.8.0_171
Implementation-URL: https://spring.io/projects/spring-boot/spi_test/java-agent

4、编写测试类,启动引用上述的jar

public class AgentTest {public static void main(String[] args) {new UserService().sayHello("hell agent");}}

启动时在启动参数中指定上面的jar

然后运行测试类,可以看到jar包中的premain方法的打印输出结果,是在测试类的方法打印结果之前输出;

premain 使用演示二

使用javaagent监控运行时内存使用情况

1、Metric 监控指标类

import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
import java.util.Arrays;
import java.util.List;public class Metric {private static final long MB = 1048576L;public static void printMemoryInfo() {MemoryMXBean memory = ManagementFactory.getMemoryMXBean();MemoryUsage headMemory = memory.getHeapMemoryUsage();String info = String.format("\ninit: %s\t max: %s\t used: %s\t committed: %s\t use rate: %s\n",headMemory.getInit() / MB + "MB",headMemory.getMax() / MB + "MB", headMemory.getUsed() / MB + "MB",headMemory.getCommitted() / MB + "MB",headMemory.getUsed() * 100 / headMemory.getCommitted() + "%");System.out.print(info);MemoryUsage nonheadMemory = memory.getNonHeapMemoryUsage();info = String.format("init: %s\t max: %s\t used: %s\t committed: %s\t use rate: %s\n",nonheadMemory.getInit() / MB + "MB",nonheadMemory.getMax() / MB + "MB", nonheadMemory.getUsed() / MB + "MB",nonheadMemory.getCommitted() / MB + "MB",nonheadMemory.getUsed() * 100 / nonheadMemory.getCommitted() + "%");System.out.println(info);}public static void printGCInfo() {List<GarbageCollectorMXBean> garbages = ManagementFactory.getGarbageCollectorMXBeans();for (GarbageCollectorMXBean garbage : garbages) {String info = String.format("name: %s\t count:%s\t took:%s\t pool name:%s",garbage.getName(),garbage.getCollectionCount(),garbage.getCollectionTime(),Arrays.deepToString(garbage.getMemoryPoolNames()));System.out.println(info);}}}

2、premain入口函数类

import java.lang.instrument.Instrumentation;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;public class MyJvmAgent {public static void premain(String agentArgs, Instrumentation inst) {System.out.println("this is an perform monitor agent.");Executors.newScheduledThreadPool(1).scheduleAtFixedRate(new Runnable() {@Overridepublic void run() {Metric.printMemoryInfo();Metric.printGCInfo();}}, 0, 3000, TimeUnit.MILLISECONDS);}}

3、测试类

import java.util.ArrayList;
import java.util.List;public class AgentTest {public static void main(String[] args) throws Exception {System.out.println("hello javaAgent");boolean is = true;while (is) {List<Object> list = new ArrayList<>();list.add("hello agent");}}}

将上面的MyJvmAgent 配置到pom中,打包,然后像上面的案例那样运行,观察输出结果

八、javassit 介绍与使用

在上面的java agent的类加载原理图中,其最终在编辑字节码文件时,具体的技术实现可以有多种,比如cglib,asm或javassist等;

javassit介绍

javassit是一个开源的分析、编辑和创建Java字节码的类库,主要优点是简单且快速,直接使用java编码的形式,不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成字节码,相对于asm技术,学习和使用成本要低很多;

javassit依赖

        <dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.27.0-GA</version></dependency>

javassit 案例使用

1、打印输出方法耗时

通常为了输出一个方法的执行耗时,最简单的办法就是在方法头和方法尾部获取当前的执行时间最后再相减,即可得到方法的执行时长;

如果是在生产系统中来做这个事情,一个工程中随便几十几百个类,方法更多,这样加起来就相当费事了,就可以考虑使用java agent的方式来做,下面来看看使用java agent的实现过程;

提供一个业务类

在该类中有一个普通的方法,为了模拟执行业务,休眠1秒

public class UserService {public void sayHello(String name){try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("sayHello()");}}

提供premain方法

import javassist.*;import java.io.IOException;
import java.lang.instrument.ClassFileTransformer;
import java.lang.instrument.IllegalClassFormatException;
import java.lang.instrument.Instrumentation;
import java.security.ProtectionDomain;public class AgentMain {public static void premain(String agentArgs, Instrumentation instrumentation) {final ClassPool pool = new ClassPool();pool.appendSystemPath();//基于工具,在运行的时候修改class字节码,即动态插装instrumentation.addTransformer(new ClassFileTransformer() {@Overridepublic byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {if (!"com/congge/agent/UserService".equals(className)) {return null;}try {CtClass ctClass = pool.get("com.congge.agent.UserService");CtMethod sayHello = ctClass.getDeclaredMethod("sayHello");// 打印方法耗时 ================//FIXME 1、复制一个方法CtMethod copy = CtNewMethod.copy(sayHello, ctClass, null);copy.setName("sayHelloCopy");ctClass.addMethod(copy);//2、 改变原有的方法sayHello.setBody("{long begin = System.currentTimeMillis();\n" +"                    sayHelloCopy($1);\n" +"                    System.out.println(System.currentTimeMillis()-begin);}");//打印方法耗时 ================//sayHello.insertBefore("System.out.println(System.currentTimeMillis());");return ctClass.toBytecode();} catch (Exception e) {e.printStackTrace();}return null;}});}}

在该方法中,需要说明的是,通过javassit的编码方式,可以通过下面这种方式将一段程序以字符串的形式动态植入,像其中的 $1 就属于javassit的解析参数的一种指令,有兴趣的同学可以深入学习javassit做进一步的了解;

测试类

public class AgentTest {public static void main(String[] args) {new UserService().sayHello("hell agent");}}

然后像上面的操作那样,将premain所在的类配置到pom打包,然后运行测试类,控制台就可以输出本次方法的执行耗时;

2、打印输出方法耗时改进

上面的案例使用javassit实现了对某个方法的执行耗时的监控,现在进一步思考下,如果希望这个功能做的更加通用些,比如说在实际业务中,我们不仅仅是输出某个方法的执行耗时,而是输出某一个包下的类的方法执行耗时,或者某一些特定类的方法的执行耗时又该怎么做呢?接下来,基于上面的案例做进一步的优化改进,其目的是为了尽可能做到通用性;

改进premain方法

该方法的改进点涉及下面几点:

  • 加载java agent的jar包时,可由外部传递参数,即外部传入要执行方法耗时的规则;
  • 可以对类中的所有方法进行插桩;
  • 对有返回值和无返回值的方法均可适用;

import javassist.*;import java.lang.instrument.ClassFileTransformer;
import java.lang.instrument.IllegalClassFormatException;
import java.lang.instrument.Instrumentation;
import java.security.ProtectionDomain;public class AgentMain1 {public static void premain(String agentArgs, Instrumentation instrumentation) {final String config = agentArgs;final ClassPool pool = new ClassPool();pool.appendSystemPath();//基于工具,在运行的时候修改class字节码,即动态插装instrumentation.addTransformer(new ClassFileTransformer() {@Overridepublic byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {if (className == null || !className.replaceAll("/", ".").startsWith(config)) {return null;}try {className = className.replaceAll("/", ".");CtClass ctClass = pool.getCtClass(className);for (CtMethod ctMethod : ctClass.getDeclaredMethods()) {newMethod(ctMethod);}return ctClass.toBytecode();} catch (Exception e) {e.printStackTrace();}return null;}});}private static CtMethod newMethod(CtMethod oldMethod) throws CannotCompileException, NotFoundException {CtMethod copy = CtNewMethod.copy(oldMethod, oldMethod.getDeclaringClass(), null);copy.setName(oldMethod.getName() + "$agent");oldMethod.getDeclaringClass().addMethod(copy);if (oldMethod.getReturnType().equals(CtClass.voidType)) {oldMethod.setBody(String.format(voidSource, oldMethod.getName()));} else {oldMethod.setBody(String.format(source, oldMethod.getName()));}return copy;}final static String source = "{\n" +"long begin = System.currentTimeMillis();\n" +"        Object result;\n" +"        try {\n" +"            result = ($w)%s$agent($$);\n" +"        }finally {\n" +"            long end = System.currentTimeMillis();\n" +"            System.out.println(end-begin);\n" +"        }\n" +"        return ($r) result;\n" +"}\n";final static String voidSource = "{\n" +"long begin = System.currentTimeMillis();\n" +"        try {\n" +"            %s$agent($$);\n" +"        }finally {\n" +"            long end = System.currentTimeMillis();\n" +"            System.out.println(end-begin);\n" +"        }\n" +"}\n";}

UserService 类再追加一个方法

public String sayHello1(String name){try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("sayHello() " + name);return name;}

启动类

public class AgentTest {public static void main(String[] args) {new UserService().sayHello("hell agent");new UserService().sayHello1("hell agent");}}

按照上面案例的步骤再次运行,不过这一次启动类中需要添加如下参数,表示以 com.congge.agent.User 这个为前置的类才会被监控执行方法的耗时;

-javaagent:E:\code-self\spi\java-agent\target\java-agent-1.0-SNAPSHOT.jar=com.congge.agent.User

输出控制台结果如下,

通过这种方式,就可以让agent的jar具备了更多的灵活性和一定的通用性,即只要符合匹配规则的类都可以适用这个jar来得到方法的执行耗时;

未完待续 ... 感谢您的观看!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

【Python笔记】Spark高级操作 の json复杂和嵌套数据结构的操作

1 不同结构数据操作 1.1 嵌套结构 Dots&#xff08;.&#xff09;可用于访问嵌套列的结构和映射。 // input {"a": {"b": 1} }Python: events.select("a.b")Scala: events.select("a.b")SQL: select a.b from events// output {&qu…...

词法分析的前奏:字符分析(六) GB18030字符识别流程 第三版

识别国标字符并存入数据结构的流程...

linux用户和组管理的实验报告,LINUX实验三   用户管理

实验三 用户管理一、实验目的和要求1) 掌握在Linux系统下利用命令方式实现用户和组的管理&#xff1b;2) 掌握批量创建用户的方法。二、实验内容和原理1.用户的管理l、创建一个新用户user01&#xff0c;设置其主目录为/home/user01。2、查看/etc/passwd文件的最后一行&#xff…...

chrome谷歌浏览器离线安装axure插件打开页面原型

背景&#xff1a; 产品经理、UI设计以及前端开发人员基本都会用到Axure&#xff0c;Axure生成的html文件我们需要用Chrome浏览器打开&#xff0c;前提是我们的Chrome浏览器已经安装了Axure插件&#xff08;扩展程序&#xff09; 安装&#xff1a; 首先下载Axure插件&#xf…...

Linux 添加管理员用户

描述 操作 Linux 期间&#xff0c;因 root 账户权限太大&#xff0c;因此一般都会创建个人账户&#xff0c;避免误操作。使用过程中&#xff0c;又会遇到一些权限问题&#xff0c;因此就需要添加管理员权限。 工作环境&#xff1a;CentOS 7.6 添加用户 需要使用 root 账户添…...

阿里秋招面试真题解析:三年经验月薪50k我是怎么做到的

美团一面&#xff08;50分钟左右&#xff09; 进程和线程死锁的必要条件网络&#xff0c;七层协议TCP和UDP的区别hashmap 详细讲一下hashmap底层是如何解决hash冲突的hashmap和linkedhashmap数据库的索引&#xff0c;为什么推荐自增id&#xff0c;有什么优点MySQL的引擎&#…...

python爬虫06 - js2py和selenium初探。

内容 js2py简介 动态HTML技术了解 seleniumchromedriver获取动态数据 用google chrome先打开这个页面http://www.porters.vip/verify/sign/(这网页有反爬 容易打不开) 需求是爬取网页的内容 检查 看这个network response 和 preview有数据 但是那里面不是我们想要的数据…...

概率论与数理统计 —— 1. 基本事件类型、运算规则,及古典概型与几何型概型

概率论与数理统计的相关知识&#xff0c;是机器学习及深度学习最常应用到的基本知识。因为对于机器学习和深度学习来说&#xff0c;最常见的一个应用场景就是训练一堆样本集后&#xff0c;给定一个测试样本&#xff0c;它可能同时具备类A和类B的特征&#xff0c;那么就需要通过…...

Chrome浏览器安装Axure插件

工作中&#xff0c;产品经理、UI设计以及前端开发人员基本都会用到Axure&#xff0c;Axure生成的html文件我们需要用Chrome浏览器打开&#xff0c;前提是我们的Chrome浏览器已经安装了Axure插件&#xff08;扩展程序&#xff09;。老版本的Chrome浏览器安装插件可以直接搜索安装…...

运维基本功(六):Linux用户管理与远程管理

本文是在课程课件基础上修改的学习笔记 课程原地址&#xff1a;https://www.bilibili.com/video/BV1nW411L7xm 如有侵删 运维基本功&#xff08;一&#xff09;&#xff1a;Linux系统安装 运维基本功&#xff08;二&#xff09;&#xff1a;Linux基本命令 运维基本功&#xff…...

Chorme浏览器中安装Axure插件的方法

&#xff08;1&#xff09;下载插件 链接&#xff1a; https://pan.baidu.com/s/1Sygr8BINm-zf7H0583F_Ug 提取码&#xff1a;47b1 &#xff08;2&#xff09;解压插件到自己想一直保留的目录中 &#xff08;3&#xff09;选择谷歌浏览器中的扩展程序 &#xff08;4&#…...

AjaxJson笔记(1)

今日内容 1. AJAX&#xff1a; 2. JSONAJAX&#xff1a; 1. 概念&#xff1a; ASynchronous JavaScript And XML 异步的JavaScript 和 XML1. 异步和同步&#xff1a;客户端和服务器端相互通信的基础上* 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。* 客…...

Oracle11g离线静默安装(附安装脚本)

以下我们在Centos7操作系统上以oracle11g为例来进行一下安装 环境准备 Oracle下载地址 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html JDK1.7(这里不再阐述) 可用的yum源(这里不再阐述) 操作用户 root 开始安装…...

Chrome 安装Axure 插件

Chrome 安装Axure 插件 参考&#xff1a;AxureRP 最新版Chrome谷歌浏览器插件v0.6.3安装及下载. 环境 版本 87.0.4280.88&#xff08;正式版本&#xff09; (x86_64) 下载Axure插件 下载地址. 提取码&#xff1a;k91a 转载自&#xff1a;http://www.axureschool.cn/196.h…...

基于图神经网络的图表示学习

基于图神经网络的图表征学习方法 通过该网络的实现、项目实践和理论分析&#xff0c;三个层面来学习基于图神经网络的图表征学习方法。 提出图同构网络的论文&#xff1a;How Powerful are Graph Neural Networks? 基于图同构网络&#xff08;GIN&#xff09;的图表征网络…...

阿里大牛整理!史上最全的《Java面试题及解析》

有赞: 一面 hashMap原理,put和resize过程线程池有哪些类型&#xff0c;concurrentHashMap分段锁原理&#xff0c;java8和java7实现的区别B-树和B树区别&#xff0c;数据库索引原理&#xff0c;组合索引怎么使用&#xff1f;最左匹配的原理spring生命周期&#xff0c;几种scop…...

Java synchronized 和volatile 同步关键字对比

Java内存模型(JMM) 提到这两个有关于线程的关键字&#xff0c;那么我们不得不提到Java的内存模型了(JMM)&#xff0c;下面我们先看一下Java内存模型在处理多线程方面的工作原理图。 Java内存模型(java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则&#xf…...

误差反向传播法的实现

神经网络学习的全貌图 神经网络中有合适的权重和偏置&#xff0c;调整权重和偏置以便拟合训练数据的 过程称为学习。神经网络的学习分为下面4个步骤。 步骤1&#xff08;mini-batch&#xff09;&#xff1a; 从训练数据中随机选择一部分数据。 步骤2&#xff08;计算梯度&a…...

RTK-RTD-SBAS-WAAS-PPP-PPK-WADGPS

1. RTD&#xff1a;英文全称Real Time Differential&#xff0c;中文意思是实时动态码相位差分技术。工作方法是基准站将伪距&#xff08;或者坐标&#xff09;修正值&#xff08;差分值&#xff09;发给用户接收机&#xff0c;用户接收机根据差分值与本身的观测值算出精确位置…...

阿里专家原创,java的八大类型

架构原则&#xff1a;“4 要 1 不要” 如果你是一个架构师&#xff0c;你首先要勾勒出一个轮廓&#xff0c;想一想如何构建一个超大流量并发读写、高性能&#xff0c;以及高可用的系统&#xff0c;这其中有哪些要素需要考虑&#xff1f; 我把这些要素总结为“4 要 1 不要”&a…...

Redis的主从复制

一、什么是主从复制 主服务器用于写入数据&#xff0c;从服务器用于读取数据&#xff0c;master/slaver机制&#xff0c;master写&#xff0c;slaver读 有什么作用 实现读写分离&#xff0c;减缓服务器压力容灾快速恢复 二、实现组从复制&#xff08;一台服务器模拟&#xf…...

SpringBoot整合邮件任务(qq为例)

目录 前言&#xff1a; 1.创建SpringBoot的项目并导入mail依赖 2.查看源码并配置yaml相关信息 1.源码信息 2.配置yaml文件 3.密码是用qq邮箱的POP3/SMTP服务 3.编写程序并进行测试 1.简单文字邮件 2.复杂类型邮件 总结 前言&#xff1a; SpringBoot相对于spring更加便…...

Python学习与练习二

分治法找假币 【问题描述】 有一堆共n枚硬币&#xff0c;其中一枚是假币&#xff0c;外观上无法区分&#xff0c;只知道假币的重量稍轻。要求仅使用一个天平&#xff0c;使用最少的重量比较次数找出假硬币。 将n个硬币分成数量相同的两堆&#xff0c;如果n为偶数&#xff0c;每…...

编程题之背包问题

写在前面 刷题网站&#xff1a; 牛客 leetcode acwing todo list 背包问题 买卖股票 n种排序 背包问题 01背包问题 参考动态规划之背包问题系列 | TangShusen 引子 2022 VIVO 提前批第二题 货轮最大载重为C&#xff0c;N个集装箱&#xff0c;重量数组为w[i]&#…...

【python3】计算1000以内的完全数

【python3】计算1000以内的完全数背景代码背景 有一个初学python的群友&#xff0c;发问如何用python求1000以内的完全数&#xff1b; 关于完全数&#xff1a; 如果一个数恰好等于它的因子之和&#xff0c;则称该数为“完全数”。 这里的因子即因数&#xff08;约数&#xff…...

命令注入漏洞解析

漏洞简介 Atlassian Bitbucket Server 和 Data Center 是 Atlassian 推出的一款现代化代码协作平台&#xff0c;支持代码审查、分支权限管理、CICD 等功能。 受影响的Bitbucket Server 和 Data Center版本存在使用环境变量的命令注入漏洞&#xff0c;具有控制其用户名权限的攻…...

Redis

Redis一、Redis出现的背景1.1、什么是NoSQL1.1.1、NoSQL(泛指非关系型数据库)1.1.2、NoSQL的特点1.1.3、NoSQL的四大分类二、Redis概述三、Redis应用场景四、Linux环境下安装Redis五、Redis基础命令六、Redis五大数据类型6.1、String(字符串类型)6.2、List(列表)6.3、Set(集合)…...

MobTech短信验证 常见问题

短信验证码的有效期和格式可以修改么 有效期默认5分钟&#xff0c;格式默认4位数&#xff0c;均可在开发者后台调整。 短信充值单价的问题 不能累积计费&#xff0c;以单次最多充值的来计费 SMSSDK短信签名最多设置多少个 签名是跟着key走的&#xff0c;与账号无关。一个ke…...

LTE网络优化笔记

1、探测参考信号&#xff08;Sounding Reference Signal&#xff09; SRS是探测参考信号的缩写&#xff0c;所谓参考信号&#xff0c;那么是为谁提供参考&#xff1f;参考的指标是什么&#xff1f;答案是为eNodeB的调度提供参考&#xff0c;参考的内容是为上行信道质量做参考。…...

阿里开发7年大牛:全网首发Spring5秘籍手册+知识导图

第1章&#xff1a;Dubbo的简史、后续的规划和整体架构大图 ————Dubbo高性能RPC通信框架 1.1应用架构演进过程 1.2 Dubbo 简介 1.3 Dubbo总体大图 第2章&#xff1a;Dubbo的环境配置和基于Dubbo开发第一款应用程序 ————开发第一款Dubbo 应用程序 2.1配置开发环境 2.…...

Android集成sentry坑

sentry官网网址&#xff1a;Android | Sentry Documentation 集成sentry的时候可能遇到这个异常&#xff1a; java.io.IOException: Cleartext HTTP traffic to XXX not permitted 因为从Android 6.0开始引入了对Https的推荐支持&#xff0c;与以往不同&#xff0c;Android P…...

阿里P8大牛亲自讲解!java静态变量和实例变量

Redis主从复制 概念 Redis的主从复制概念和MySQL的主从复制大概类似。一台主机master&#xff0c;一台从机slaver。master主机数据更新后根据配置和策略&#xff0c;自动同步到slaver从机&#xff0c;Master以写为主&#xff0c;Slave以读为主。 主要用途 读写分离&#xff1…...

阿里程序员的Java之路!Redis宕机数据丢失解决方案

二叉树 定义 二叉树是n(n>0)个结点的有限集合&#xff0c;该集合或者为空集&#xff08;称为空二叉树&#xff09;&#xff0c;或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。 图解 二叉树特点 由二叉树定义以及图示分析得出二叉树有以下特点…...

安卓APP源码和设计报告——智能垃圾桶

课程名称&#xff1a; 移动互联网应用开发 实验名称&#xff1a; 姓名/学号&#xff1a; 专业/班级&#xff1a; 指导教师&#xff1a; 实验时间&#xff1a; 一、案例功能需求 该系统是了解垃圾分类以及物品查询属于哪类垃圾的智能化APP。该系统可以实现用户登陆注册&a…...

阿里大牛整理!学生成绩管理系统javaweb

GC概述 垃圾收集&#xff08;Garbage Collection&#xff09;通常被称为“GC”&#xff0c;由虚拟机“自动化”完成垃圾回收工作。 思考一个问题&#xff0c;既然GC会自动回收&#xff0c;开发人员为什么要学习GC和内存分配呢&#xff1f;为了能够配置上面的参数配置&#xf…...

限时发布!java线上调试工具

Java代码是怎么运行的&#xff1f; Java的基本类型 Java虚拟机是如何加载Java类的 JVM是如何执行方法调用的&#xff1f;&#xff08;上&#xff09; JVM是如何执行方法调用的&#xff1f;&#xff08;下&#xff09; JVM是如何处理异常的&#xff1f; JVM是如何实现反射的&…...

Java反射使用指南

一、Java反射获取类 1.1 通过类全名 Class c Class.forName("com.vo.Person");1.2 通过类型获取 Class c Person.class;1.3 使用getClass(); Person person new Person("zm",22); Class c person.getClss;1.4 通过类加载器 ClassLoader classLoader…...

Jetty中文乱码问题的解决

Jetty中文乱码问题的解决参考文章&#xff1a; &#xff08;1&#xff09;Jetty中文乱码问题的解决 &#xff08;2&#xff09;https://www.cnblogs.com/Rexcnblog/articles/4523426.html &#xff08;3&#xff09;https://www.codeprj.com/blog/4505a21.html 备忘一下。...

阿里程序员的Java之路!疯狂java讲义电子版

Java并发编程技术官笔记 由于篇幅原因&#xff0c;我只能在文章中展示部分的章节内容和核心截图&#xff0c;如果你需要完整的pdf版本&#xff0c;可以在文末免费领取 首先给大家分享学习的思维导图&#xff0c;学习是需要逻辑完整的&#xff0c;这样才可以更高效的学习&#x…...

YOLOv5安卓部署 | 安卓部署理论篇 | 1/3

YOLOv5安卓部署 | 安卓部署理论篇 | 1/3 我这里把打包好的APK格式的安装包放到我的网盘里了,安卓手机的同学可以直接安装在自己的手机上体验一下。打包好后只有88.17 MB。 链接:https://pan.baidu.com/s/1XVHePn2L1rkIx_ANDWNXpA?pwd=csdn 提取码:csdn 文章目录 YOLOv5安卓…...

第k个数(快速选择)

算法思路 快速选择&#xff1a; 1.即任意选一个数&#xff0c;将数组划分为二。 2.最终根据该数所在的位置&#xff0c;即第&#xff1f;大&#xff0c;选择第k大的数字所在区间进行划分。 时间复杂度分析&#xff0c;第一次划分n,下一次划分期望n/2&#xff0c;n/4…累加和小…...

基于SpringBoot大学生心理健康咨询管理系统的分析与设计

目 录 摘 要 I Abstract II 1 前言 1 1.1 研究背景及意义 1 1.2 国内外研究现状 2 1.3 本文研究思路与结构 3 2 系统开发技术介绍 4 2.1 Java语言 5 2.2 Spring框架简介 6 2.3 Spring Boot 框架简介 6 2.4 MyBatis 框架简介 7 2.5 开发环境 8 3 系统需求分析 9 3.1 需求分析 9 …...

HR-saas中台管理项目(9)

权限设计-RBAC的权限设计思想 首先,我们先了解下什么是传统的权限设计 从上面的图中,我们发现,传统的权限设计是对每个人进行单独的权限设置,但这种方式已经不适合目前企业的高效管控权限的发展需求,因为每个人都要单独去设置权限 基于此,RBAC的权限模型就应运而生了,RB…...

LeetCode每日一题——907. 子数组的最小值之和

LeetCode每日一题系列 题目&#xff1a;907. 子数组的最小值之和 难度&#xff1a;普通 文章目录LeetCode每日一题系列题目示例思路题解题目 给定一个整数数组 arr&#xff0c;找到 min(b) 的总和&#xff0c;其中 b 的范围为 arr 的每个&#xff08;连续&#xff09;子数组…...

4.1.3 名称的特殊处理

名称的特殊处理 类成员变量的名称处理&#xff1a; 对于类的数据成员&#xff0c;其的名称经过编译器的处理会在程序员定义名称的后面再加上class的名称&#xff0c;进而形成独一无二的命名&#xff0c;例如下面的的成员变量x再经过类处理后有可能为x_7Point3d。 class Point…...

学习一篇营收1000万的成交文案

妮妮姐把波波最新的连载的链接发到我们<学习波波来了>的群上群上&#xff0c;这篇连载就是《<波波来了>100位全球合伙人召集令》 是的&#xff0c;这是一篇营收1000万的成交文案&#xff0c;100个合伙人&#xff0c;一个10万。 妮妮说&#xff0c;大家看了这么久波…...

基于tymon,无需搭建LSTM,航班人数预测

前言 本文基于开源AI交互式框架tymon&#xff0c;对航班人数进行预测分析。 实战 安装tymon pip install tymon 或者git clone 代码仓 git clone https://github.com/TymonXie/tymon.git 推荐使用pip&#xff0c;会将以来的pytorch等进行安装&#xff0c;数据可在example文件…...

Java学习日志,第一天:jdk(java开发工具包)的安装和配置

jdk的安装&#xff1a; 1.进入官网点击 Java SE 8下的jdk download 如图&#xff1a;官网地址https://www.oracle.com/java/technologies/javase-downloads.html 2.下载最下方的64位版本的jdk,如图&#xff1a; 3.下载好后点击安装的文件开始安装&#xff0c;点击更改&#xf…...

Compose 动画艺术探索之灵动岛

本文为稀土掘金技术社区首发签约文章&#xff0c;14天内禁止转载&#xff0c;14天后未获授权禁止转载&#xff0c;侵权必究&#xff01; 本篇文章是此专栏的第五篇文章&#xff0c;本篇文章应该是此专栏中最后一篇直接关于动画的文章了&#xff0c;之后文章中可能会提到&#…...

熟悉 MINIX 系统调用和 MINIX 调度器的实现

一、目的 巩固操作系统的进程调度机制和策略 熟悉 MINIX 系统调用和 MINIX 调度器的实现 二、内容与设计思想 在 MINIX3 中实现 Earliest-Deadline-First 近似实时调度功能 在 MINIX3 中实现 EDF 近似实时调度功 三、使用环境 VMware&#xff0c;Minix&#xff0c;Moba四、…...

【大厂高频真题100题】单词拆分 真题练习第7题 持续更新~

单词拆分 描述: 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s = "leetcode", wordDict = ["leet&q…...

阿里P8大牛手把手教你!20道Java工程师面试必问题

一. 为什么使用spring cloud alibaba 很多人可能会问&#xff0c;有了spring cloud这个微服务的框架&#xff0c;为什么又要使用spring cloud alibaba这个框架了&#xff1f; 最重要的原因在于spring cloud中的几乎所有的组件都使用Netflix公司的产品&#xff0c;然后在其基础…...

​​PMP项目管理—第5章 项目范围管理。

PMBOK项目管理知识体系指南—PMP项目管理学习笔记&#xff08;总&#xff09;。第1章 引论。第2章 项目运行环境。第3章 项目经理的角色。第4章 项目整合管理。第5章 项目范围管理。第6章 项目进度管理。第7章 项目成本管理。第8章 项目质量管理。第9章 项目资源管理。第10章 项…...

Linux实操篇-用户管理

Linux实操篇-用户管理 首先&#xff0c;我们看一下如图所示&#xff0c;Linux操作系统中&#xff0c;有用户&#xff0c;组和家目录&#xff0c;通过组来管理用户&#xff0c;通过家目录某个用户可以在某个目录下去使用。 linux是一个多用户多任务的操作系统&#xff0c;任何…...

Java环境变量配置教程

Java环境变量配置教程一、JDK安装二、配置环境变量1.在哪里配置环境变量&#xff1f;2.怎么配置环境变量&#xff1f;三、验证是否安装好java环境一、JDK安装 首先先了解一下JDK,JRE和JVM JDK — java开发工具包 JRE — java运行时环境 JVM — java虚拟机 JDK下载官网&#x…...

[附源码]计算机毕业设计医院挂号住院管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…...

区块链公开数据集

众所周知&#xff0c;区块链上的数据是公开的&#xff0c;这使得分析链上数据&#xff0c;成为一种热门的趋势。 首先要感谢nansen.ai等公司在链上数据ETL上作出的开源贡献[1]。 github: Blockchain ETL 公开的数据存放于Google的BigQuery中&#xff0c;目前未找到国内的开放…...

网络:Ethernet

文章目录简介参考&#xff1a;协议格式简介 二层Ethernet协议 参考&#xff1a; http://decnet.ipv7.net/docs/dundas/aa-y298a-tk.pdf 协议格式...

AD域帐户密码过期,终端802.1x认证自动重连导致AD账号被锁,员工无法上网、办公怎么办?

搭建了微软 Active Directory&#xff08;AD&#xff09;或 OpenLDAP 的企业&#xff0c;通常会让员工使用 AD 域账号或OpenLDAP 账号密码登录电脑终端、OA、VPN、VDI或进行网络接入 802.1x 认证。AD 域密码安全策略会要求员工定期修改域账号密码&#xff0c;密码修改或过期后&…...

阿里技术专家深入讲解,java培训老师面试题

HUAWEI-Java一面-1H 闲聊偏多&#xff0c;问的技术性问题比较基础 简单说说面向对象的特征以及六大原则谈谈final、finally、finalize的区别Java中、equals与hashCode的区别和联系谈谈Java容器ArrayList、LinkedList、****HashMap、HashSet的理解&#xff0c;以及应用场景谈谈线…...

websocket集成,基于自己封装的starter

使用基于stom协议的websocket实现&#xff0c;自己封装了一个简单易用的websocket-starter&#xff0c;方便使用&#xff0c;具体集成如下所示&#xff1a; 1. 导入websocket-spring-boot-starter 在pom.xml文件导入websocket-spring-boot-starter依赖包&#xff0c;包在文末会…...

java 开发storm 拓扑_Storm入门之第三章拓扑

在这一章&#xff0c;你将学到如何在同一个Storm拓扑结构内的不同组件之间传递元组&#xff0c;以及如何向一个运行中的Storm集群发布一个拓扑。数据流组设计一个拓扑时&#xff0c;你要做的最重要的事情之一就是定义如何在各组件之间交换数据(数据流是如何被bolts消费的)。一个…...

What are the basic mathematical knowledge in computer graphics?

计算机图形学中使用了大量数学知识&#xff0c;尤其是矩阵和线性代数。虽然我们倾向于认为3D图形编程是紧跟最新技术的领域之一&#xff08;它在很多方面确实是&#xff09;&#xff0c;但它用到的很多技术实际上可以追溯到上百年前,其中一些甚至是由文艺复兴时期的伟大哲学家们…...

求微信小程序-信用卡申请类的

求各位大佬分享一下 类似于信用卡申请的 微信小程序源码 最好后台是JAVA的 没有后台也可以&#xff0c;类似于下图 十分感谢...

求微信小程序源码-信用卡申请类

求各位大佬分享一下 类似于信用卡申请的 微信小程序源码 最好后台是JAVA的 没有后台也可以&#xff0c;类似于下图 十分感谢...

vue基于 input 实现密码的显示与隐藏功能

目录前言&#xff1a;一、准备图标二、Vue程序界面的展示三、代码总结&#xff1a;前言&#xff1a; 大家都知道&#xff0c;一般情况下&#xff0c;输入框的密码我们是看不到密码的&#xff0c;只有当我们点击查看密码的小图标时&#xff0c;密码才会显现出来&#xff0c;实现…...

扛不住成本压力 继微信后支付宝还信用卡也要收费了

原标题 扛不住成本压力&#xff0c;继微信之后&#xff0c;支付宝还信用卡也要收费了 来源 界面新闻 记者 杨芮 扛不住成本压力&#xff0c;移动支付两大巨头的信用卡还款功能均不再实行免费政策。继微信之后&#xff0c;支付宝针对信用卡还款2000元以上的部分也开始收费了。…...

微信小程序“信用卡还款”项目实践

小程序概述 11月3日晚&#xff0c;微信团队对外宣布&#xff0c;微信小程序开放公测。开发者可登陆微信公众平台申请&#xff0c;开发完成后可以提交审核&#xff0c;公测期间暂不能发布。 我们前一段时间也进行了小程序开发&#xff0c;现在来对之前的开发体验做一个总结。 1.…...

微信信用卡还款后台开发最新面试真题

今天&#xff08;2021.01.23&#xff09;&#xff0c;一位做软件开发的朋友参加了腾讯微信部门&#xff0c;信用卡还款后台开发视频面试&#xff0c;分享一下面试官出的题&#xff0c;供大家参考&#xff0c;以备不时之需。 岗位&#xff1a;微信信用卡还款后台开发 负责信用…...

聚观早报 | iPhone 14正式官宣;支付宝、微信新增信用卡取现

今日要闻&#xff1a;iPhone 14发布会时间正式官宣&#xff1b;支付宝、微信新增信用卡取现入口&#xff1b;蔚来 ES7 将于8月28日开启交付&#xff1b;TikTok测试“附近”功能&#xff1b;索尼公布全新模块化无线手柄iPhone 14发布会时间正式官宣 8 月 25 日消息&#xff0c;苹…...

浅析 - 微信先享卡

浅析 - 微信先享卡 ❝ 大家好&#xff0c;我是木小深&#xff0c;高级产品经理。我们的公众号主要是分享关于产品经理个人成长和职业发展相关的话题。今天分享的是一款基于微信支付分的营销产品-微信先享卡。 ❞「初稿&#xff5c;木深、木小深」 「编辑&#xff5c;牟深、Sam…...

微信零钱和微信信用卡还款功能来临了

微信近阶段可谓动作频频&#xff0c;微信小店、搜狗微信搜索、封禁微信集赞&#xff0c;13日发公告称腾讯旗下财付通公司已于4号将原名“深圳市财付通科技有限公司”正式变更为“深圳市财付通支付科技有限公司”。底层则基于腾讯财付通的微信支付今天又推出多个新产品&#xff…...

JAB详解

1、JAB的安装 可参见官网的说明&#xff1a; 技术资源 | Oracle 中国 具体步骤大致如下&#xff1a; &#xff08;1&#xff09;先安装java的运行环境&#xff0c;可以运行一个含有java程序的html文件&#xff0c;网页会提示需要安装插件&#xff0c;点击安装插件会自动跳转…...

JAB工作过程

JVM加载java.awt.Toolkit时&#xff0c;默认执行initAssistiveTechnologies方法。该方法加载accessibility.properties文件。 读取文件中的assistive_technologies属性。 找到access-bridge-32.jar下的com.sun.java.accessibility.AccessBridge并加载。 该方法加载JavaAccessBr…...

测试JAB(Java Access Bridge)接口的工具

下载&#xff1a; https://www.oracle.com/technetwork/cn/java/javase/tech/index-jsp-136191-zhs.html 下载 Java Access Bridge 2.0.2 执行对应的 %JRE_HOME%\bin\jabswitch -enable https://docs.oracle.com/javase/8/docs/technotes/guides/access/enable_and_test.ht…...

新书上市|《图解数据结构与算法》,全彩印刷!这是一本轻松学习数据结构与算法的书!

关于这本书 我的新书《图解数据结构与算法》上市了,全彩印刷,这本书的写作初衷是为大家提供一种形象且易于理解的方式来学习常见的数据结构和算法,本书采用一步一图的方式来呈现数据结构中常见概念以及算法的步骤,降低了理解难度和阅读压力。 对于常见的数据结构和算法的…...

Unity-BattleStar丨6. 动画系统-让BattleStar游戏中的角色动起来

文件下载&#xff1a;地址 项目目标&#xff1a;实现NPC防御和踢腿动作 一、导入模型 1、新建一个空项目&#xff0c;导入Cha07.unitypackage&#xff0c;打开Scenes里的BattleStar_GuideScene并进入&#xff0c;点击右上角的Default按钮&#xff0c;切换至Tall 2、双击Main …...

Octavia 的 HTTPS 与自建、签发 CA 证书

目录 文章目录 目录Octavia 为什么需要自建 CA 证书?GenerateServerPEMTaskCertComputeCreateAmphora AgentAmphoraAPIClient最后Octavia 为什么需要自建 CA 证书? Note: For production use the ca issuing the client certificate and the ca issuing the server certifica…...

Windows Azure 成为业内首家被授权为 FedRAMP JAB P-ATO 的供应商

编辑人员注释&#xff1a;本文章由 Windows Azure 业务和运营部门产品市场营销总监 Sarah Fender 撰写 我们高兴地宣布&#xff0c;Windows Azure 被 FedRAMP 联合授权董事会 (JAB) 授权为Provisional Authorities to Operate(P-ATO)。Windows Azure 是同类中首个被授权为 JAB …...

这10道大厂Java面试题,我敢打赌90%的人都不会!!!

这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案&#xff0c;或者觉得这些不足以挑战你的 Java 知识&#xff0c;但这些问题都是容易在各种 Java 面试中被问到的&#xff0c;而且包…...

入门深度学习?这里有5件你应该知道的事

作者|PURVA HUILGOL 编译|Flin 来源|analyticsvidhya 开始你的深度学习生涯&#xff1f; 对于新手来说&#xff0c;深度学习是一个复杂而令人生畏的领域。像隐藏层、卷积神经网络、反向传播等概念在你试图掌握深入学习的主题时不断出现。 这并不容易——尤其是如果你走的是非…...

六个月的机器学习 / 计算机视觉工程师

作者|Richmond Alake 编译|Flin 来源|towardsdatascience 介绍 我真不敢相信&#xff0c;离我写第一篇详细描述了我第一天的职业生活的文章已经有六个月了。 时间过得真快。 所以&#xff0c;欢迎再次光临我作为计算机视觉工程师的在线日志。 在这篇文章中&#xff0c;你可…...

JAB2完成Java bean到xml的相互转换

JAXB功能非常强大&#xff0c;主要是对java bean到xml之间的互转&#xff1b;JAXB的doc比较全面&#xff0c;网址&#xff1a;http://jaxb.java.net/tutorial/jdk5已经自带了jaxb的包&#xff1b;应该是在rt.jar里&#xff1b;用法也比较简单&#xff0c;步骤如下&#xff1a;1…...

如何在eclipse中打开查看.class文件(查看源码)

-如何通过eclipse读取.class文件 –配置环境&#xff1a;macOS high Sierra 10.13.6/window10 –生产环境&#xff1a;eclipse2018.a 打开eclipse macketplace&#xff1a;help–eclipse macketplace输入Enhanced Class Decompiler 然后等待安装完成&#xff0c;重启eclipse。右…...

Rearrange Jab State(重新调整后跳)

问题&#xff1a;会出现突然向后移动&#xff08;一抽一抽的&#xff09; ⭐利用FSMOnUpdate 时时刻刻更新在jab state底下的移动量 在jab动画下面新增一个脚本FSMOnUpdate: public class FSMOnUpdate : StateMachineBehaviour {public string[] onUpdateMessage;// OnStateEn…...

疫苗接种 vaccine jab

卫生部1月7日下发通知&#xff0c;即日起3岁以下儿童可以免费接种甲流疫苗&#xff0c;并遵循“知情、自愿、免费”的原则为这一人群实施疫苗接种。 请看新华社的报道&#xff1a; Children aged from six to 35 months in China will get A/H1N1 flu vaccine jabs free of c…...

java 解析 xml jab2_【Java中级】36.0 SSM之SpringBoot框架(二)——2.X版本的使用

1.0 SpringBoot框架的一些基础请见&#xff1a;2.0 springboot2.X新特性概述1、依赖版本jdk8以上, Springboot2.x用JDK8, 因为底层是 Spring framework5, 当然&#xff0c;也支持JDK1.92、安装maven最新版本&#xff0c;springboot2.X需要maven3.2以上版本&#xff0c;下载地址…...

java 解析 xml jab2_提高Oracle 11g中XML的可读性,以获取大型文件的二进制XMLType存储...

我有一个要求&#xff0c;我必须处理巨大的XML文件。这意味着可能会有大约1000个xml文件&#xff0c;这些文件的整个大小约为2GB。我需要的是将这些文件中的所有数据存储到Oracle数据库中。为此&#xff0c;我使用sqlloader将所有XML文件批量上传到我的数据库&#xff0c;并将其…...

Add Jab State(新增后跳)

黑魂里面当角色没有速度的时候按跳跃键会向后跳&#xff0c;当有速度的时候会向前翻滚&#xff0c;如果是跑的时候会向前跳跃并落地翻滚。 思路当forward小于0.1时触发向后跳&#xff0c;当forward大于0.1小于1.1时触发向前翻滚&#xff0c;当forward大于1.1小于2时触发跳跃翻滚…...

c语言python和jab,JabRef学习笔记(一)

JabRef简介JabRef is an open source bibliography reference manager. The native file format used by JabRef is BibTeX, the standard LaTeX bibliography format. JabRef is a desktop application and runs on the Java VM (version 8), and works equally well on Windo…...

java 解析 xml jab2,Java引用详解

1 Java中的四种引用在Java中提供了四个级别的引用&#xff1a;强引用&#xff0c;软引用&#xff0c;弱引用和虚引用。在这四个引用类型中&#xff0c;只有强引用FinalReference类是包内可见&#xff0c;其他三种引用类型均为public&#xff0c;可以在应用程序中直接使用。引用…...

jab是什么java_jabdp常用控件

应用好不好用&#xff0c;用户体验是非常重要的。jabdp已经集成丰富的UI组件&#xff0c;并且与字段绑定好。1、下拉框(combobox)下拉框是最常用的控件&#xff0c;它是怎么实现的呢。在字段属性里&#xff0c;编辑类型选【comboBox】&#xff0c;然后【数据源设置】&#xff0…...

jab是什么java_JAB(java access bridge)安装和使用

【实例简介】使用JAB来实现java代码控制java窗口的工具&#xff0c;网上资料很少&#xff0c;自己的研究也有限&#xff0c;希望多多指教【实例截图】【核心代码】3436269JAB安装以及使用文件└── JAB安装以及使用文件├── accessbridge2_0_2│ ├── access-bridge-32.…...

jab是什么java_JAB(java access bridge)学习和使用

1、JAB的安装可参见官网的说明&#xff1a;http://www.oracle.com/technetwork/cn/java/javase/tech/index-jsp-136191-zhs.html具体步骤大致如下&#xff1a;(1)先安装java的运行环境&#xff0c;可以运行一个含有java程序的html文件&#xff0c;网页会提示需要安装插件&#…...

云计算应用正在增长 五大趋势推动发展

在技术行业忙于精确定义运计算这个词汇的同时&#xff0c;运计算似乎更像是一种宣传&#xff0c;而不是一个现实。然而&#xff0c;实际的业务和市场趋势正在利用云计算使自己走在前面。企业和政府部门正在现实世界中利用这个新兴的概念。云计算的应用正在增长。 云计算基本上…...

云计算工程师解读2021年云计算将趋势

云计算工程师解读2021年云计算将趋势 受疫情影响&#xff0c;企业上云成为了市场与产业的热点。从接触者追踪到送货上门服务&#xff0c;再到远程医疗以及在家工作&#xff0c;云计算已经彻底改变了一切。显然&#xff0c;云计算在2021年将呈现持续性增长的趋势&#xff0c;接…...

中国云计算的未来发展

全球公有云年均复合增速为23.5%&#xff0c;远远超过整个IT 行业的支出。根据IDC 的报告&#xff0c;2017年公有云的支出为1072 亿美元&#xff0c;2013 年公有云的支出则为474 亿美元&#xff0c;2013-2017 年均复合增速为23.5%。IDC 认为公有云服务的支出将会驱动17%的IT 支出…...

流媒体的未来——视频技术如何演变

Editorial Note随着5G技术与边缘计算的发展&#xff0c;流媒体的视频技术也将越发精湛。现在的技术更多从视频媒体&#xff0c;包括流媒体的一个容器、技术、存储协议&#xff0c;以及在传输层面做的一些优化&#xff0c;这些技术都将成为实现超低时延而需要的关键技术&#xf…...

云计算时代,传统媒体如何云上升级

近年来&#xff0c;随着5G、移动互联网、物联网等技术的发展&#xff0c;加速了各行各业的数字化转型&#xff0c;传统媒体也在新技术的驱动下迎来了升级。在传统媒体到新媒体的转型过程中&#xff0c;文件大、数量多的非结构化媒体数据存储是其中的严峻挑战。5G、移动互联网等…...

华纳云: 2021年十二个主要的云计算趋势

云计算技术使企业能够快速扩展和适应&#xff0c;加速创新&#xff0c;推动业务敏捷性&#xff0c;简化运营&#xff0c;并降低成本。不仅可以帮助企业渡过目前的困境&#xff0c;还可以促进业务的长期增长。 日新月异的科技如今显著改变着人们的工作和生活。云计算技术也在以…...

云计算由哪几部方构成,云计算发展主要面临哪些挑战?

云客户端&#xff0c;如iPhone、Firefox、Android等这类终端设备&#xff1b; 云应用&#xff0c;如GoogleApps、Salesforce、Facebook等应用服务提供商&#xff1b; 云平台&#xff0c;如MicrosoftAzure&#xff0c;GoogleAppEngine等大型平台服务提供商&#xff1b; 云基础…...

磷脂-聚乙二醇-人血清白蛋白DSPE-PEG-HSA ,脂质体DPPE/DOPE/DMPE修饰蛋白

磷脂-聚乙二醇-人血清白蛋白英文名称&#xff1a;DSPE-PEG-HSA 需要存储在-20C&#xff0c;避光&#xff0c;避湿的环境下&#xff0c;注意取用需放置室温后再开盖取用&#xff0c;避免吸潮&#xff0c;避免反复冻溶。 磷脂-聚乙二醇-人血清白蛋白DSPE-PEG-HSA产物呈固体或粘…...

云计算的发展趋势是什么?

小岱认为云计算的发展趋势应该是淡化 Server&#xff0c;强化 Service。所谓的淡化 Server&#xff0c;就是开发者无需再像往常一样购买云主机示例&#xff0c;去做各种运维操作&#xff0c;云平台只提供“服务”&#xff0c;不提供“服务器”。 事实上这种概念在 Serverless …...

unity粗体字+android,[Unity] UGUI加粗字体小记

不同字体无法合批前段时间看一个新系统的UI DrawCall时&#xff0c;发现有几个同Depth的粗体字跟非粗体字没有合批&#xff0c;感觉非常奇怪。然后看了下Text组件的设置&#xff0c;发现这位同学做粗体效果时拖用了msyhbd的字体&#xff0c;而普通字用的msyh字体。这里说明下两…...

R语言使用plot函数可视化数据散点图,使用font.sub参数指定次标题的字体类型为粗体字体(bold)

R语言使用plot函数可视化数据散点图,使用font.sub参数指定次标题的字体类型为粗体字体(bold) 目录...

ireport生成pdf黑体粗体字方法

Map parameters new HashMap(); parameters.put("accede", accedeBean); ServletContext servletContext ServletActionContext .getServletContext(); String sourceFileName servletContext .getRealPath("/print/jasper_design/accede.jasper&q...

Vue中的侦听器watch

侦听器&#xff1a;侦听属性或计算属性值的变化&#xff0c;可以做异步操作&#xff0c;比如setTimeout()。 实现侦听器的两种格式 ① 利用watch配置项 new Vue({el: #root,data: function () {return {count: 1}},watch: {count: { // 侦听count属性handler(newValue, oldVa…...

美团:不存在大众点评合并进美团App的可能性

相关新闻&#xff1a; “大众点评”即将消失&#xff0c;前路未定 新浪科技讯 2月20日晚间消息&#xff0c;针对大众点评将改名甚至被合并进美团App的传闻&#xff0c;美团方面回应称大众点评会一直是个独立App&#xff0c;不存在合并进美团App的可能性。 今日有媒体报道&am…...

获取大众点评数据

使用.NET实现一个从大众点评抓取一些基础数据&#xff08;商家名称&#xff0c;地址&#xff0c;电话&#xff0c;经纬度&#xff09;的小程序。 实现逻辑&#xff1a; 1、以异步方式从列表上获取前三项(商家名称、地址、电话)&#xff1b; 2、把获取下来的数据保存到数据库表里…...

CAXA AutoCAD标注小数后位数设置

CAXA...

yolov5开笔记本摄像头实时检测方法

1.在datasets文件的第303行注释四行如下图 2.detect.py中这个函数的source中的default中的内容删掉&#xff0c;图中光标位置。 3.pycharm右上角编辑配置&#xff0c;参数加上–view–img --source 0 如图所示 然后就可以啦...

计算机主机检测不到耳机,win10电脑检测不到耳机怎么办_win10电脑检测不到耳机如何解决-系统城...

日常在使用win10电脑听歌曲时喜欢插入耳机&#xff0c;这样音质比直接外放好多了&#xff0c;最近很多win10用户出现了耳机拔下来再插上电脑然后耳机听不到声音&#xff0c;检测耳机是没问题的&#xff0c;那么就是设置出现问题&#xff0c;针对此故障&#xff0c;小编这里和大…...

计算机启动时检测硬盘,取消win7电脑开机检测硬盘的方法

众所周知&#xff0c;win7电脑在开机的时候是会检测很多电脑数据、设备的&#xff0c;虽说这是一种安全的行为&#xff0c;但是同时也会让电脑开机的速度变得很慢&#xff0c;有些不必要的硬盘见测&#xff0c;我们不妨省略了好!方法一、或者是你在BIOS设置中选择了每次开机都要…...

电脑蓝屏检测修复方法

原文地址::https://jingyan.baidu.com/article/adc815137e78e3f723bf739d.html?st5&net_type&bd_page_type1&os1&rst&worddump 相关文章 1、【技术贴】关于如何检测电脑蓝屏的一些方法----http://dell.benyouhui.it168.com/thread-5296323-1-1.html...

爬虫检测方法总结

背景 近期由于工作上的需求&#xff0c;研究了一下反爬虫的工作。爬虫真是一种让人又爱又恨的存在&#xff0c;一方面搜索引擎的爬虫可以带来更多曝光率和更多流量&#xff0c;对公司是一件好事&#xff0c;但是也有一些个人或者竞争对手的爬虫&#xff0c;不但不会带来利润&a…...

计算机测试新机,检测电脑是否是新机的方法

当我们打算一台笔记本时&#xff0c;谁都不希望自己到的是一台展示机甚至是返修机。网上介绍了很多购机的检验方法&#xff0c;比方说看包装口的封条、查看出风口有没有灰尘等等。但道高一尺&#xff0c;魔高一丈&#xff0c;这些痕迹&#xff0c;往往会被老道的奸商掩盖。本文…...

LC117A泛海微马达驱动IC SOP-8

马达驱动IC LC117A SOP-8 电动玩具直流驱动 电机驱动芯片 马达驱动IC LC117A的产品描述&#xff1a; LC117A是为专门为低电压下工作的系统而设计的单通道玩具直流电机驱动集成电路。它具有H桥驱动器, 采用导通电阻非常小的P-MOS和N-MOS功率晶体管作为开关管&#xff0c;可在瞬间…...

教育法律法规-10月27日

教育法律法规 以输入地政府管理为主&#xff0c;以全日制公办小学为主&#xff0c;确保进城务工人员随迁子女平等接受义务教育&#xff0c;研究制定进城务工人员随迁子女接受义务教育后应当地参加升学考试 《国家中长期教育改革和发展规划纲要》全面提高义务教育普及水平&…...

基于JAVA儿童思德教育网计算机毕业设计源码+系统+lw文档+部署

基于JAVA儿童思德教育网计算机毕业设计源码系统lw文档部署 基于JAVA儿童思德教育网计算机毕业设计源码系统lw文档部署本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;Layui、H…...

JAVA儿童思德教育网计算机毕业设计Mybatis+系统+数据库+调试部署

JAVA儿童思德教育网计算机毕业设计Mybatis系统数据库调试部署 JAVA儿童思德教育网计算机毕业设计Mybatis系统数据库调试部署本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;La…...

集成算法简介

1、集成学习概述 集成学习&#xff08;EnsemblelearningEnsemble learningEnsemblelearning&#xff09;的目的是让机器学习的的效果更好&#xff0c;一个不行&#xff0c;就多个一起。 常用的有三种方式 Bagging&#xff1a;训练多个分类器取平均 f(x)1/M∑m1Mfm(x)f(x)1 / …...

Flutter 3.7 之快速理解 toImageSync 是什么?能做什么?

随着 Flutter 3.7 的更新&#xff0c; dart:ui 下多了 Picture.toImageSync 和 Scene.toImageSync 这两个方法&#xff0c;和Picture.toImage 以及 Scene.toImage 不同的是 &#xff0c;toImageSync 是一个同步执行方法&#xff0c;所以它不需要 await 等待&#xff0c;而调用 …...

Unity动画之1D混合和2D混合

Parameter 参数&#xff0c;用于控制混合的参数&#xff0c;在参数列表中的参数 图像 可以在这里拖拽控制n个动画的阈值 Motion 关联的动画列表&#xff0c;可以用鼠标改变顺序 Threshold 对应动作的临界阈值 当等于这个值时动作权重最大&#xff08;完全播放该动作&…...

离散数学 图论

1 图的基本概念 1、<V,E>是一个图 其中V代表顶点E表示边2、零图&#xff1a;图的边集E为空集 3、平凡图&#xff1a;只有一个结点的零图 4、平行边&#xff1a; 1 在无向图中&#xff1a;有两条或两条以上的边与同一对结点相关联 2 在有向图中&#xff1a;一序偶对应两…...

堆内存溢出定位(Heap Dump)

配置 jvm 参数&#xff0c;内存溢出时会自动HeapDump&#xff08;指定 dump 文件路径是可选的&#xff09; -Xms20m -Xmx20m -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/home或者用 jmap jmap -dump:formatb,file<filename.hprof> <pid>必要时将dump文件从…...

设计模式(六)----创建型模式之原型模式

1、概述 用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象相同的新对象。 2、结构 原型模式包含如下角色&#xff1a; 抽象原型类&#xff1a;规定了具体原型对象必须实现的的 clone() 方法。 具体原型类&#xff1a;实现抽象原型类的 clo…...

【GD32F427开发板试用】USR-C210 WIFI模块进行以太网通信

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;小蜗牛 一、硬件介绍 USR-C210 硬件上集成了 MAC、基频芯片、射频收发单元&#xff0c;尺寸小&#xff0c;易于焊接在客户的单板电路上&#x…...

MOS管的工艺和工作原理

内部结构和表示符号 参考&#xff1a;https://blog.csdn.net/weixin_63069480/article/details/125552621&#xff0c;https://www.bilibili.com/video/BV1N8411T77d/?p9&spm_id_frompageDriver&vd_source00bd76f9d6dc090461cddd9f0deb2d51 工作过程原理 从上图中的…...

区块链学习4-长安链并发测试(2)_部署链

上一篇&#xff1a;https://mp.csdn.net/mp_blog/creation/editor/128927000 二、部署链和prometheus配置 1. 单机模式下部署长安链 https://docs.chainmaker.org.cn/quickstart/通过命令行体验链.html 下载源码&#xff1a; git clone -b v2.3.0 https://git.chainmaker.…...

持续集成Jenkins (一)部署安装

前言环境清单&#xff1a;CentOS7.8安装JDK8或以上版本安装Maven仓库&#xff0c;因一般java程序是由maven工程&#xff0c;需要maven打包git/svn客户&#xff0c;因一般代码是放在git/svn服务器上的&#xff0c;我们需要拉取代码以上是自动化部署java程序jenkins需要的基本环境…...

【鼠标手势】Mouselnc使用笔记/Mouselnc+AHK=无敌好用/鼠标手势分享

当鼠标手势Mouselnc遇上AHK真的太好用了&#xff0c;让win的体验直接更上一层楼。AHK负责改键改功能&#xff0c;Mouselnc负责输出。首先介绍的是Mouselnc的附带功能&#xff0c;这是在众多手势软件中选它的原因&#xff0c;再分享个人常用的手势。 Mouselnc的附带功能 边缘滚…...

JavaScript电子表格:Handsontable 12.3.1

改进嵌套数据结构的工作。2023 年 2 月 7 日 - 10:22 新版本特征 改进了嵌套数据结构的处理。添加了“复制带标题的单元格”功能的日语翻译。外观和感觉都像电子表格的 JavaScript 数据网格。 Handsontable 是一个 JavaScript/HTML5 数据网格组件&#xff0c;具有独立于任何外部…...

【C语言】编程初学者入门训练(3)

文章目录21. 时间转换22. 总成绩和平均分计算23. 计算体重指数24. 计算三角形的周长和面积25. 计算球体的体积26. 大小写转换27. 2的n次方计算28. kiki和酸奶29. 发布信息30. 输出学生信息21. 时间转换 问题描述&#xff1a;给定秒数 seconds &#xff0c;把秒转化成小时、分钟…...

春招 | 标题不重要,待遇好是王道

还沉浸在满桌佳肴、胡吃海喝的喜悦里&#xff1f;依稀能听到耳边爆竹声的此起彼伏&#xff1b;一晃神&#xff0c;已经坐在了办公桌前假期就在猝不及防中悄然溜走了。请叫我一声最强打工仔吧&#xff0c;让我迷失在对工作的热爱中&#xff0c;写完这篇求才文章。一、职位信息01…...

大众集团率先启用高通下一代计算平台,技术升级战打响

全球汽车制造商正在进入芯片平台的切换周期&#xff0c;这是新一轮技术升级战的信号。 2021年&#xff0c;作为全球前两大汽车巨头之一的丰田汽车&#xff0c;决定从2023年开始&#xff0c;在旗下品牌的多款车型陆续采用Mobileye采埃孚的方案来替代一直使用的电装方案。 而另…...

OOP的弊端:自顶向下还是自底向上

[译者注]前不久翻译了Eric Raymond对几大开发语言的评价&#xff0c;引起了网友的热烈讨论。其中涉及到Eric Raymond对OO的批评&#xff0c;引起大家的争议。为此我再翻译他的一段相关文字&#xff0c;请大家阅读思考。模块化 —— Keep it clean, keep it simple程序员所面对的…...

Spring Cloud Bus-4.0.1 附录A

这里写目录标题附录 A&#xff1a;常见的应用程序属性参考地址附录 A&#xff1a;常见的应用程序属性 可以在application.properties文件内部application.yml、文件内部或作为命令行开关指定各种属性。本附录提供了一个常见的 Spring Cloud Bus 属性列表以及对使用它们的底层类…...

cherry-pick等git 高效率命令

前言使用 Git 作为代码版本管理&#xff0c;早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送&#xff0c;遇到一些commit管理的问题就束手无策&#xff0c;或者用一些不优雅的方式解决。本文分享我在开发工作中实践过的实用命令。这些都能够大…...

椭圆曲线标量乘法快速算法及源码分析

一、椭圆曲线密码算法 椭圆曲线密码算法(elliptic curve cryptograph,ECC)是一类重要的密码算法。椭圆曲线有如下性质: 有限域上椭圆曲线在点加运算下构成有限交换群,且阶与基域规模相近;类似于有限域乘法群的乘幂运算,椭圆曲线多倍点运算构成一个单向函数。ECC安全性依…...

Spring Boot 最核心的 25 个注解

1、SpringBootApplication这是 Spring Boot 最最最核心的注解&#xff0c;用在 Spring Boot 主类上&#xff0c;标识这是一个 Spring Boot 应用&#xff0c;用来开启 Spring Boot 的各项能力。其实这个注解就是 SpringBootConfiguration、EnableAutoConfiguration、ComponentSc…...

Qt开发遇到的坑,创建项目、支持中文、弹出控制台、qt4和qt5切换、内存越界

1、设置创建项目的默认目录 设置好对应创建目录后&#xff0c;勾选上“设为默认的项目路径”&#xff0c;之后创建的目录都会在这目录下&#xff0c;再改改编译生成目录不在上层&#xff0c;就不用改构建目录 2、更改编译后生成文件所在目录 点击工具》选型 构建和运行》Defa…...

记录一次内存调优实战

记录一次内存调优实战 测试使用adb monkey频繁测试App的拍照功能&#xff0c;发现内存持续升高&#xff0c;GC后仍缓慢持续升高&#xff1b; 业务场景描述 拍照界面大致如下&#xff1a; 和传图相机拍照稍许不同&#xff0c;此拍照业务是&#xff1a;点击拍照按钮 —> 系…...

持续集成Jenkins (三)基础配置

界面配置介绍1.1 界面总览1.2 详细配置1.2.1系统配置此处定义Jenkins的全局消息&#xff0c;或者是邮箱的配置。1.2.2全局安全配置主要是配置用户访问的控制&#xff0c;这里仅开启允许用户注册&#xff0c;这样的话&#xff0c;可以让所有开发测试小伙伴在这里以自己的名字注册…...

Tomcat 管理配置

目录 1.host-manager 2.manager 从早期的Tomcat版本开始&#xff0c;就提供了Web版的管理控制台&#xff0c;他们是两个独立的Web应用&#xff0c;位于webapps目录下。Tomcat 提供的管理应用有用于管理的Host的host-manager和用于管理Web应用的manager。 1.host-manager Tomca…...

小白系列Vite-Vue3-TypeScript:002-配置别名

上一篇我们已经初始化了一个ViteVue3TypeScript项目&#xff0c;本篇我们来介绍如何给项目配置别名。之所以要配置别名最直观的就是可以在项目开展编写代码时&#xff0c;避免出现类似 "../../../views/index.vue" 这样乱七八糟、层层嵌套式的路径引用。先安装types/…...

Linux下创建定时任务监控zookeeper进程,异常时自动启动

背景&#xff1a;在有一台服务器上的zookeeper进程会莫名其妙的消失&#xff0c;暂时没找到原因&#xff0c;放假前决定先临时写一个脚本进行监控&#xff0c;消失了就自动启动一下 目录 理论步骤 实现步骤 1、编写脚本并定义zookeeper的bin目录及配置文件以及定时任务周期…...

C语言基础知识(62)

内存本质编程的本质其实就是操控数据&#xff0c;数据存放在内存中。因此&#xff0c;如果能更好地理解内存的模型&#xff0c;以及 C 如何管理内存&#xff0c;就能对程序的工作原理洞若观火&#xff0c;从而使编程能力更上一层楼。大家真的别认为这是空话&#xff0c;我大一整…...

I am a boy!

对于一个字符串&#xff0c;请设计一个算法&#xff0c;只在字符串的单词间做逆序调整&#xff0c;也就是说&#xff0c;字符串由一些由空格分隔的部分组成&#xff0c;需要将这些部分逆序。例&#xff0c;输入"I am a boy!", 输出"boy! a am I"#include&l…...

elementUI el-table上移下移

<el-table :data"channelForm.selectedChannelList" style"width: 100%"> <el-table-column type"index"> </el-table-column> <el-table-column prop"...

iOS 首页标题支持展示图片点击展示lottie动画实现方案

现状&#xff1a;app首页标题只支持展示文字 需求 app首页标题支持展示图片&#xff0c;json 动画 如图 实现思路&#xff1a;将需要展示的资源包下载到沙盒中&#xff0c;在创建频道标题视图的时候&#xff0c;根据该频道在沙盒中是否有对应的图片、json资源来确定是否展示…...

Python安全攻防之第一章渗透测试概述

渗透测试的具体方法一、如何绕过CDN获取网站的真实IP地址通过内部邮箱获取。一般情况下&#xff0c;邮箱服务器位于内网&#xff0c;我们可以通过注册邮箱或者订阅邮件&#xff0c;目的就是让对方给我自己发送邮件&#xff0c;这样查看邮件的原始邮件头&#xff0c;就会发现邮件…...

MySQL-45讲学习笔记(1-3)

0. 开篇词 0.1 学习专题目的 在工作中对于MySQL&#xff0c;最重要的两点就是&#xff1a;如何设计表&#xff0c;还有如何对表查询进行优化&#xff01;能够写出逻辑正确的SQL语句&#xff0c;同时也能够知道语句是不是最优的数据库使用出现了问题&#xff0c;能够快速定位问…...

指针赋值问题

最近写了个代码&#xff0c;被日本客户指出来有问题&#xff0c;对此做了一项研究。 我最开始的时候写的是&#xff1a; char *pointer NULL; pointer “string”; printf(“%s\n”, pointer); 日本客户指出&#xff0c;pointer当前没有分配空间&#xff0c;给它赋值是不规…...

DOM编程-获取文本框的value

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>DOM编程-获取文本框的value</title> </head> <body> <script> /* 1、JavaS…...

Android基础教程——从入门到精通(下)

本文是对B站教程 动脑学院 Android教程 学习过程中所做的笔记。文章分为上下两部分&#xff0c;此文是下部分&#xff0c;上部分链接为&#xff1a;Android基础教程——从入门到精通&#xff08;上&#xff09;。源视频教程并没有录制全&#xff0c;本文还补充了 Service 和 网…...

leadtools 22.0.6 Crack .NET 7 Support

Charlotte, NC (January 9, 2023) - LEAD is pleased to announce the release of another major update to LEADTOOLS Version 22. Highlighting this release is support for .NET 7, the ability to add eSignatures to documents and PDFs, significant recognition enha...

Day882.隐式函数转换索引问题 -MySQL实战

隐式函数转换索引问题 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于隐式函数转换索引问题的内容。 在 MySQL 中&#xff0c;有很多看上去逻辑相同&#xff0c;但性能却差异巨大的 SQL 语句。 对这些语句使用不当的话&#xff0c;就会不经意间导致整个数据库的压…...

第七章:ElasticSearch集群的搭建

上一章&#xff1a;《第六章&#xff1a;IK分词器和Elasticsearch集成使用》 文章目录7.1 集群节点7.2 集群的搭建7.2.1 windows环境下es集群的搭建1.准备三台elasticsearch服务器2.修改每台服务器的配置7.2.2 linux环境下搭建es集群7.3 集群测试7.4 springboot集成客户端使用7…...

《第一行代码》kotlin Android SQLite

参考 《第一行代码 第三版》教程 Android 内置了SQLite数据库 SQLite 是一款轻量级的关系型数据库&#xff0c;运算速度快&#xff0c;占用资源少&#xff0c;支持标准SQL语法&#xff0c;数据库ACID事务&#xff0c;可以用于记录复杂的关系性数据 创建数据库 Android提供了S…...

es-Mapping

文章目录es-Mapping概念查看mappingES数据类型两种映射类型映射参数es-Mapping 概念&#xff1a;映射是定义文档及其包含的字段的存储和索引方式的过程两种映射方式 dynamic mapping&#xff08;动态映射或自动映射&#xff09;expllcit mapping &#xff08;静态映射或手动映…...

Spring事物管理

一.事物的概念? 事物可以看做是由对数据库的若干操作组成的一个单元 事物是一系列的动作,一旦其中有一个动作出现错误,必须全部回滚,提供将事物中对数据库的所有已完成的操作全部撤销,滚回到事物开始的状态,避免出现由于数据不一致而导致接下来的一系列错误. 事物的出现是为…...

九龙证券|重金买入百余股,这类资金连增六日!这个行业被重点盯上

两融资金接连6个交易日添加&#xff0c;杠杆资金加仓哪些股票&#xff1f; 证券时报•数据宝计算&#xff0c;到2月6日&#xff0c;沪深两融余额为15577.13亿元&#xff0c;较上一交易日添加58.79亿元&#xff0c;其间融资余额14641.43亿元&#xff0c;较上一日添加60.38亿元。…...

Self-training 与 Self supervised learning 简明对比

前言 最近搜 self supervised learning 工作时&#xff0c;不知怎么就输成了 self-training 自己还没反应过来已经搜错了hhh&#xff0c;这篇文章简明对比一下。 正文 Self-training 想要详细了解的可以看一篇综述 https://arxiv.org/pdf/2202.12040.pdf Self-training 其…...

C语言——字符串+内存函数及其模拟实现

目录0. 思维导图1. 前言2. 函数介绍2.1 strlen2.2 strcpy2.3 strcat2.4 strcmp2.5 strncpy2.6 strncat2.7 strncmp2.8 strstr2.9 strtok2.10 strerror2.11 memcpy2.12 memmove2.13 memcmp2.14 memset3. 库函数模拟实现3.1 模拟实现strlen3.2 模拟实现strcpy3.3 模拟实现strcat3…...

网络流量回溯分析对业务系统慢访问分析案例

需求简介 某外高桥公司的OA系统是其重要的业务系统&#xff0c;OA系统负责人表示&#xff0c;部分用户反馈&#xff0c;访问OA系统时比较慢。需要通过分析系统看一下实际情况。 报告内容 本报告内容主要为&#xff1a;OA性能整体分析 分析时间 报告分析时间范围为&#xf…...

全志H616——通过语言来控制手机刷抖音

思路&#xff1a;配置语言模块硬件库&#xff08;说什么话之类的&#xff09;刷固件到语言模块上&#xff08;USB转TTL&#xff09;连接安卓手机&#xff0c;使其能处于USB调试状态测试shell指令&#xff08;abd shell指令&#xff09;编写并封装串口收发函数&#xff08;下一篇…...

NVIDIA GPU开源驱动编译学习架构分析

2022年5月&#xff0c;社区终于等到了这一天&#xff0c;NVIDIA开源了他们的LINUX GPU 内核驱动&#xff0c; Linux 内核总设计师 Linus Torvalds 十年前说过的一句话&#xff0c;大概意思是英伟达是LINUX开发者遇到的硬件厂商中最麻烦的一个&#xff0c;说完这句话之后&#x…...

C语言基础知识(61)

多维数组多维数组的定义格式是&#xff1a;数据类型 数组名称[常量表达式1][常量表达式2]…[常量表达式n];定义了一个名称为num&#xff0c;数据类型为int的二维数组。其中第一个[3]表示第一维下标的长度&#xff0c;就像购物时分类存放的购物&#xff1b;第二个[3]表示第二维下…...

MCU - C51 单片机「实例」

前言 本文主要讲述 C51 单片机 学习需要掌握的基础内容纲领「实例代码地址」 订阅专栏&#xff0c;后续会陆续更新每章节内容 文章目录前言概览1. Hello Wriprin2. 创建工程文件 (.c) .hex 调试3. I/O 口控制小灯任意位置任意数量4. 数码管显示5. 外部中断 int0 int16. 定时器…...

训练营打卡Day58

训练营打卡Day58 文章目录训练营打卡Day58题124&#xff1a;[392. 判断子序列](https://leetcode.cn/problems/is-subsequence/)思路代码题125&#xff1a;[115. 不同的子序列](https://leetcode.cn/problems/distinct-subsequences/https://leetcode.cn/problems/distinct-sub…...

ansible实战应用系列教程5:管理playbook

ansbile实战应用系列教程5:管理playbook 编写并运行playbookAnsible Playbooks and Ad Hoc CommandsFormat of an Ansible Playbook运行playbook选项optionsplaybook中编写多个playsWriting Multiple PlaysRemote Users and Privilege Escalation in Playsplaybook提权配置文件…...

PostgreSQL中offset...limit分页优化常见手段

大部分开发人员习惯使用order by offset limit进行分页&#xff0c;使用该方法可能会导致扫描的数据放大&#xff0c;因为offset的行会被扫描。表现就是一般offset的行比较小的情况也&#xff0c;也就是翻页&#xff0c;是很快的&#xff0c;但是一旦offset的值很大&#xff0c…...

vue2 vue3 打包单文件组件为独立的js文件,动态加载组件,异步加载组件

1.我被自己坑了(需求) 我想要的是 "异步加载组件",但是 根据以前的经验 搜索的关键字是"动态加载组件" "动态加载组件" 在vue中有另外的意思. 另外 "打包单文件组件为独立js" 这个关键字搜索到的内容也不是我想要. 我的需求就是 把…...

Android面试题 ---- 沉浸式状态栏适配

关于屏幕适配 ---- 状态栏 关于状态栏 这么多年了 适配主要也就是沉浸式 所以这篇文章主要是说一说沉浸式&#xff0c;还有一些相关的方法 沉浸式的实现方式 从4.4到今天&#xff0c;也有过很多次变更&#xff0c;这里我们只讲一些变动比较大的部分&#xff0c; 我们也一起都看…...

理解「业务」与「技术」概念

技术也好&#xff0c;业务也罢&#xff1b; 01【什么是业务&#xff1f;】 对于那些久经职场的人&#xff0c;也很难一句话说明白&#xff1b; 业务&#xff0c;作为工作中绝对的核心点&#xff0c;即便在一个公司待的足够久&#xff0c;对业务足够熟悉&#xff0c;也很难简单…...

ESP32 Arduino (九) EEPROM和NTP对时

EEPROM一、简介EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息&#xff0c;重新编程。一般用在即插即用。在EPS32中已经将EEPROM弃用。对于ESP…...

sqlsugar 多租户设置AOP

最近为了整合公司项目中间件API的开发&#xff0c;耗费了不少人力&#xff0c;其中涉及到多个且不同类型的数据库&#xff08;不知道之前的项目立案&#xff0c;数据库到底是怎么设计&#xff0c;整的我写一些业务逻辑得写好几套代码&#xff0c;简直不要太恶心&#xff09; 因…...

Redis三 高级篇-1. 分布式缓存

分布式缓存 《Redis三 高级篇-1. 分布式缓存》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《Redis三 高级篇-1. 分布式缓存》分布式缓存《Redis三 高级篇-1. 分布式缓存》1.Redis持久化1.1.RDB持久化1.1.1.执行时机1.1.2.RDB原理1.1.3.小结1.2.AOF持…...

IPV6实验(华为)

题目&#xff1a; 思路&#xff1a; 分成三个部分。需要运用到IPV6地址来解题&#xff0c;左边是IPV4和IPV6右边只有IPV6&#xff0c;中间是IPV4。三个部分需要用到不同的协议。此题与之前最大的区别在用IP地址的不同&#xff0c;此题运用IPV6地址与之前大不相同&#xff0c;所…...

C++入门(二)初识类和对象

初识类和对象一&#xff0c;类的引入二&#xff0c;类的定义三&#xff0c;类的访问限定符四&#xff0c;类的作用域五&#xff0c;类的实例化六&#xff0c;类的对象大小的计算七&#xff0c;类成员函数的this指针一&#xff0c;类的引入 在C语言中&#xff0c;结构体内只允许…...