Spring Boot集成Jythonb并且支持三方的python依赖包

上篇文章讲了 如何在java中执行python代码,这篇文章讲一下如何让jython支持三方依赖包

1.什么是Jython?

Jython是Python编程语言的JVM实现。 它旨在在Java平台上运行。 Jython程序可以导入和使用任何Java类。 就像Java一样,Jython程序编译为bytecode 。 其中一个主要优点是用Python设计的用户界面可以使用AWT , SwingSWT Package GUI元素。

Jython以JPython开头,后来被重命名,紧跟着Guido Van Rossum创建的标准Python实现CPython 。 Jython由Jim Hugunin于1997年创立。 Jython 2.0于1999年发布。从那时起,Jython 2.x版本对应于等效的CPython版本。 2015年5月发布的Jython 2.7.0对应于CPython 2.7。 Jython 3.x的开发正在进行中。

Python和Java之间的区别

以下是Python和Java之间的区别 -

  • Python是一种动态类型语言。 因此,不需要变量的类型声明。 另一方面,Java是一种静态类型语言,这意味着变量的类型声明是强制性的,不能更改。
  • Python只有未经检查的异常,而Java同时检查和取消选中异常。
  • Python使用缩进进行作用域,而Java使用匹配的大括号。
  • 由于Python是一种基于解释器的语言,因此它没有单独的编译步骤。 但是,Java程序需要编译为字节码,然后由JVM执行。
  • Python支持多重继承,但在Java中,多重继承是不可能的。 然而,它具有接口的实现。
  • 与Java相比,Python具有更丰富的内置数据结构(列表,dicts,元组,一切都是对象)。

Python和Jython之间的区别

以下是Python和Jython之间的区别 -

  • Python的参考实现,称为CPython,是用C语言编写的。 另一方面,Jython完全用Java编写,是一个JVM实现。
  • 标准Python可在多个平台上使用。 Jython适用于安装了JVM的任何平台。
  • 标准Python代码编译为.pyc文件,而Jython程序编译为.class文件。
  • Python扩展可以用C语言编写。 Jython的扩展是用Java编写的。
  • Jython本质上是真正的多线程。 然而,Python使用Global Interpreter Lock (GIL)机制来实现此目的。
  • 两种实现都有不同的垃圾收集机制。

2.代码工程

pom.xml

  <!--jython-->
<dependency><groupId>org.python</groupId><artifactId>jython-standalone</artifactId><version>2.7.3</version></dependency>

python2源代码

请确保在本地Python2环境中能运行,如果不存在包请用pip install {package}

import sys
print(sys.path)
import json
#coding:utf-8
import urllib
from contextlib import closingdef fetch_posts():print("1111");url = 'http://jsonplaceholder.typicode.com/posts'try:with closing(urllib.urlopen(url)) as response:if response.getcode() == 200:source = response.read()posts = json.loads(source)print(posts)return postselse:print("Failed to fetch posts due to HTTP error.")except Exception as e:print("error....");print(e);return Nonefetch_posts();

java调用python

从Java运行Python脚本时出错可能是由于以下几个原因导致的:

  1. Python环境配置问题:Java调用Python脚本需要确保Python环境已正确安装并配置好。可以通过检查Python的安装路径、环境变量等来确认配置是否正确。
  2. Python脚本语法错误:Python脚本中可能存在语法错误,导致无法正确执行。可以通过查看错误提示信息或者使用Python的调试工具来定位并修复语法错误。
  3. Python依赖库缺失:Python脚本可能依赖一些第三方库,而这些库未安装或版本不匹配可能导致运行错误。可以通过使用pip命令安装缺失的依赖库或者更新已安装的库来解决问题。
  4. Java与Python的交互问题:Java调用Python脚本时,需要使用相关的库或工具来实现二者之间的交互。常见的方式包括使用ProcessBuilder类执行Python命令、使用Jython库直接在Java中运行Python代码等。
  5. 系统权限问题:Java程序执行Python脚本时可能由于权限不足而导致出错。可以尝试以管理员身份运行Java程序或者修改相关文件的权限来解决问题。
