# 神经网络原理 循环神经网络介绍 理解重点: 以简单的神经网络举例,实际上就是矩阵乘法 对于节点和边的图,第一层输入的节点代表输入向量的值,节点之间的箭头代表参数 (权重),箭头指向的节点是所有箭头和前面节点乘积求和得到的值。 循环神经网络是一种将输出作为输入的神经网络。 时间步:指的是处理输入句子中的每个单词或者短语

2. Add Two Numbers Medium Topics Companies You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers...

# JNDI JNDI(Java Naming and Directory Interface) 是 Java 提供的 Java 命名和目录接口 。通过调用 JNDI 的 API 应用程序可以定位资源和其他程序对象。 JNDI 是 Java EE 的重要部分,需要注意的是它并不只是包含了 DataSource(JDBC 数据源) , JNDI 可访问的现有的目录及服务有: JDBC 、 LDAP 、 RMI 、 DNS 、 NIS 、 CORBA 。 Naming Service 命名服务: 命名服务将名称和对象进行关联,提供通过名称找到对象的操作,例如:DNS 系统将计算机名和 IP...

# Multi-UAV Gazebo Simulation Tutorial for Multi-UAV (Quadcopters) simulation in Gazebo and Ardupilot. # Installation # Ubuntu Ubuntu 20.04 inside a Virtual Machine (VM) used in this tutorial. # Gazebo The Gazebo version 11 is used in this tutorial. ROS noetic has gazebo11 but if there is problem...

RMI 架构: RMI 底层通讯采用了 Stub(运行在客户端) 和 Skeleton(运行在服务端) 机制, RMI 调用远程方法的大致如下: RMI客户端 在调用远程方法时会先创建 Stub(sun.rmi.registry.RegistryImpl_Stub) 。 Stub 会将 Remote 对象传递给 远程引用层(java.rmi.server.RemoteRef) 并创建 java.rmi.server.RemoteCall(远程调用) 对象。 RemoteCall 序列化 RMI服务名称 、 Remote 对象。 RMI客户端 的 远程引用层 传输 RemoteCall...

# Java 序列化 / 反序列化 在 Java 中实现对象反序列化非常简单,实现 java.io.Serializable(内部序列化) 或 java.io.Externalizable(外部序列化) 接口即可被序列化,其中 java.io.Externalizable 接口只是实现了 java.io.Serializable 接口。 反序列化类对象时有如下限制: 被反序列化的类必须存在。 serialVersionUID 值必须一致。 除此之外,反序列化类对象是不会调用该类构造方法的,因为在反序列化创建类实例时使用了...

# JNI 安全基础 Java 语言是基于 C 语言实现的,Java 底层的很多 API 都是通过 JNI(Java Native Interface) 来实现的。通过 JNI 接口 C/C++ 和 Java 可以互相调用 (存在跨平台问题)。Java 可以通过 JNI 调用来弥补语言自身的不足 (代码安全性、内存操作等)。这个看似非常炫酷的特性其实自 JDK1.1 开始就有了,但是我们不得不去考虑 JNI 调用带来的一系列的安全问题! 本章节仍以本地命令执行为例讲解如何构建动态链接库供 Java 调用,也许很多人是第一次接触这个概念会比较陌生但是如果你了学习过 C/C++ 或者...

# Java 动态代理 Java 反射提供了一种类动态代理机制,可以通过代理接口实现类来完成程序无侵入式扩展。 Java 动态代理主要使用场景: 统计方法执行所耗时间。 在方法执行前后添加日志。 检测方法的参数或返回值。 方法访问权限控制。 方法 Mock 测试。 # 动态代理 API 创建动态代理类会使用到 java.lang.reflect.Proxy 类和 java.lang.reflect.InvocationHandler 接口。 java.lang.reflect.Proxy 主要用于生成动态代理类 Class 、创建代理类实例,该类实现了...

# Java 本地命令执行 Java 原生提供了对本地系统命令执行的支持,黑客通常会 RCE利用漏洞 或者 WebShell 来执行系统终端命令控制服务器的目的。 对于开发者来说执行本地命令来实现某些程序功能 (如:ps 进程管理、top 内存管理等) 是一个正常的需求,而对于黑客来说 本地命令执行 是一种非常有利的入侵手段。 # Runtime 命令执行 在 Java 中我们通常会使用 java.lang.Runtime 类的 exec 方法来执行本地系统命令。 # Runtime 命令执行测试 runtime-exec2.jsp 执行 cmd...

# JDBC 基础 JDBC(Java Database Connectivity) 是 Java 提供对数据库进行连接、操作的标准 API。Java 自身并不会去实现对数据库的连接、查询、更新等操作而是通过抽象出数据库操作的 API 接口 ( JDBC ),不同的数据库提供商必须实现 JDBC 定义的接口从而也就实现了对数据库的一系列操作。 # JDBC Connection Java 通过 java.sql.DriverManager 来管理所有数据库的驱动注册,所以如果想要建立数据库连接需要先在 java.sql.DriverManager 中注册对应的驱动类,然后调用...

# Java 文件系统 众所周知 Java 是一个跨平台的语言,不同的操作系统有着完全不一样的文件系统和特性。JDK 会根据不同的操作系统 ( AIX,Linux,MacOSX,Solaris,Unix,Windows ) 编译成不同的版本。 在 Java 语言中对文件的任何操作最终都是通过 JNI 调用 C语言 函数实现的。Java 为了能够实现跨操作系统对文件进行操作抽象了一个叫做 FileSystem 的对象出来,不同的操作系统只需要实现起抽象出来的文件操作方法即可实现跨平台的文件操作了。 # Java FileSystem 在 Java SE 中内置了两类文件系统: java.io...

# sun.misc.Unsafe sun.misc.Unsafe 是 Java 底层 API ( 仅限Java内部使用,反射可调用 ) 提供的一个神奇的 Java 类, Unsafe 提供了非常底层的 内存、CAS、线程调度、类、对象 等操作、 Unsafe 正如它的名字一样它提供的几乎所有的方法都是不安全的,本节只讲解如何使用 Unsafe 定义 Java 类、创建类实例。 # 如何获取 Unsafe 对象 Unsafe 是 Java 内部 API,外部是禁止调用的,在编译 Java 类时如果检测到引用了 Unsafe 类也会有禁止使用的警告: Unsafe是内部专用 API,...