夢回編程- 由LD_LIBRARY_PATH引發JNI的理解

前些天在配置通過OCI的方式連接Oracle中曾進碰到一個關于“java.lang.UnsatisfiedLinkError: no XXX in java.library.path”這么一個問題,這個問題糾結了許久才解決,解決方式參考前面的文章。
趁雙休日好好的理解一下產生這個問題的來龍去脈。
先看一段話先:
PATH is the environment variable.
java.library.path is the system properties.
When the java application started, JVM will set java.library.path’s value using PATH’s value.
In java program, it’s very difficult to get the value of environment variables, but it’s very easy to get/set system properties. Use
System.getProperty(”project_root”, “..”);
System.setProperty(”project_root”, “..”);
java.libaray.path 是system properties,在windows系統通常是使用PATH的值,而在Linux上是用LD_LIBRARY_PATH的值。 隨便也說一下java.class.path,他是對應于CLASSPATH中的值。
那LD_LIBRARY_PATH的值主要是干什么呢?他是來處理非標準路徑下的”共享庫“的,可以理解成windows 的dll,但在linux下是*.so的文件。
說完了基本的概念,再來看看OCI是怎么連接Oracle的,其實OCI是通過JNI(java native interface)的方式來訪問Oracle的,請看下圖
1)我們知道Oracle的驅動是classes12.jar(ojdbc14.jar),這里應該對應著java-class;
2)同樣我們在JBOSS啟動腳本中設置? JBOSS_NATIVE_DIR=”/opt/instantclient_10_2″,其實就是將LD_LIBRARY_PATH=”/opt /instantclient_10_2″,而在這個目錄下有大量的*.so文件,這些應該對應native;
3)至于jni-stub是一些存根文件,可以參考一下JNI相關的說明,這里就暫不描述了(有時間可以再深入學習)。









本文轉自 神相 51CTO博客,原文鏈接:http://blog.51cto.com/shenxiang/269201,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285962.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285962.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285962.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSDN博客文章閱讀模式插件(附源碼)

插件地址:https://greasyfork.org/zh-CN/scripts/380667-csdn%E5%8D%9A%E5%AE%A2%E9%98%85%E8%AF%BB%E6%A8%A1%E5%BC%8F%E5%88%87%E6%8D%A2%E6%8F%92%E4%BB%B6 插件安裝使用說明請參閱:https://greasyfork.org/zh-CN 瀏覽器(正常&#xff09…

C語言試題六十一之請編寫函數fun:將s所指字符串中下標為偶數的字符刪除,串中剩余字符形成新串放在t所指數組中。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 請編寫函數…

【ArcGIS風暴】ArcGIS tif轉jpg:JPEG壓縮僅支持8位或16位無符號數據(具有一個或三個波段,且沒有色彩映射表)解決方案!

