Java语言基础看《Head First Java》到270页。小知识点:      1.对象是Java的灵魂。      2.一般把对象的变量设置为private,想使用变量必须调用我们所写的方法。      3.实例变量(对象声明的变量)有默认值,局部变量(在方法里面的变量)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-02 13:46:53
                            
                                27阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Weave-Scope服务是一个用来监控docker容器、k8s等(包括宿主机)的资源使用状况的,从根本上来说,有些类似于Zabbix等监控服务,该服务式基于容器部署的,部署简单,但功能强大,美中不足的可能就是其安全方面存在一些隐患吧!(关于其安全问题,待我验证后,会解释的)关于其详细的介绍,可移步至Weave-Scope官方文档,以便详细的了解Weave-Scope服务。我将在这篇博文写下如何部            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-28 00:35:29
                            
                                41阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录1. 前言2. JNI调用过程3. JNA调用过程4. Linux下通过JNA技术实现JAVA程序调用so库函数的实例。4.1 开发环境4.2 so库的生成4.2.1 编写文件 sayhello.h4.2.2 编写文件 sayhello.c4.2.3 编写编译命令文件 64cmd.sh和32cmd.sh4.2.4 编译生成so库4.3 JNA程序的编写4.3.1&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-06 15:47:08
                            
                                233阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近项目中用到了java调用linux系统下c的so动态库的需求,实现后我就来总结一波实现方式:1.java使用jni调用so库:需要自己定义native方法,编译.h文件,编写c文件,在linux上编译为so文件,巴拉巴拉。。。总之比较繁琐,而且写java的去写c,你懂得。。。2.对jni做了封装的JNA方法:将c中的类型与Java中的类型做了映射,只需要写一个类,类中的接口extends Li            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 06:47:27
                            
                                441阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、目标除了AndroidNativeEmu我们还有一个选择 Unidbg 来实现模拟执行so,GitHub链接https://github.com/zhkl0228/unidbg特色模拟JNI调用API,以便可以调用JNI_OnLoad。支持JavaVM,JNIEnv。模拟syscalls调用。支持ARM32和ARM64。基于HookZz实现的inline hook。基于xHook实现的impo            
                
         
            
            
            
            so 文件调用随着 Android 移动安全的高速发展,不管是为了执行效率还是程序的安全性等,关键代码下沉 native 层已成为基本操作。native 层的开发就是通指的 JNI/NDK 开发,通过 JNI 可以实现 java 层和 native 层(主要是 C/C++ )的相互调用,native 层经编译后产生 so 动态链接库,so 文件具有可移植性广,执行效率高,保密性强等优点。那么问题来            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-13 13:49:13
                            
                                125阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Java调用.so文件
