lib

JDK、JRE和JVM的区别与相互之间的联系

蹲街弑〆低调 提交于 2019-11-30 02:40:17
工作这么久,好多时间都在研究一些并发、多线程、分布式、框架等这些东西,但是前几天突然被人问到jdk、jre、jvm的区别与联系,瞬间觉得一脸懵逼,感觉还是有必要重新整理一下一些比较基本的java知识了。 1. 定义 JDK: Java Develpment Kit java 开发工具 JRE: Java Runtime Environment java运行时环境 JVM: java Virtual Machine java 虚拟机 2. 使用人群 jdk 是给开发人员使用的, jre和jvm是给普通用户使用 3. 详细介绍 JDK: 是java开发工具包,是Sun公司针对java开发人员的产品,jdk中包含jre,在jdk的安装目录下有一个jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里面就是jvm,lib中是java工作需要的类库,而java和lib合起来就称为jre JRE: 是运行基于java语言编写的程序所不可缺少的运行环境,也是通过它,java的开发者才可以将自己开发的程序发布到用户手中,让用户使用,与大家熟悉的jdk不同,jre是运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器,调试器)等,知识针对使用java程序的用户 JVM: 就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序首先被编译为

Shell脚本自动重启Java服务

陌路散爱 提交于 2019-11-30 02:35:06
话不多说直接上代码: cd /home/javaProduct/if [ -d '/home/javaProduct/lib_new/' ]; thenecho 'Has New Lib!'echo '--------------Begin Stop JavaService----------------'edocid=$(jps |grep JavaService | awk '{print $1}')echo $edocidkill -9 $edocidecho '--------------Begin Move Lib------------------------'mv /home/javaProduct/lib/ /home/javaProduct/lib_prevecho '--------------End Move Lib--------------------------'echo '--------------Begin Move Lib_New--------------------'mv /home/javaProduct/lib_new/ /home/javaProduct/lib/echo '--------------End Move Lib_New----------------------'echo '--------------Begin

windows以及Linux下java1.7.x的安装与配置