擴展閱讀:【ArcGIS風暴】ArcGIS支持的柵格數據格式大全及格式轉換案例精解 文章目錄 問題描述tif格式和JPEG格式詳解ArcGIS軟件tif轉jpg方法總結問題描述 如下圖所示,在ArcGIS中將tif格式的無人機影像數據導出為Jpg格式時,提示:JPEG壓縮僅支持8位或16位無符號數據(具有一…

CF374 Maxim and Array

貪心 如果有0先變成非0 如果負數的個數 應該變為偶數 之后就是每次將絕對值最小的值加K #include<bits/stdc.h> using namespace std; const int MAXN 2e55; typedef long long ll;int N,K,X; ll A[MAXN]; int tag[MAXN]; struct Node{ll x; int id;Node(ll a0, int …

Blazor University (29)表單 —— 編輯表單數據

原文鏈接&#xff1a;https://blazor-university.com/forms/editing-form-data/編輯表單數據源代碼[1]因為 EditForm 組件呈現標準的 <form> HTML 元素&#xff0c;實際上可以在我們的標記中使用標準的 HTML 表單元素&#xff0c;例如 <input> 和 <select>&a…

廣州Uber優步司機獎勵政策(1月4日~1月10日)

滴快車單單2.5倍&#xff0c;注冊地址&#xff1a;http://www.udache.com/ 如何注冊Uber司機(全國版最新最詳細注冊流程)/月入2萬/不用搶單&#xff1a;http://www.cnblogs.com/mfryf/p/4612609.html 優步獎勵低/不掙錢/怎么辦?看這里&#xff1a;http://www.cnblogs.com/mfry…

10 關聯模型《ThinkPHP6 入門到電商實戰》

一、什么是關聯模型 關聯模型指在 tp 中使用模型對多個數據表進行關聯。例如一個主賬戶表與一個賬戶信息表進行關聯&#xff0c;此時兩者關聯后可以更加簡便的進行操作&#xff0c;使代碼更加清晰&#xff0c;操作更加簡便。 二、 正向一對一關聯 一對一關聯指的是數據只有一…

阿里云云計算ACP考試知識點(標紅為重點)

阿里云云計算專業認證考試&#xff08;ACP&#xff09;&#xff08;ECS&#xff09; 什么是云服務器 ECS 云服務器 Elastic Compute Service&#xff08;ECS&#xff09;是阿里云提供的一種基礎云計算服務。使用云服務器 ECS 就像使用水、電、煤氣等資源一樣便捷、高效。您無需…

C語言試題六十二之請編寫函數fun除了字符串前導和尾部的*號之外,將串中其他*號全部刪除。形參h已指向字符串第一個字母,形參p已指向字符串中最后一個字母。在編寫程序時,不得使用c語言提供的字符串函數。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 請編寫函數…

Android 整體設計及背后意義

目錄 1. Android設計的現實意義 1.1 發展的前提&#xff1a;硬件抽象 1.2 能力的樞紐&#xff1a;組件化 1.3 應用的基礎-接口層 2. 對于我們的象征意義和實踐 3. 小結 阿里妹導讀&#xff1a;現實工作中經常可以聽到這樣的說法&#xff1a;框架的升級帶來協議性能的提升…

數學的意蘊與價值(建議收藏)

數學的意蘊與價值,內容包括數學運算、長度面積等位換算等等,建議收藏。 意蘊1: 1x8+1=912x8+2=98123x8+3=9871234x8+4=987612345x8+5=98765123456x8+6=9876541234567x8+7=987654312345678x8+8=98765432123456789x8+9=987654321意蘊2: 1x9+2=1112x9+3=111123x9+4=11111234x9…

85、交換機安全MAC層***配置實驗之Port-Security

1、Port Security解析觸發Port Security的條件&#xff1a;未授權的MAC地址端口MAC地址數量超過了限制觸發Port Security后的動作&#xff1a;protect Security violation protect mode 丟棄數據&#xff0c;不發送SNMP Trap消息 restrict Security violation restr…

C#-Linq源碼解析之Concat

前言在Dotnet開發過程中&#xff0c;Concat作為IEnumerable的擴展方法&#xff0c;十分常用。本文對Concat方法的關鍵源碼進行簡要分析&#xff0c;以方便大家日后更好的使用該方法。使用Concat 連接兩個序列。假如我們有這樣的兩個集合&#xff0c;我們需要把兩個集合進行連接…

11 驗證器《ThinkPHP6 入門到電商實戰》

注&#xff1a;示例來源于官方手冊 一、驗證器定義 驗證器用于對數據進行驗證&#xff0c;你可以理解為一個“層”&#xff0c;在傳入數據時可以使用這個層對數據進行驗證&#xff0c;這樣就可以不用頻繁的在方法中編寫代碼去驗證&#xff0c;只需要編寫一個驗證層即可&#…

合作開發和委托開發完成成果的歸屬

據專利法第8條的規定&#xff1a;“兩個以上單位或者個人合作完成的發明創造、一個單位或者個人接受其他單位或者個人委托所完成的發明創造&#xff0c;除另有協議的以外&#xff0c;申請專利的權利屬于完成或者共同完成的單位或者個人&#xff1b;申請被批準后&#xff0c;申請…

C語言試題六十三之請編寫函數fun:將s所指字符串中ascii值為偶數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。

1、 題目 請編寫函數fun,其功能是:將s所指字符串中ascii值為偶數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。 2 、溫馨提示 C語言試題匯總里可用于計算機二級C語言筆試、機試、研究生復試中C程序設計科目、幫助C語言學者打好程序基礎、C語言基礎,鍛煉您…

nginx+php

nginxphp基礎架構 生產實踐 nginx配置文件: 主配置文件 123456789101112131415161718192021222324252627282930313233[rootlinux-node1 conf.d]# cat /etc/nginx/nginx.conf user nginx;worker_processes auto;error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load…

【ArcGIS風暴】ArcGIS10.8中柵格數據金字塔的來龍去脈,你知道嗎?

如下圖所示,通常情況下,當將沒有金字塔的柵格數據集添加至 ArcGIS時,系統將提示您構建金字塔。金字塔指不同比例下分辨率降低的數據概視圖。金字塔十分有用,因為金字塔提升了分辨率低于其全分辨率的柵格數據集的繪制速度。建議構建用于大型柵格數據集的金字塔。 點擊【是】…

斯坦福大學Andrew Ng - 機器學習筆記(8) -- 推薦系統 大規模機器學習 圖片文字識別...

大概用了一個月&#xff0c;Andrew Ng老師的機器學習視頻斷斷續續看完了&#xff0c;以下是個人學習筆記&#xff0c;入門級別&#xff0c;權當總結。筆記難免有遺漏和誤解&#xff0c;歡迎討論。 鳴謝&#xff1a;中國海洋大學黃海廣博士提供課程視頻和個人筆記&#xff0c;在…

表單按鈕實現 type=image

<input type"image" src"http://img01.51jobcdn.com/im/2012/index/main_login_btn.gif" border"0" οnfοcus"blur()">轉載于:https://www.cnblogs.com/zxmbest1/p/5121666.html