package com.et.python.util;import org.python.util.PythonInterpreter;import java.util.Properties;public class JavaPosts {public static void main(String[] args) {Properties props = new Properties();props.put("python.console.encoding", "UTF-8"); // Used to prevent: console: Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0.props.put("python.security.respectJavaAccessibility", "false"); //don't respect java accessibility, so that we can access protected members on subclassesprops.put("python.import.site","false");Properties preprops = System.getProperties();PythonInterpreter.initialize(preprops, props, new String[0]);PythonInterpreter interp = new PythonInterpreter();interp.exec("import sys");interp.exec("sys.path.append('D:\\huiyida\\develop\\python\\python312.zip')");interp.exec("sys.path.append('D:\\huiyida\\develop\\python\\DLLs')");interp.exec("sys.path.append('D:\\huiyida\\develop\\python\\Lib')");interp.exec("sys.path.append('D:\\huiyida\\develop\\python')");interp.exec("sys.path.append('D:\\huiyida\\develop\\python\\Lib\\site-packages')");// interp.exec("sys.path.append('F:/workspace/wxserver/WebContent/py')");//我们自己写的interp.execfile("D:\\IdeaProjects\\ETFramework\\python\\src\\main\\resources\\py\\posts.py");}
}

以上只是一些关键代码,所有代码请参见下面代码仓库

代码仓库

  • https://github.com/Harries/springboot-demo(python)

3.测试

执行JavaPosts类里面的mian方法,控制台输出返回接口返回结果

['D:\\jar_repository\\org\\python\\jython-standalone\\2.7.3\\Lib', 'D:\\jar_repository\\org\\python\\jython-standalone\\2.7.3\\jython-standalone-2.7.3.jar/Lib', '__classpath__', '__pyclasspath__/', 'D:\\huiyida\\develop\\python\\python312.zip', 'D:\\huiyida\\develop\\python\\DLLs', 'D:\\huiyida\\develop\\python\\Lib', 'D:\\huiyida\\develop\\python', 'D:\\huiyida\\develop\\python\\Lib\\site-packages']
16:39:52.082 [MainThread] DEBUG org.python.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework
16:39:52.106 [MainThread] DEBUG org.python.netty.util.ResourceLeakDetector - -Dorg.python.netty.leakDetection.level: simple
16:39:52.107 [MainThread] DEBUG org.python.netty.util.ResourceLeakDetector - -Dorg.python.netty.leakDetection.targetRecords: 4
16:39:52.122 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false
16:39:52.122 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - Java version: 8
16:39:52.124 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available
16:39:52.124 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available
16:39:52.125 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available
16:39:52.125 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - direct buffer constructor: available
16:39:52.126 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true
16:39:52.126 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9
16:39:52.126 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.<init>(long, int): available
16:39:52.126 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available
16:39:52.126 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\Users\Dell\AppData\Local\Temp (java.io.tmpdir)
16:39:52.126 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model)
16:39:52.127 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - Platform: Windows
16:39:52.128 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 7572291584 bytes
16:39:52.128 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1
16:39:52.129 [MainThread] DEBUG org.python.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available
16:39:52.129 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numHeapArenas: 24
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.numDirectArenas: 24
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 11
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize: 16777216
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.smallCacheSize: 256
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64
16:39:52.129 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedBufferCapacity: 32768
16:39:52.130 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimInterval: 8192
16:39:52.130 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.cacheTrimIntervalMillis: 0
16:39:52.130 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.useCacheForAllThreads: true
16:39:52.130 [MainThread] DEBUG org.python.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxCachedByteBuffersPerChunk: 1023
16:39:52.133 [MainThread] DEBUG org.python.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
16:39:52.133 [MainThread] DEBUG org.python.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
16:39:52.166 [MainThread] DEBUG org.python.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 24
16:39:52.302 [MainThread] DEBUG org.python.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false
16:39:52.302 [MainThread] DEBUG org.python.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512
16:39:52.309 [MainThread] DEBUG org.python.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available
16:39:52.573 [MainThread] DEBUG org.python.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled
16:39:52.574 [MainThread] DEBUG org.python.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 0
16:39:52.574 [MainThread] DEBUG org.python.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384
1111
16:39:53.197 [MainThread] DEBUG org.python.netty.channel.DefaultChannelId - -Dio.netty.processId: 26688 (auto-detected)
16:39:53.199 [MainThread] DEBUG org.python.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false
16:39:53.199 [MainThread] DEBUG org.python.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false
16:39:53.340 [MainThread] DEBUG org.python.netty.util.NetUtilInitializations - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1)
16:39:53.341 [MainThread] DEBUG org.python.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200
16:39:53.463 [MainThread] DEBUG org.python.netty.channel.DefaultChannelId - -Dio.netty.machineId: c0:25:a5:ff:fe:c4:9b:a3 (auto-detected)
16:39:53.649 [MainThread] DEBUG org.python.netty.buffer.AbstractByteBuf - -Dorg.python.netty.buffer.checkAccessible: true
16:39:53.650 [MainThread] DEBUG org.python.netty.buffer.AbstractByteBuf - -Dorg.python.netty.buffer.checkBounds: true
16:39:53.651 [MainThread] DEBUG org.python.netty.util.ResourceLeakDetectorFactory - Loaded default ResourceLeakDetector: org.python.netty.util.ResourceLeakDetector@3caee3a8
16:39:53.656 [MainThread] DEBUG org.python.netty.util.Recycler - -Dio.netty.recycler.maxCapacityPerThread: 4096
16:39:53.656 [MainThread] DEBUG org.python.netty.util.Recycler - -Dio.netty.recycler.ratio: 8
16:39:53.656 [MainThread] DEBUG org.python.netty.util.Recycler - -Dio.netty.recycler.chunkSize: 32
16:39:53.656 [MainThread] DEBUG org.python.netty.util.Recycler - -Dio.netty.recycler.blocking: false
16:39:53.831 [Jython-Netty-Client-0] DEBUG org.python.netty.channel.DefaultChannelPipeline - Discarded inbound message PooledUnsafeDirectByteBuf(ridx: 0, widx: 2048, cap: 2048) that reached at the tail of the pipeline. Please check your pipeline configuration.
16:39:53.837 [Jython-Netty-Client-0] DEBUG org.python.netty.channel.DefaultChannelPipeline - Discarded message pipeline : [_socket$PythonInboundHandler$1#0, DefaultChannelPipeline$TailContext#0]. Channel : [id: 0xb9530677, L:/10.11.68.77:64917 - R:jsonplaceholder.typicode.com/104.21.59.19:80].
16:39:53.838 [Jython-Netty-Client-0] DEBUG org.python.netty.channel.DefaultChannelPipeline - Discarded inbound message PooledUnsafeDirectByteBuf(ridx: 0, widx: 26545, cap: 32768) that reached at the tail of the pipeline. Please check your pipeline configuration.
16:39:53.838 [Jython-Netty-Client-0] DEBUG org.python.netty.channel.DefaultChannelPipeline - Discarded message pipeline : [_socket$PythonInboundHandler$1#0, DefaultChannelPipeline$TailContext#0]. Channel : [id: 0xb9530677, L:/10.11.68.77:64917 - R:jsonplaceholder.typicode.com/104.21.59.19:80].
[{u'title': u'sunt aut facere repellat provident occaecati excepturi optio reprehenderit', u'body': u'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto', u'userId': 1, u'id': 1}, {u'title': u'qui est esse', u'body': u'est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla', u'userId': 1, u'id': 2}, {u'title': u'ea molestias quasi exercitationem repellat qui ipsa sit aut', u'body': u'et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut', u'userId': 1, u'id': 3}, {u'title': u'eum et est occaecati', u'body': u'ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit', u'userId': 1, u'id': 4}, {u'title': u'nesciunt quas odio', u'body': u'repudiandae veniam quaerat sunt sed\nalias aut fugiat sit autem sed est\nvoluptatem omnis possimus esse voluptatibus quis\nest aut tenetur dolor neque', u'userId': 1, u'id': 5}, {u'title': u'dolorem eum magni eos aperiam quia', u'body': u'ut aspernatur corporis harum nihil quis provident sequi\nmollitia nobis aliquid molestiae\nperspiciatis et ea nemo ab reprehenderit accusantium quas\nvoluptate dolores velit et doloremque molestiae', u'userId': 1, u'id': 6}, {u'title': u'magnam facilis autem', u'body': u'dolore placeat quibusdam ea quo vitae\nmagni quis enim qui quis quo nemo aut saepe\nquidem repellat excepturi ut quia\nsunt ut sequi eos ea sed quas', u'userId': 1, u'id': 7}, {u'title': u'dolorem dolore est ipsam', u'body': u'dignissimos aperiam dolorem qui eum\nfacilis quibusdam animi sint suscipit qui sint possimus cum\nquaerat magni maiores excepturi\nipsam ut commodi dolor voluptatum modi aut vitae', u'userId': 1, u'id': 8}, {u'title': u'nesciunt iure omnis dolorem tempora et accusantium', u'body': u'consectetur animi nesciunt iure dolore\nenim quia ad\nveniam autem ut quam aut nobis\net est aut quod aut provident voluptas autem voluptas', u'userId': 1, u'id': 9}, {u'title': u'optio molestias id quia eum', u'body': u'quo et expedita modi cum officia vel magni\ndoloribus qui repudiandae\nvero nisi sit\nquos veniam quod sed accusamus veritatis error', u'userId': 1, u'id': 10}, {u'title': u'et ea vero quia laudantium autem', u'body': u'delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qui neque voluptates ut commodi qui incidunt\nut animi commodi', u'userId': 2, u'id': 11}, {u'title': u'in quibusdam tempore odit est dolorem', u'body': u'itaque id aut magnam\npraesentium quia et ea odit et ea voluptas et\nsapiente quia nihil amet occaecati quia id voluptatem\nincidunt ea est distinctio odio', u'userId': 2, u'id': 12}, {u'title': u'dolorum ut in voluptas mollitia et saepe quo animi', u'body': u'aut dicta possimus sint mollitia voluptas commodi quo doloremque\niste corrupti reiciendis voluptatem eius rerum\nsit cumque quod eligendi laborum minima\nperferendis recusandae assumenda consectetur porro architecto ipsum ipsam', u'userId': 2, u'id': 13}, {u'title': u'voluptatem eligendi optio', u'body': u'fuga et accusamus dolorum perferendis illo voluptas\nnon doloremque neque facere\nad qui dolorum molestiae beatae\nsed aut voluptas totam sit illum', u'userId': 2, u'id': 14}, {u'title': u'eveniet quod temporibus', u'body': u'reprehenderit quos placeat\nvelit minima officia dolores impedit repudiandae molestiae nam\nvoluptas recusandae quis delectus\nofficiis harum fugiat vitae', u'userId': 2, u'id': 15}, {u'title': u'sint suscipit perspiciatis velit dolorum rerum ipsa laboriosam odio', u'body': u'suscipit nam nisi quo aperiam aut\nasperiores eos fugit maiores voluptatibus quia\nvoluptatem quis ullam qui in alias quia est\nconsequatur magni mollitia accusamus ea nisi voluptate dicta', u'userId': 2, u'id': 16}, {u'title': u'fugit voluptas sed molestias voluptatem provident', u'body': u'eos voluptas et aut odit natus earum\naspernatur fuga molestiae ullam\ndeserunt ratione qui eos\nqui nihil ratione nemo velit ut aut id quo', u'userId': 2, u'id': 17}, {u'title': u'voluptate et itaque vero tempora molestiae', u'body': u'eveniet quo quis\nlaborum totam consequatur non dolor\nut et est repudiandae\nest voluptatem vel debitis et magnam', u'userId': 2, u'id': 18}, {u'title': u'adipisci placeat illum aut reiciendis qui', u'body': u'illum quis cupiditate provident sit magnam\nea sed aut omnis\nveniam maiores ullam consequatur atque\nadipisci quo iste expedita sit quos voluptas', u'userId': 2, u'id': 19}, {u'title': u'doloribus ad provident suscipit at', u'body': u'qui consequuntur ducimus possimus quisquam amet similique\nsuscipit porro ipsam amet\neos veritatis officiis exercitationem vel fugit aut necessitatibus totam\nomnis rerum consequatur expedita quidem cumque explicabo', u'userId': 2, u'id': 20}, {u'title': u'asperiores ea ipsam voluptatibus modi minima quia sint', u'body': u'repellat aliquid praesentium dolorem quo\nsed totam minus non itaque\nnihil labore molestiae sunt dolor eveniet hic recusandae veniam\ntempora et tenetur expedita sunt', u'userId': 3, u'id': 21}, {u'title': u'dolor sint quo a velit explicabo quia nam', u'body': u'eos qui et ipsum ipsam suscipit aut\nsed omnis non odio\nexpedita earum mollitia molestiae aut atque rem suscipit\nnam impedit esse', u'userId': 3, u'id': 22}, {u'title': u'maxime id vitae nihil numquam', u'body': u'veritatis unde neque eligendi\nquae quod architecto quo neque vitae\nest illo sit tempora doloremque fugit quod\net et vel beatae sequi ullam sed tenetur perspiciatis', u'userId': 3, u'id': 23}, {u'title': u'autem hic labore sunt dolores incidunt', u'body': u'enim et ex nulla\nomnis voluptas quia qui\nvoluptatem consequatur numquam aliquam sunt\ntotam recusandae id dignissimos aut sed asperiores deserunt', u'userId': 3, u'id': 24}, {u'title': u'rem alias distinctio quo quis', u'body': u'ullam consequatur ut\nomnis quis sit vel consequuntur\nipsa eligendi ipsum molestiae et omnis error nostrum\nmolestiae illo tempore quia et distinctio', u'userId': 3, u'id': 25}, {u'title': u'est et quae odit qui non', u'body': u'similique esse doloribus nihil accusamus\nomnis dolorem fuga consequuntur reprehenderit fugit recusandae temporibus\nperspiciatis cum ut laudantium\nomnis aut molestiae vel vero', u'userId': 3, u'id': 26}, {u'title': u'quasi id et eos tenetur aut quo autem', u'body': u'eum sed dolores ipsam sint possimus debitis occaecati\ndebitis qui qui et\nut placeat enim earum aut odit facilis\nconsequatur suscipit necessitatibus rerum sed inventore temporibus consequatur', u'userId': 3, u'id': 27}, {u'title': u'delectus ullam et corporis nulla voluptas sequi', u'body': u'non et quaerat ex quae ad maiores\nmaiores recusandae totam aut blanditiis mollitia quas illo\nut voluptatibus voluptatem\nsimilique nostrum eum', u'userId': 3, u'id': 28}, {u'title': u'iusto eius quod necessitatibus culpa ea', u'body': u'odit magnam ut saepe sed non qui\ntempora atque nihil\naccusamus illum doloribus illo dolor\neligendi repudiandae odit magni similique sed cum maiores', u'userId': 3, u'id': 29}, {u'title': u'a quo magni similique perferendis', u'body': u'alias dolor cumque\nimpedit blanditiis non eveniet odio maxime\nblanditiis amet eius quis tempora quia autem rem\na provident perspiciatis quia', u'userId': 3, u'id': 30}, {u'title': u'ullam ut quidem id aut vel consequuntur', u'body': u'debitis eius sed quibusdam non quis consectetur vitae\nimpedit ut qui consequatur sed aut in\nquidem sit nostrum et maiores adipisci atque\nquaerat voluptatem adipisci repudiandae', u'userId': 4, u'id': 31}, {u'title': u'doloremque illum aliquid sunt', u'body': u'deserunt eos nobis asperiores et hic\nest debitis repellat molestiae optio\nnihil ratione ut eos beatae quibusdam distinctio maiores\nearum voluptates et aut adipisci ea maiores voluptas maxime', u'userId': 4, u'id': 32}, {u'title': u'qui explicabo molestiae dolorem', u'body': u'rerum ut et numquam laborum odit est sit\nid qui sint in\nquasi tenetur tempore aperiam et quaerat qui in\nrerum officiis sequi cumque quod', u'userId': 4, u'id': 33}, {u'title': u'magnam ut rerum iure', u'body': u'ea velit perferendis earum ut voluptatem voluptate itaque iusto\ntotam pariatur in\nnemo voluptatem voluptatem autem magni tempora minima in\nest distinctio qui assumenda accusamus dignissimos officia nesciunt nobis', u'userId': 4, u'id': 34}, {u'title': u'id nihil consequatur molestias animi provident', u'body': u'nisi error delectus possimus ut eligendi vitae\nplaceat eos harum cupiditate facilis reprehenderit voluptatem beatae\nmodi ducimus quo illum voluptas eligendi\net nobis quia fugit', u'userId': 4, u'id': 35}, {u'title': u'fuga nam accusamus voluptas reiciendis itaque', u'body': u'ad mollitia et omnis minus architecto odit\nvoluptas doloremque maxime aut non ipsa qui alias veniam\nblanditiis culpa aut quia nihil cumque facere et occaecati\nqui aspernatur quia eaque ut aperiam inventore', u'userId': 4, u'id': 36}, {u'title': u'provident vel ut sit ratione est', u'body': u'debitis et eaque non officia sed nesciunt pariatur vel\nvoluptatem iste vero et ea\nnumquam aut expedita ipsum nulla in\nvoluptates omnis consequatur aut enim officiis in quam qui', u'userId': 4, u'id': 37}, {u'title': u'explicabo et eos deleniti nostrum ab id repellendus', u'body': u'animi esse sit aut sit nesciunt assumenda eum voluptas\nquia voluptatibus provident quia necessitatibus ea\nrerum repudiandae quia voluptatem delectus fugit aut id quia\nratione optio eos iusto veniam iure', u'userId': 4, u'id': 38}, {u'title': u'eos dolorem iste accusantium est eaque quam', u'body': u'corporis rerum ducimus vel eum accusantium\nmaxime aspernatur a porro possimus iste omnis\nest in deleniti asperiores fuga aut\nvoluptas sapiente vel dolore minus voluptatem incidunt ex', u'userId': 4, u'id': 39}, {u'title': u'enim quo cumque', u'body': u'ut voluptatum aliquid illo tenetur nemo sequi quo facilis\nipsum rem optio mollitia quas\nvoluptatem eum voluptas qui\nunde omnis voluptatem iure quasi maxime voluptas nam', u'userId': 4, u'id': 40}, {u'title': u'non est facere', u'body': u'molestias id nostrum\nexcepturi molestiae dolore omnis repellendus quaerat saepe\nconsectetur iste quaerat tenetur asperiores accusamus ex ut\nnam quidem est ducimus sunt debitis saepe', u'userId': 5, u'id': 41}, {u'title': u'commodi ullam sint et excepturi error explicabo praesentium voluptas', u'body': u'odio fugit voluptatum ducimus earum autem est incidunt voluptatem\nodit reiciendis aliquam sunt sequi nulla dolorem\nnon facere repellendus voluptates quia\nratione harum vitae ut', u'userId': 5, u'id': 42}, {u'title': u'eligendi iste nostrum consequuntur adipisci praesentium sit beatae perferendis', u'body': u'similique fugit est\nillum et dolorum harum et voluptate eaque quidem\nexercitationem quos nam commodi possimus cum odio nihil nulla\ndolorum exercitationem magnam ex et a et distinctio debitis', u'userId': 5, u'id': 43}, {u'title': u'optio dolor molestias sit', u'body': u'temporibus est consectetur dolore\net libero debitis vel velit laboriosam quia\nipsum quibusdam qui itaque fuga rem aut\nea et iure quam sed maxime ut distinctio quae', u'userId': 5, u'id': 44}, {u'title': u'ut numquam possimus omnis eius suscipit laudantium iure', u'body': u'est natus reiciendis nihil possimus aut provident\nex et dolor\nrepellat pariatur est\nnobis rerum repellendus dolorem autem', u'userId': 5, u'id': 45}, {u'title': u'aut quo modi neque nostrum ducimus', u'body': u'voluptatem quisquam iste\nvoluptatibus natus officiis facilis dolorem\nquis quas ipsam\nvel et voluptatum in aliquid', u'userId': 5, u'id': 46}, {u'title': u'quibusdam cumque rem aut deserunt', u'body': u'voluptatem assumenda ut qui ut cupiditate aut impedit veniam\noccaecati nemo illum voluptatem laudantium\nmolestiae beatae rerum ea iure soluta nostrum\neligendi et voluptate', u'userId': 5, u'id': 47}, {u'title': u'ut voluptatem illum ea doloribus itaque eos', u'body': u'voluptates quo voluptatem facilis iure occaecati\nvel assumenda rerum officia et\nillum perspiciatis ab deleniti\nlaudantium repellat ad ut et autem reprehenderit', u'userId': 5, u'id': 48}, {u'title': u'laborum non sunt aut ut assumenda perspiciatis voluptas', u'body': u'inventore ab sint\nnatus fugit id nulla sequi architecto nihil quaerat\neos tenetur in in eum veritatis non\nquibusdam officiis aspernatur cumque aut commodi aut', u'userId': 5, u'id': 49}, {u'title': u'repellendus qui recusandae incidunt voluptates tenetur qui omnis exercitationem', u'body': u'error suscipit maxime adipisci consequuntur recusandae\nvoluptas eligendi et est et voluptates\nquia distinctio ab amet quaerat molestiae et vitae\nadipisci impedit sequi nesciunt quis consectetur', u'userId': 5, u'id': 50}, {u'title': u'soluta aliquam aperiam consequatur illo quis voluptas', u'body': u'sunt dolores aut doloribus\ndolore doloribus voluptates tempora et\ndoloremque et quo\ncum asperiores sit consectetur dolorem', u'userId': 6, u'id': 51}, {u'title': u'qui enim et consequuntur quia animi quis voluptate quibusdam', u'body': u'iusto est quibusdam fuga quas quaerat molestias\na enim ut sit accusamus enim\ntemporibus iusto accusantium provident architecto\nsoluta esse reprehenderit qui laborum', u'userId': 6, u'id': 52}, {u'title': u'ut quo aut ducimus alias', u'body': u'minima harum praesentium eum rerum illo dolore\nquasi exercitationem rerum nam\nporro quis neque quo\nconsequatur minus dolor quidem veritatis sunt non explicabo similique', u'userId': 6, u'id': 53}, {u'title': u'sit asperiores ipsam eveniet odio non quia', u'body': u'totam corporis dignissimos\nvitae dolorem ut occaecati accusamus\nex velit deserunt\net exercitationem vero incidunt corrupti mollitia', u'userId': 6, u'id': 54}, {u'title': u'sit vel voluptatem et non libero', u'body': u'debitis excepturi ea perferendis harum libero optio\neos accusamus cum fuga ut sapiente repudiandae\net ut incidunt omnis molestiae\nnihil ut eum odit', u'userId': 6, u'id': 55}, {u'title': u'qui et at rerum necessitatibus', u'body': u'aut est omnis dolores\nneque rerum quod ea rerum velit pariatur beatae excepturi\net provident voluptas corrupti\ncorporis harum reprehenderit dolores eligendi', u'userId': 6, u'id': 56}, {u'title': u'sed ab est est', u'body': u'at pariatur consequuntur earum quidem\nquo est laudantium soluta voluptatem\nqui ullam et est\net cum voluptas voluptatum repellat est', u'userId': 6, u'id': 57}, {u'title': u'voluptatum itaque dolores nisi et quasi', u'body': u'veniam voluptatum quae adipisci id\net id quia eos ad et dolorem\naliquam quo nisi sunt eos impedit error\nad similique veniam', u'userId': 6, u'id': 58}, {u'title': u'qui commodi dolor at maiores et quis id accusantium', u'body': u'perspiciatis et quam ea autem temporibus non voluptatibus qui\nbeatae a earum officia nesciunt dolores suscipit voluptas et\nanimi doloribus cum rerum quas et magni\net hic ut ut commodi expedita sunt', u'userId': 6, u'id': 59}, {u'title': u'consequatur placeat omnis quisquam quia reprehenderit fugit veritatis facere', u'body': u'asperiores sunt ab assumenda cumque modi velit\nqui esse omnis\nvoluptate et fuga perferendis voluptas\nillo ratione amet aut et omnis', u'userId': 6, u'id': 60}, {u'title': u'voluptatem doloribus consectetur est ut ducimus', u'body': u'ab nemo optio odio\ndelectus tenetur corporis similique nobis repellendus rerum omnis facilis\nvero blanditiis debitis in nesciunt doloribus dicta dolores\nmagnam minus velit', u'userId': 7, u'id': 61}, {u'title': u'beatae enim quia vel', u'body': u'enim aspernatur illo distinctio quae praesentium\nbeatae alias amet delectus qui voluptate distinctio\nodit sint accusantium autem omnis\nquo molestiae omnis ea eveniet optio', u'userId': 7, u'id': 62}, {u'title': u'voluptas blanditiis repellendus animi ducimus error sapiente et suscipit', u'body': u'enim adipisci aspernatur nemo\nnumquam omnis facere dolorem dolor ex quis temporibus incidunt\nab delectus culpa quo reprehenderit blanditiis asperiores\naccusantium ut quam in voluptatibus voluptas ipsam dicta', u'userId': 7, u'id': 63}, {u'title': u'et fugit quas eum in in aperiam quod', u'body': u'id velit blanditiis\neum ea voluptatem\nmolestiae sint occaecati est eos perspiciatis\nincidunt a error provident eaque aut aut qui', u'userId': 7, u'id': 64}, {u'title': u'consequatur id enim sunt et et', u'body': u'voluptatibus ex esse\nsint explicabo est aliquid cumque adipisci fuga repellat labore\nmolestiae corrupti ex saepe at asperiores et perferendis\nnatus id esse incidunt pariatur', u'userId': 7, u'id': 65}, {u'title': u'repudiandae ea animi iusto', u'body': u'officia veritatis tenetur vero qui itaque\nsint non ratione\nsed et ut asperiores iusto eos molestiae nostrum\nveritatis quibusdam et nemo iusto saepe', u'userId': 7, u'id': 66}, {u'title': u'aliquid eos sed fuga est maxime repellendus', u'body': u'reprehenderit id nostrum\nvoluptas doloremque pariatur sint et accusantium quia quod aspernatur\net fugiat amet\nnon sapiente et consequatur necessitatibus molestiae', u'userId': 7, u'id': 67}, {u'title': u'odio quis facere architecto reiciendis optio', u'body': u'magnam molestiae perferendis quisquam\nqui cum reiciendis\nquaerat animi amet hic inventore\nea quia deleniti quidem saepe porro velit', u'userId': 7, u'id': 68}, {u'title': u'fugiat quod pariatur odit minima', u'body': u'officiis error culpa consequatur modi asperiores et\ndolorum assumenda voluptas et vel qui aut vel rerum\nvoluptatum quisquam perspiciatis quia rerum consequatur totam quas\nsequi commodi repudiandae asperiores et saepe a', u'userId': 7, u'id': 69}, {u'title': u'voluptatem laborum magni', u'body': u'sunt repellendus quae\nest asperiores aut deleniti esse accusamus repellendus quia aut\nquia dolorem unde\neum tempora esse dolore', u'userId': 7, u'id': 70}, {u'title': u'et iusto veniam et illum aut fuga', u'body': u'occaecati a doloribus\niste saepe consectetur placeat eum voluptate dolorem et\nqui quo quia voluptas\nrerum ut id enim velit est perferendis', u'userId': 8, u'id': 71}, {u'title': u'sint hic doloribus consequatur eos non id', u'body': u'quam occaecati qui deleniti consectetur\nconsequatur aut facere quas exercitationem aliquam hic voluptas\nneque id sunt ut aut accusamus\nsunt consectetur expedita inventore velit', u'userId': 8, u'id': 72}, {u'title': u'consequuntur deleniti eos quia temporibus ab aliquid at', u'body': u'voluptatem cumque tenetur consequatur expedita ipsum nemo quia explicabo\naut eum minima consequatur\ntempore cumque quae est et\net in consequuntur voluptatem voluptates aut', u'userId': 8, u'id': 73}, {u'title': u'enim unde ratione doloribus quas enim ut sit sapiente', u'body': u'odit qui et et necessitatibus sint veniam\nmollitia amet doloremque molestiae commodi similique magnam et quam\nblanditiis est itaque\nquo et tenetur ratione occaecati molestiae tempora', u'userId': 8, u'id': 74}, {u'title': u'dignissimos eum dolor ut enim et delectus in', u'body': u'commodi non non omnis et voluptas sit\nautem aut nobis magnam et sapiente voluptatem\net laborum repellat qui delectus facilis temporibus\nrerum amet et nemo voluptate expedita adipisci error dolorem', u'userId': 8, u'id': 75}, {u'title': u'doloremque officiis ad et non perferendis', u'body': u'ut animi facere\ntotam iusto tempore\nmolestiae eum aut et dolorem aperiam\nquaerat recusandae totam odio', u'userId': 8, u'id': 76}, {u'title': u'necessitatibus quasi exercitationem odio', u'body': u'modi ut in nulla repudiandae dolorum nostrum eos\naut consequatur omnis\nut incidunt est omnis iste et quam\nvoluptates sapiente aliquam asperiores nobis amet corrupti repudiandae provident', u'userId': 8, u'id': 77}, {u'title': u'quam voluptatibus rerum veritatis', u'body': u'nobis facilis odit tempore cupiditate quia\nassumenda doloribus rerum qui ea\nillum et qui totam\naut veniam repellendus', u'userId': 8, u'id': 78}, {u'title': u'pariatur consequatur quia magnam autem omnis non amet', u'body': u'libero accusantium et et facere incidunt sit dolorem\nnon excepturi qui quia sed laudantium\nquisquam molestiae ducimus est\nofficiis esse molestiae iste et quos', u'userId': 8, u'id': 79}, {u'title': u'labore in ex et explicabo corporis aut quas', u'body': u'ex quod dolorem ea eum iure qui provident amet\nquia qui facere excepturi et repudiandae\nasperiores molestias provident\nminus incidunt vero fugit rerum sint sunt excepturi provident', u'userId': 8, u'id': 80}, {u'title': u'tempora rem veritatis voluptas quo dolores vero', u'body': u'facere qui nesciunt est voluptatum voluptatem nisi\nsequi eligendi necessitatibus ea at rerum itaque\nharum non ratione velit laboriosam quis consequuntur\nex officiis minima doloremque voluptas ut aut', u'userId': 9, u'id': 81}, {u'title': u'laudantium voluptate suscipit sunt enim enim', u'body': u'ut libero sit aut totam inventore sunt\nporro sint qui sunt molestiae\nconsequatur cupiditate qui iste ducimus adipisci\ndolor enim assumenda soluta laboriosam amet iste delectus hic', u'userId': 9, u'id': 82}, {u'title': u'odit et voluptates doloribus alias odio et', u'body': u'est molestiae facilis quis tempora numquam nihil qui\nvoluptate sapiente consequatur est qui\nnecessitatibus autem aut ipsa aperiam modi dolore numquam\nreprehenderit eius rem quibusdam', u'userId': 9, u'id': 83}, {u'title': u'optio ipsam molestias necessitatibus occaecati facilis veritatis dolores aut', u'body': u'sint molestiae magni a et quos\neaque et quasi\nut rerum debitis similique veniam\nrecusandae dignissimos dolor incidunt consequatur odio', u'userId': 9, u'id': 84}, {u'title': u'dolore veritatis porro provident adipisci blanditiis et sunt', u'body': u'similique sed nisi voluptas iusto omnis\nmollitia et quo\nassumenda suscipit officia magnam sint sed tempora\nenim provident pariatur praesentium atque animi amet ratione', u'userId': 9, u'id': 85}, {u'title': u'placeat quia et porro iste', u'body': u'quasi excepturi consequatur iste autem temporibus sed molestiae beatae\net quaerat et esse ut\nvoluptatem occaecati et vel explicabo autem\nasperiores pariatur deserunt optio', u'userId': 9, u'id': 86}, {u'title': u'nostrum quis quasi placeat', u'body': u'eos et molestiae\nnesciunt ut a\ndolores perspiciatis repellendus repellat aliquid\nmagnam sint rem ipsum est', u'userId': 9, u'id': 87}, {u'title': u'sapiente omnis fugit eos', u'body': u'consequatur omnis est praesentium\nducimus non iste\nneque hic deserunt\nvoluptatibus veniam cum et rerum sed', u'userId': 9, u'id': 88}, {u'title': u'sint soluta et vel magnam aut ut sed qui', u'body': u'repellat aut aperiam totam temporibus autem et\narchitecto magnam ut\nconsequatur qui cupiditate rerum quia soluta dignissimos nihil iure\ntempore quas est', u'userId': 9, u'id': 89}, {u'title': u'ad iusto omnis odit dolor voluptatibus', u'body': u'minus omnis soluta quia\nqui sed adipisci voluptates illum ipsam voluptatem\neligendi officia ut in\neos soluta similique molestias praesentium blanditiis', u'userId': 9, u'id': 90}, {u'title': u'aut amet sed', u'body': u'libero voluptate eveniet aperiam sed\nsunt placeat suscipit molestias\nsimilique fugit nam natus\nexpedita consequatur consequatur dolores quia eos et placeat', u'userId': 10, u'id': 91}, {u'title': u'ratione ex tenetur perferendis', u'body': u'aut et excepturi dicta laudantium sint rerum nihil\nlaudantium et at\na neque minima officia et similique libero et\ncommodi voluptate qui', u'userId': 10, u'id': 92}, {u'title': u'beatae soluta recusandae', u'body': u'dolorem quibusdam ducimus consequuntur dicta aut quo laboriosam\nvoluptatem quis enim recusandae ut sed sunt\nnostrum est odit totam\nsit error sed sunt eveniet provident qui nulla', u'userId': 10, u'id': 93}, {u'title': u'qui qui voluptates illo iste minima', u'body': u'aspernatur expedita soluta quo ab ut similique\nexpedita dolores amet\nsed temporibus distinctio magnam saepe deleniti\nomnis facilis nam ipsum natus sint similique omnis', u'userId': 10, u'id': 94}, {u'title': u'id minus libero illum nam ad officiis', u'body': u'earum voluptatem facere provident blanditiis velit laboriosam\npariatur accusamus odio saepe\ncumque dolor qui a dicta ab doloribus consequatur omnis\ncorporis cupiditate eaque assumenda ad nesciunt', u'userId': 10, u'id': 95}, {u'title': u'quaerat velit veniam amet cupiditate aut numquam ut sequi', u'body': u'in non odio excepturi sint eum\nlabore voluptates vitae quia qui et\ninventore itaque rerum\nveniam non exercitationem delectus aut', u'userId': 10, u'id': 96}, {u'title': u'quas fugiat ut perspiciatis vero provident', u'body': u'eum non blanditiis soluta porro quibusdam voluptas\nvel voluptatem qui placeat dolores qui velit aut\nvel inventore aut cumque culpa explicabo aliquid at\nperspiciatis est et voluptatem dignissimos dolor itaque sit nam', u'userId': 10, u'id': 97}, {u'title': u'laboriosam dolor voluptates', u'body': u'doloremque ex facilis sit sint culpa\nsoluta assumenda eligendi non ut eius\nsequi ducimus vel quasi\nveritatis est dolores', u'userId': 10, u'id': 98}, {u'title': u'temporibus sit alias delectus eligendi possimus magni', u'body': u'quo deleniti praesentium dicta non quod\naut est molestias\nmolestias et officia quis nihil\nitaque dolorem quia', u'userId': 10, u'id': 99}, {u'title': u'at nam consequatur ea labore ea harum', u'body': u'cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut', u'userId': 10, u'id': 100}]
16:39:54.031 [Jython-Netty-Client-0] DEBUG org.python.netty.buffer.PoolThreadCache - Freed 4 thread-local buffer(s) from thread: Jython-Netty-Client-0

4.引用

  • Home | Jython
  • Spring Boot集成Jythonb并且支持三方的python依赖包 | Harries Blog™

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

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

相关文章

SX_UNIX套接字通信_15

UNIX套接字通信的优势&#xff1a; UNIX套接字通信常用于一个项目中的进程之间通信&#xff0c;UNIX提供了与网络套接字相似的特性&#xff0c;但是避免了网络延迟&#xff0c;提高了性能&#xff0c;但是它只能在同一台机器上使用&#xff0c;无法跨越网络的进程间通信 实例&…

计算机的错误计算(六十七)

摘要 计算机的错误计算&#xff08;五十六&#xff09;与&#xff08;六十六&#xff09;分别探讨了大数与 附近数的正切函数值的错误计算。本节讨论第三种类型数值&#xff1a; 附近数 的正切函数的计算精度问题。 例1. 已知 计算 先用 Go语言计算&#xff1a; packag…

STL介绍以及string类

什么是STL 是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架。 STL的六大组件 为什么要学习string类 C语言中的字符串 C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&am…

模具监视器的技术参数有哪些

模具监视器的技术参数涵盖了多个方面&#xff0c;这些参数对于确保模具监视器的性能、稳定性和检测精度至关重要。以下是一些主要的技术参数&#xff1a; 一、显示器参数 屏幕尺寸&#xff1a;常见的模具监视器显示器尺寸为12.5英寸至13.5英寸&#xff0c;具体尺寸可能因不同…

基于RabbitMQ的消息监听器

1. 背景 机构的新增、更新、删除在微服务A中已经完成了&#xff08;微服务A已经部署&#xff0c;不能修改代码&#xff09;&#xff0c;如果在微服务A中对机构进行新增、更新、删除操作后&#xff0c;需要同步到自己的微服务B中&#xff0c;这里采用MQ消息通知的方式实现。 微…

如何建立一个既能快速记录又易于回顾的笔记系统?

在快节奏的学习和工作中&#xff0c;能够快速记录和回顾信息变得尤为重要。尤其对于编程学习者来说&#xff0c;构建一个高效、有序的笔记系统不仅可以提高学习效率&#xff0c;还能帮助我们在未来轻松回溯知识要点。本文将详细探讨如何打造一个既快速记录又易于回顾的笔记系统…

打卡第48天------单调栈

今天正式开始单调栈&#xff0c;开启新的篇章了&#xff0c;那个动态规划真的太难了。不过卡尔总结的很全面&#xff0c;真的是收获不少呀。小坚持带来大改变。加油✊ 1. 每日温度 leetcode题目链接&#xff1a;739. 每日温度 题目描述&#xff1a; 给定一个整数数组 temperat…

使用EasyExcel填充Excel并上传至OSS

在企业级应用中&#xff0c;经常需要处理数据的导入导出功能。Excel作为最常用的数据交换格式之一&#xff0c;其自动化处理尤为重要。本文将介绍如何使用EasyExcel库来填充Excel模板&#xff0c;并将生成的文件上传到对象存储服务&#xff08;OSS&#xff09;。 EasyExcel简介…

Python 异步爬虫:高效数据抓取的现代武器

标题&#xff1a;“Python 异步爬虫&#xff1a;高效数据抓取的现代武器” 在当今信息爆炸的时代&#xff0c;网络爬虫已成为数据采集的重要工具。然而&#xff0c;传统的同步爬虫在处理大规模数据时往往效率低下。本文将深入探讨如何使用 Python 实现异步爬虫&#xff0c;以提…

HTTP?HTTPS?HTTP2.0

Http HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种用于分布式、协作式、超媒体信息系统的应用层协议。它基于TCP/IP通信协议来传递数据&#xff0c;如HTML文件、图片文件等。以下是HTTP的详细解析&#xff1a; 一、HTTP的基本…

YAML在Spring Boot中的应用

1. 基本语法 YAML使用缩进来表示层级关系&#xff0c;通常使用空格进行缩进&#xff08;推荐使用2个空格&#xff09;。 基本语法示例&#xff1a; key: value nested:key: value list:- item1- item22. 配置文件命名 在Spring Boot中&#xff0c;YAML配置文件通常命名为 a…

手撕C++入门基础

1.C介绍 C课程包括&#xff1a;C语法、STL、高阶数据结构 C参考文档&#xff1a;Reference - C Reference C 参考手册 - cppreference.com cppreference.com C兼容之前学习的C语言 2.C的第一个程序 打印hello world #define _CRT_SECURE_NO_WARNINGS 1 // test.cpp // …

RDKit在数据科学中的应用|药物筛选中的数据清理与标准化

在化学信息学和药物研发的过程中,分子数据的质量至关重要。数据清理与标准化是确保分子库数据一致性、可靠性和可比较性的关键步骤。RDKit 提供了丰富的工具,帮助用户清理和标准化分子数据,从而提高下游分析和建模的准确性。 1 数据清理的重要性 分子数据通常来自多种来源…

获取操作系统的信息(Go语言)

在 Go 语言中&#xff0c;你可以使用 runtime 和 os 包来查看操作系统的信息。以下是一些常见的操作系统信息获取方法&#xff1a; 1. 获取操作系统类型和架构信息 Go 的 runtime 包提供了基本的操作系统和架构信息&#xff1a; package mainimport ("fmt""r…

c_cpp_properties.json、launch.json、 tasks.json

在 Visual Studio Code 中&#xff0c;c_cpp_properties.json、launch.json 和 tasks.json 是三个重要的配置文件&#xff0c;它们的作用如下&#xff1a; c_cpp_properties.json&#xff1a; 这个文件用于配置 C/C 扩展的 IntelliSense、编译器路径和包括路径等。它帮助 VS Co…

Unity Dots学习 (一)

先学习怎么使用&#xff0c;再研究底层代码。Dots大家都有所耳闻。一直没时间研究&#xff0c;最近研究一下 看上图可知&#xff0c;哪怕是CPU的第三级缓存也比内存要快2-5倍。 资料&#xff1a; 《DOTS之路》第零节——前导课(1)——DOTS的5W1H问题_哔哩哔哩_bilibili 《DOT…

快速搭建全向轮小车

总体介绍 使用两块ordive控制ros-mobile app进行控制&#xff0c;odrive通过python可以轻松控制&#xff0c;ros-mobile可以进行与电脑的ros连接充当一个遥控器。 记录代码 读取rosmobile的遥控数据 #!/usr/bin/env python3import threading import time from queue import…

景联文科技:图像标注的类型有哪些?

图像标注是计算机视觉领域中一个非常重要的步骤&#xff0c;它是创建训练数据集的关键组成部分&#xff0c;主要用于帮助机器学习算法理解图像内容。 以下是图像标注的一些主要类型&#xff1a; 1. 边界框标注&#xff1a; • 这是最常见的标注方式之一&#xff0c;通常用于…

多字段聚合查询在Elasticsearch中的实践

Elasticsearch是一个功能强大的搜索引擎&#xff0c;它不仅支持全文搜索&#xff0c;还提供了丰富的聚合功能。聚合可以帮助我们对数据进行分组和统计&#xff0c;从而得到有意义的分析结果。本文将通过Java代码示例&#xff0c;介绍如何在Elasticsearch中实现多字段的聚合查询…

第四范式发布AI+5G视频营销产品 助力精准获客与高效转化

产品上新 Product Release 今天&#xff0c;第四范式AI5G视频电话互动营销产品全新发布。 相较于以往销效率低、互动差、转化差的传统电话外呼和短信营销方式&#xff0c;视频电话互动营销基于AI、5G等技术&#xff0c;可让用户接听电话时观看个性化视频广告并实时互动&#xf…