不羁的心 提交于 2019-11-30 02:26:57
学习Java最好选用 Java SE提供的软件开发工具箱–JDK 博主在这里总结下如何在Windows以及Linux系统中JDK1.7.x 版本的安装与配置 jdk1.7.x 网址链接 也可登录Sun 公司的网站( http://java.sun.com )寻找其他版本,免费下载 software downloads->java SE->Java SE 7 简单介绍下JDK主要的目录及内容,以便理解对系统环境变量的设置 开发工具:指工具和实用程序,用于开发、执行、调试java语言编写的程序;在bin子目录中,例如,编辑器javac.exe和解释器java.exe都位于此目录。 java运行环境:在jre子目录中,指JRE、java虚拟机(JVM)等支持执行以java编程语言编写的程序的文件 附加库:在lib子目录中,指开发工具所需要的其他类库和支持文件。 - 一、Windows下安装与配置JDK1.7 1、有关下载 我下载的是:jdk-7u80-windows-x64 默认会安装在C盘,建议修改,我的在F盘 双击下载后的jdk-7u80-windows-x64,可以更改安装路径 需要注意的是,点击下一步后,会提示是否修改JRE默认的安装路径C:\program files\java\JRE7,建议不修改 安装完毕后,可查看目录,是否含有如下目录 2、配置环境变量 环境变量配置:

三步配置Java环境变量(Linux/windows)

偶尔善良 提交于 2019-11-30 02:25:43
三步配置Java环境变量(Linux/windows) 描述: 很简单的操作,但是每次都容易忘,然后要重新百度,下面分别记录一下Windows环境以及Linux环境下,最简单快捷的Java环境配置方式: windows环境: 输入cmd命令。 setx JAVA_HOME “C:\Program Files\Java\jdk1.8.0” 引号中换成自己的路径 setx Path “%PATH%;%JAVA_HOME%\bin”; 设置classpath命令: setx -m CLASSPATH “%JAVA_HOME%\lib;%CLASSPATH%”; linux环境: 修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 用文本编辑器打开/etc/profile · vim /etc/profile 在profile文件末尾加入: export JAVA_HOME=/usr/share/jdk1.6.0_14 export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: J A V A H ​ O M E / b i n : PATH export CLASSPATH=.: J A V A H O M E / l i b /

使用java service wrapper将java程序注册为windows服务

雨燕双飞 提交于 2019-11-30 02:22:14
转载自 http://blog.csdn.net/coolcoffee168/article/details/9980009 1. 下载java service wrapper 网址: http://sourceforge.net/projects/wrapper/ 或者 http://wrapper.tanukisoftware.com/doc/english/download.jsp 我下载的版本是wrapper-windows-x86-32-3.5.20.zip。 2. 配置过程 1)首先确定你的电脑上有java运行环境,没有的话请安装。 2)将你的java程序打包成jar包。(我的jar的名称为JavaServiceTest.jar,main方法所在类JavaServiceTest) 3)在硬盘上创建文件夹test, 并在其下创建文件夹bin, conf, lib, logs。 4)解压wrapper-windows-x86-32-3.5.20.zip, 并将其bin目录下的Wrapper.exe、src/bin目录下的App.bat.in、InstallApp-NT.bat.in、UninstallApp-NT.bat.in文件 拷贝到test的bin目录中,并分别改名为App.bat、InstallApp-NT.bat、UninstallApp-NT.bat。 5

SpringBoot之spring-boot-load模块

≡放荡痞女 提交于 2019-11-30 01:24:30
一、前言 正常情况下classloader只能找到jar里面当前目录或者文件类里面的*.class文件。为了能够加载嵌套jar里面的资源之前都是把嵌套jar里面的class文件和应用的class文件打包为一个jar,这样就不存在嵌套jar了,但是这样做就不能很清晰的知道应用到底依赖了哪些东西,哪些是应用自己的,另外多个jar里面的class可能内容不一样但是文件名却一样。springboot中spring-boot-loader就是为优雅解决这个问题而诞生的。 spring-boot-loader模块允许我们使用java -jar archive.jar运行包含嵌套依赖jar的jar或者war文件,它提供了三种类启动器 (JarLauncher, WarLauncher and PropertiesLauncher),这些类启动器的目的一样都是为了能够加载嵌套在jar里面的资源(比如class文件,配置文件等)。[Jar|War]Launcher固定去查找当前jar的lib目录里面的嵌套jar文件里面的资源。 二、spring-boot-loader模块提供的jar目录结构 Springboot中jar文件格式固定如下: archive.jar | +-META-INF(1) | +-MANIFEST.MF +-org( 2 ) | +-springframework | +

cannot find -lGL

≯℡__Kan透↙ 提交于 2019-11-30 01:17:04
对于很多 Linux 发行版本, Qt 安装完成后如果直接编译或者运行项目,会出现“cannot find -lGL”错误,如下图所示: 这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。在《 Linux Qt安装 》一节中我们说过,OpenGL 在大部分 Linux 发行版 中都是默认安装的,包括 Ubuntu、CentOS 等,找不到该链接库一般都是路径不对。 Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,例如我使用的是 CentOS 7,OpenGL 链接库位于 /usr/lib64/ 目录,而对于 Ubuntu,OpenGL 链接库位于 /usr/lib/i386-linux-gnu/mesa/ 目录。只要我们把 libGL.so 拷贝到 /usr/lib/ 目录,或者在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题。显然第二种办法更好。 另外,Linux 发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。 总起来说,我们需要在 /usr/lib/ 目录下为 OpenGL

命令行下编译C++代码

爷,独闯天下 提交于 2019-11-30 00:24:01
有人学了三个月没写过helloworld;有人不知道编译器是什么;有人第一个helloworld编译一下,数百个ERROR,自信心失去一大半. 学习c++,想试验一下习题,不知道如何入手,你还在IDE里面重复新建工程,然后产生一大片垃圾文件吗. 其实还有另外一种编译方式: 那就是传说中的记事本加命令行编译.只要你有U盘,只有装windows的电脑,就可以写代码了. 一.首先你要有Platform SDK WIN7 Windows SDKS 微软官方下载页 1. GRMSDK_EN_DVD.iso X86(32bit) 2. GRMSDKIAI_EN_DVD.iso I64(Itanium) 3. GRMSDKX_EN_DVD.iso AMD64(64bit) 二.安装完,然后在安装的根目录(含有PlatformSDK,lib,include目录)下新建一个cmd文件内容如下 (以VC8.0为例) @echo off @prompt $h @title NewVS2005SP1-C/C++MODE color f5 if "#%vc2005dir_defined%"=="#" (set vc2005dir=%cd%&& set vc2005dir_defined=true) if "#%path0_defined%"=="#" (set path0=%path% && set

E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

只愿长相守 提交于 2019-11-29 23:57:56
问题描述: 当使用apt-get install安装软件时出现下面错误 E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它? 原因是在未完成下载的情况下将terminal 关闭。此时 apt-get进程可能没有结束,导致进程锁没有打开,其他进程无法使用的情况。 解决方法: 在终端输入下面两条命令: sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock 然后就可以安装软件了。 来源: https://blog.csdn.net/jingyoushui/article/details/100976935

GCC常用 编译命令

寵の児 提交于 2019-11-29 23:56:37
原文:https://blog.csdn.net/bible_reader/article/details/80210880 一. 常用编译命令选项 假设源程序文件名为test.c。 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。 选项 -o 用法:#gcc test.c -o test 作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。 选项 -E 用法:#gcc -E test.c -o test.i 作用:将test.c预处理输出test.i文件。 选项 -S 用法:#gcc -S test.i 作用:将预处理输出文件test.i汇编成test.s文件。 选项 -c 用法:#gcc -c test.s 作用:将汇编输出文件test.s编译输出test.o文件。 无选项链接 用法:#gcc test.o -o test 作用:将编译输出文件test.o链接成最终可执行文件test。 选项-O 用法:#gcc -O1 test.c -o test 作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。 二. 多源文件的编译方法 如果有多个源文件,基本上有两种编译方法: [假设有两个源文件为test