lib文件

java知识点 --- 类加载器

泄露秘密 提交于 2020-03-05 00:14:52
一、什么是类的加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。   类的加载指的是将类从“.java”代码文件编译成的“.class”字节码文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区(HotSpot虚拟机在方法区中)创建一个 java.lang.Class 对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的 Class 对象, Class 对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。      一般情况在你的代码中用到这个类的时候,才会加载这个类,但是类加载器并不需要等到某个类被“首次主动使用”时再加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了.class文件缺失或存在错误,类加载器必须在程序首次主动使用该类时才报告错误(LinkageError错误)如果这个类一直没有被程序主动使用,那么类加载器就不会报告错误。 二、类的生命周期   类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括: 加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)

laravel引入第三方类库

一个人想着一个人 提交于 2020-03-05 00:00:48
一、首先在项目根目录下app目录中新建一个文件夹命名为Lib(自定义名称)。 二、如果您引入第三方库多的话可以在Lib下再新建几个目录,由于我只引入了一个类,这里没有新建文件夹。(根据引入类的多少自己定义) 三、找到项目根目录下的composer.json文件,可以使用ctrl+f 快速找到"autoload"字样,如下图: 四、将第三方类的路劲写入autoload下的classmap中,这样才能自动加载。 五、但是这样还没完,还需要在cmd控制台中切换到项目根目录,执行命令: 六、然后就能在项目中愉快使用第三方类啦,示例: 使用use 类名 使用该类 后面要用的话直接new 类名,调用方法就好了: 来源: CSDN 作者: 菜鸟啊啊啊啊21 链接: https://blog.csdn.net/qq422431474/article/details/104653343

通过trace跟踪系统调用

╄→гoц情女王★ 提交于 2020-03-04 15:16:53
简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 输出参数含义 root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0brk(0) = 0xab1000access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)...brk(0) = 0xab1000brk(0xad2000) = 0xad2000fstat(1, {st_mode=S_IFCHR|0620, st

Linux strace追踪命令详解

穿精又带淫゛_ 提交于 2020-03-04 15:16:25
strace介绍 strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。当然strace与专业的调试工具比如说gdb之类的是没法相比的,因为它不是一个专业的调试器。 strace的最简单的用法就是执行一个指定的命令,在指定的命令结束之后它也就退出了。在命令执行的过程中,strace会记录和解析命令进程的所有系统调用以及这个进程所接收到的所有的信号值。 简单用法 root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0 brk(0) = 0xab1000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory

[strace]跟踪进程的系统调用

你。 提交于 2020-03-04 15:15:02
转自 : https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html 简介 strace常用来跟踪进程执行时的系统调用和所接收的信号,调试应用程序的时候经常使用 。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 输出参数含义 root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0brk(0) = 0xab1000access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or

strace命令

末鹿安然 提交于 2020-03-04 15:14:07
简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 输出参数含义 root@ubuntu:/usr# strace cat /dev/null execve("/bin/cat", ["cat", "/dev/null"], [/* 22 vars */]) = 0brk(0) = 0xab1000access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f29379a7000access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)...brk(0) = 0xab1000brk(0xad2000) = 0xad2000fstat(1, {st_mode=S_IFCHR|0620, st

移植mysql到arm平台

自作多情 提交于 2020-03-04 15:13:02
最近需要将一个程序移植到arm平台上,程序调用了MySQL数据库,所以就牵扯到将MySQL数据库移植到ARM平台上面,所以在网上大量查阅资料。在baidu文库发现了一篇文档,是wlzxlc上传的文档名称为 :《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》 。 下面说明里面介绍到: ARM平台下的QtEmbedded所需mysql插件,及MySQL的移植。 我的整个移植过程参考了这篇文档,但是遇到了很多的问题,所以又上网搜寻其它资料。现在我已经移植成功,回头看这篇文档,就发现里面有很多疏漏甚至是错误。这些东西如果不详细注明出来,更多的新手绝对还会重蹈我的覆辙,所以在这里将 mysql 的 arm+linux 移植经验贴出来,希望对新手以及做相关方面工作的人能有帮助。所有在《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》这篇文档中的错误以及注意事项,我也会一一列出,在下面我将其称为“原文”。 编译器:arm-linux-gcc(4.3.2) P c平台:ubuntu 在移植之前有必要先说明一下几个问题: 1.M y SQL还没有支持交叉编译的版本出现.但为了让编译继续 , 必须在 configure 脚本中将多处不支持交叉编译的命令全都注释掉,才能让 configure 顺利通过。 2.交叉编译过程中需要用到 ncurses-5

[WTL] STLport安装指南

大憨熊 提交于 2020-03-04 10:07:22
STLport安装指南 STLport-4.6 是完全兼容ANSI C++标准的类库。 This distribution contains STLport sources only, no binaries. To use STLport iostreams, you have to build STLport library from sources in "src" directory and link your programs with it. 这个发布包仅仅包括STLport源代码马,不含二进制发布软件包。必须重新编译src目录下的代码才可以使用STLport iostreams类库。 This is major change since pre-4.0 releases, please read the instructions carefully. 这是自4.0版本发布以来的重要变更版本,请仔细的阅读下面的操作指南。 ==== Unpacking and installing STLport ========== 解包和安装STLport 1) Unpack STLport archive to a directory accessible during compilation. NOTE : DO NOT overwrite header files coming

\"error while loading shared libraries: xxx.so.x\" 错误的原因和解决办法

霸气de小男生 提交于 2020-03-04 08:25:00
"error while loading shared libraries: xxx.so.x" 错误的原因和解决办法 http://blog.csdn.net/sahusoft/article/details/7388617 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可. 另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件. 所以安装共享库后要注意共享库路径设置问题, 如下: 1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令 ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld

hadoop3.2.1+hive3.1.2+scala2.12.10+spark3.0.0+zookeeper3.5.7+hbase2.0.6安装教程(亲测成功)

吃可爱长大的小学妹 提交于 2020-03-03 18:48:15
概述:学习hadoop大数据,安装hadoop生态圈的相关软件全过程 本文是根据网上的安装教程,结合小白自身安装经历,一步一步踩坑安装成功的。在安装过程中出现了诸多问题,如环境配置、版本不一致、权限等。折腾了两天之后,成功安装了hadoop/hive/scala/spark/zookeeper/hbase,因此写此博客保存安装记录,以便后续再安装更熟练,也分享给大家安装经历。本文适合完全没有安装过hadoop及其相关组件的用户,高手请忽略。我们开始吧! 准备 安装环境: Windows10+VMWare15(ubuntu18.04) hadoop相关组件各版本: hadoop3.2.1,hive3.1.2,scala2.12.10,spark3.0.0,zookeeper3.5.7,hbase2.0.6 安装包地址: 用国内镜像源,推荐一个速度快的,清华镜像 https://mirrors.tuna.tsinghua.edu.cn/apache 注意:hadoop3.2.1,hive3.1.2,spark3.0.0,zookeeper3.5.7可以在清华镜像网中下载,而没有hbase2.0.6这个版本(下载地址 https://archive.apache.org/dist/hbase/2.0.6/ ) scala下载地址: https://www.scala-lang.org