在Java开发中,有时我们会遇到需要调用动态链接库(Dynamic Link Library)文件的情况,尤其是当我们需要使用一些底层的功能或者与C/C++编写的代码进行交互时。Java提供了一种简单而高效的方式来调用.so文件,本文将介绍如何在Java中调用.so文件,并提供相关的代码示例。
### SO文件是什么?
SO文件(Shared Object fi            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-14 11:46:37
                            
                                2274阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java调用so文件的实现流程
本文将详细介绍如何在Java中调用so文件的步骤以及代码示例。Java调用so文件是通过JNI(Java Native Interface)来实现的,JNI是一种机制,允许Java代码与本地代码(C/C++等)进行交互。
## 整体流程
下面是Java调用so文件的整体流程,可以使用表格展示:
| 步骤 | 描述 |
| --- | --- |
| 1            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-07 06:15:02
                            
                                673阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            项目场景:最近项目需要开发一个新功能,需要调用c++的so文件,在实际开发过程中碰到了一些问题,记录一下。 文章目录项目场景:一、使用技术二、使用步骤1.编写一个类用于解析so文件2.项目部署3.注意事项(可能出现的错误)3.1版本不一致3.2 运行环境3.3 没有配置动态链接库地址(LD_LIBRARY_PATH)3.4 文件名3.5 函数名不正确总结 一、使用技术原本是想直接用jna的,但是我            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-01 06:43:02
                            
                                332阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            c++ 生成java 接口最本质的方法是通过jni 技术,jni 技术可以实现java 和c++的互相调用 那么生成so 具体用什么方法好呢? 我所知道的有四种方式 1: 写andorid 的android.mk 文件,之前在eclipse 中使用过,mk 文件就相当于Makefile 2: SWIG 技术,一个工具,c++ 语言生成各种其他语言的工具,java,c#,python 等都支持,中文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-09 08:46:31
                            
                                102阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            首先我们来看so文件的来源1. 自己写.c文件,然后生成so库2. 引用别人的静态库,或者动态库来生成新的jni调用库。我们先来看最简单的编写一个jni调用的so库,包含一个获取字符串的方法,通过这个列子,我们主要是了解怎么在android的工程中调用jni的库,以及要注意的问题。第一步:首先我们来看下我们的工程的目录   jni目录是我们生成库的文件,里面包含了一个.mk编译文件以及一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-24 15:44:16
                            
                                1529阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 如何实现Java调用SO文件函数
## 简介
在开发过程中,有时我们需要使用C/C++编写的库来完成一些功能,这些库通常以SO文件的形式存在。本文将介绍如何在Java中调用这些SO文件中的函数。
## 流程
下面是整个过程的步骤:
| 步骤 | 操作 |
|---|---|
| 1 | 准备SO文件 |
| 2 | 生成Java本地接口文件 |
| 3 | 编写Java代码调用本地接口            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-07 07:32:02
                            
                                98阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Java调用so库文件的过程
在Java中调用so库文件,需要经过一系列步骤。下面是整个过程的流程图:
```mermaid
stateDiagram
    [*] --> 检查so文件是否存在
    检查so文件是否存在 --> 设置java.library.path
    设置java.library.path --> 加载so库文件
    加载so库文件 --> 使用so库            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-17 08:49:50
                            
                                2407阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java调用.so文件函数
在Java中,我们可以使用JNI(Java Native Interface)来调用.so文件中的函数。.so文件是动态链接库文件,它包含了编译过的C/C++代码,可以被Java程序加载和调用。
本文将介绍在Java中调用.so文件函数的步骤,并提供相应的代码示例。
## 准备工作
在开始之前,我们需要做一些准备工作。
首先,我们需要编写包含所需函数的C/            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-19 19:57:27
                            
                                438阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何在Java中调用SO文件
在Java中调用SO(共享对象)文件的方式通常依赖于Java Native Interface(JNI)。JNI是一个用于Java与其他语言(如C或C++)互相调用的框架,通过JNI,我们能够在Java应用中直接调用本地共享库中的函数。这种能力使我们能够在不失去Java平台优势的前提下,利用本地代码的性能或已有代码库。本文将详细介绍如何在Java中调用SO文件,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-13 05:52:33
                            
                                545阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Android 调用未知的 SO 文件中的方法
在 Android 开发中,使用 SO 文件(共享对象文件)是一个常见挑战。SO 文件中包含了用 C 或 C++ 编写的本地代码,可以通过 Java Native Interface (JNI) 来调用。这种方式通常用于性能要求高或者需要使用系统底层功能的场景。本篇文章将详细介绍如何在 Android 中调用未知的 SO 文件中的方法,并通过代            
                
         
            
            
            
            Java native关键字 一. 什么是Native Method   简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-02 08:56:26
                            
                                57阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            介绍Solr是一款开源的全文检索引擎,基于lucene。拥有完善的可配置功能界面。具有丰富的查询语言,可扩展,可优化。下载安装进入solr官网下载包(这里我使用的版本是8.0)http://www.apache.org/dyn/closer.lua/lucene/solr/8.0.0启动Solr命令行进入solr的bin目录,提示Started Solr server on port 8983.             
                
         
            
            
            
            本文章介绍的方法为小弟查找资料摸索出来的,为方便以后学习使用,同时提供给刚接触 JNI 的小白一个 demo文中有错误的概念请大神们不吝教诲~~~1、编写 java 类,先上代码package com.hongquan.jni;
public class HelloJNI {
	
	// 声明 so 库中的方法
	public native static String sayHi(String            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 08:01:17
                            
                                191阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本周在开发一个python业务系统时,涉及到解密过程,解密是通过调用c的so文件实现的。开发过程中,踩进了一个不大不小的坑,差点腿都没拔出来,仅以此谨记不再踩ctypes坑。1.首先我们要有一个so库,有一个待调用的方法,c语言部分实现如下:int c_dec(unsigned char* c,
unsigned char* m,
unsigned long long b,
const unsig            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-25 17:29:50
                            
                                285阅读