- 智能巡检机器人:功能与应用介绍
zxsz_com_cn
智能巡检系统服务器网络人工智能制造机器人运维能源
一、引言随着科技的不断进步,智能巡检机器人逐渐成为工业领域和公共设施管理中的重要工具。它们以高效、准确、可靠的特点,为各种复杂环境下的巡检工作带来了全新的解决方案。本文将详细介绍智能巡检机器人的功能以及其在不同领域的应用。二、智能巡检机器人的功能自主导航智能巡检机器人通常配备先进的导航系统,能够实现自主定位和路径规划。通过激光雷达、视觉传感器等多种技术手段,机器人可以在复杂的环境中准确地识别自身位
- css筋斗云,CSS3 七龙珠筋斗云动画
weixin_39797532
css筋斗云
CSS语言:CSSSCSS确定body{margin:0;padding:0;background:#6DD3E7}.centered{position:fixed;top:50%;transform:translate(-50%,-50%);}/**Kinto**/.kinto{-webkit-animation:kinto0.8slinearforwards,kinto22s0salterna
- “指路机器人”兰州备受青睐 智慧城市信息便民出行
中国财经IT
指路机器人具备点对点精准指引、后台实时更新信息、智能路径规划、人机互动等先进科技特点,将传统位置固定的“死”标牌内容变“活”变“聪明”。张婧摄“相比于传统导视牌内容更新更换成本高等问题,指路机器人具备点对点精准指引、后台实时更新信息、智能路径规划、人机互动等先进科技特点,将传统位置固定的‘死’标牌内容变‘活’变‘聪明’。”甘肃汇众标识设计制作有限公司推出一款智能机器——指路机器人,受民众青睐,该公
- 智能巡检机器人在化工企业的应用研究
Wnq10072
机器人DEEPSEEK计算机视觉运维智能硬件
引言化工行业具有生产流程复杂、易燃易爆/有毒有害气体密集、设备运行环境严苛等特点,传统人工巡检存在效率低、风险高、数据采集滞后等问题。随着人工智能、物联网及传感器技术的发展,智能巡检机器人成为提升安全生产水平的重要手段。本文以北京玉麟科技有限公司研发的挂轨式防爆巡检机器人为案例,系统阐述其在化工企业的巡检内容、技术实现、数据处理流程及行业价值,并探讨传统巡检人员的职业转型路径。一、化工企业智能巡检
- Javaweb Axios
政宇 | STAR
ajax
DocumentnewVue({el:"#app",methods:{get:function(){//通过axios发送异步请求-getaxios({method:"get",url:"http://yapi.smart-xwork.cn/mock/169327/emp/list"}).then((result)=>{console.log(result.data);})},post:funct
- javaWeb Router
暮湫
javaweb
一、路由简介1、什么是路由?-定义:路由就是根据不同的URL地址展示不同的内容或页面。-通俗理解:路由就像是一个地图,我们要去不同的地方,需要通过不同的路线进行导航。2、路由的作用-单页应用程序(SPA)中,路由可以实现不同视图之间的无刷新切换,提升用户体验;-路由还可以实现页面的认证和权限控制,保护用户的隐私和安全;-路由还可以利用浏览器的前进与后退,帮助用户更好地回到之前访问过的页面。二、路由
- WEB信息收集(超级详细版)_web页面信息获取的方法(1)
2401_84968504
程序员前端
|WEB信息收集||一、WEB有CDN||1、IP替换使用进行ip替换,达到国外访问的目的,获取相关信息||2、接口查询步骤:1.了解目标API:理解要查询的API的功能、提供的服务、支持的参数、授权方式等。2.获取API文档:获取API的官方文档或开发者文档,以便了解API的使用方法、参数说明、请求方式(如GET、POST)、授权方式等。3.使用API测试工具:使用专门的API测试工具(如Pos
- 什么是网络环路?怎么消除网络环路?
IT大卡拉咪
网络
网络环路是计算机网络中的一个重要概念:它指的是数据包在网络中循环传输而无法到达目的地的现象。这种情况通常会导致网络性能下降,甚至可能造成网络瘫痪。网络环路可以分为物理环路和逻辑环路两种类型。物理环路:通常是由于网络设备或连接线路的错误配置造成的。例如,如果两台交换机通过多条路径相连,就可能形成物理环路。这种环路会导致广播风暴,因为广播和多播数据包会在环路中不断循环,消耗大量网络资源。逻辑环路:则是
- 【模板】P2764 最小路径覆盖问题
Flower#
题解/补题算法学习笔记算法c++图论
洛谷P2764最小路径覆盖问题题目描述给定有向图G=(V,E)G=(V,E)G=(V,E)。设PPP是GGG的一个简单路(顶点不相交)的集合。如果VVV中每个定点恰好在PPP的一条路上,则称PPP是GGG的一个路径覆盖。PPP中路径可以从VVV的任何一个定点开始,长度也是任意的,特别地,可以为000。GGG的最小路径覆盖是GGG所含路径条数最少的路径覆盖。设计一个有效算法求一个DAG(有向无环图)
- [转]利用ASP.NET 2.0创建自定义Web控件(1)
weixin_34189116
数据库c#xhtml
原址:http://hi.baidu.com/sjbh/blog/item/cc58fd1bd35d3ad2ad6e7593.html简介从使用基本的文本编辑器到创作标记页面,Web开发已经经历了一个漫长的过程。目前,集成开发环境(IDE)为开发过程中的几乎每个方面都提供了图形化表示形式。此外,还实现各种说明性编程技术以提高效率并降低出现错误的几率。VisualStudio2005和ASP.NET
- 用两种遍历方法判断图中两点是否有路径
SweetCode
算法学习与进阶指针题目练习与进阶图论算法c语言c++
用两种遍历方法判断图中两点是否有路径(可直接测试)邻接表、图、图的两种遍历以及图中路径的基本概念,可以去自行了解和学习(下面是代码实践)可直接在自己主机测试#include#include#include#include#definenullNULL#definemax_n101usingnamespacestd;typedefintvexType;intvisited[max_n];//邻接表t
- 深度学习篇---os.path模块
Ronin-Lotus
深度学习篇程序代码篇上位机操作篇深度学习人工智能os路径操作文件操作
文章目录前言一、os.path模块的核心函数1.os.path.join()功能语法示例2.os.path.abspath()功能示例3.os.path.dirname()和os.path.basename()功能示例4.os.path.exists()功能示例5.os.path.split()功能示例二、深度学习中的路径操作示例1.数据导入:组织数据集路径2.模型保存:动态生成保存路径3.配置文
- 求解传递闭包
SweetCode
python算法数据结构
矩阵多次相乘传递闭包传递闭包是图论中的一个重要概念,主要用于描述一个图中节点之间的可达关系。简而言之,图的传递闭包就是一个最小的有向图,其中每一条边表示从一个节点到另一个节点存在某种路径。在本篇文章中,我们将详细介绍传递闭包的定义、如何通过矩阵的多次相乘来计算传递闭包,以及给出一个Python代码实现,帮助大家更好地理解这个概念。传递闭包的定义给定一个有向图GGG,它由节点集VVV和边集EEE构成
- websocket 网页通过HTTPS加载,使用ws:// 协议开头,怎么设置浏览器
嘿,小苹果
websocketwebsockethttps网络协议
在网页通过HTTPS加载时,出于安全考虑,现代浏览器不允许从HTTPS页面发起不安全的WebSocket连接(即使用ws://协议)。这是因为不安全的WebSocket连接可能会暴露敏感信息,从而威胁用户的数据安全。因此,你必须使用安全的WebSocket协议(即wss://)来确保连接的安全性。对于Firefox浏览器,虽然可以通过修改配置(如network.websocket.allowIns
- 《每天30分钟吃透一个前沿新技术——深入CRP与SSR/SSG架构实战》
庸俗今天不摸鱼
每天一个知识点架构
第一章浏览器渲染引擎深度解构1.1关键渲染路径(CRP)全链路解析1.1.1现代浏览器架构演进BrowserProcessRenderProcessMainThreadWorkerThreadsDOMParserStyleCalculatorLayoutEngineImageDecoderScriptJITCompiler各模块核心职责:主线程:DOM解析、样式计算、布局、绘制指令生成合成线程:图
- SpringBoot参数加解密
hweiyu00
springboot杂谈springboot加密解密
SpringBoot参数加解密概述有时候,为了接口安全,防止接口数据被拦截抓取,我们需要对请求,响应参数进行加密。接口org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdvice能对请求参数进行前置处理,而org.springframework.web.servlet.mvc.method.annotation.Re
- 了解Http和Https的区别
每天瞎忙的农民工
Httphttphttps网络协议
HTTP和HTTPS是用于在互联网上传输数据的两种协议。它们的主要区别在于安全性、传输方式和工作机制。下面是详细的讲解:1.HTTP(HyperTextTransferProtocol)概述HTTP是超文本传输协议,用于在Web浏览器与服务器之间传输数据。它是一个无状态、应用层的协议,专门为传输HTML文档、图片、视频等Web资源设计。特点:无状态:每次请求都是独立的,服务器不会记住先前的请求。要
- linux如何与windows进行共享文件夹开发,不用来回用git进行拉来拉去,这个对于swoole开发者来说特别重要
森叶
phpwindows10linuxgitswoole
linux那边安装samba,此处不再赘述,百度一堆教程,设置一个最简单的共享文件夹,一般是放nginx运行代码的地方,我的是web,将web设置用户为samba(你创建的,直接用root不行),权限设置为777,要加-R,迭代设置useraddsambasampasswdsambachown–Rsamba.samba/webchmod–R777/webwindows链接:\\192.168.1.
- MySQL执行Source的报错记录
WarPigs
mysql数据库
1.如果Source执行路径有中文的.sql文件,如果结尾有分号,报错:ERROR:Unknowncommand'\U',报此错后输入任何指令都返回->必须退出重新打开才行。2.如果Source执行路径有中文的.sql文件,结尾不加分号,报错:ERROR:Failedtoopenfile,error:423.如果Source执行路径没有中文的.sql文件,结尾有分号,报错:ERROR:Unknow
- 【Audio】配置文档(二)media_codec.xml
飞鸟厌鱼
audio配置文档android
文章目录1内容2加载及使用2.1文件加载log2.2解析文件2.3使用3小结1内容文件路径:code:android/device/qcom/msm8996(平台名)或者android/frameworks/av/media/libstagefright/data设备:/vendor/etc/media_codecs.xml定义当前设备所支持的编码器配置。还有另一款"c2.android.amrn
- 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的文件上传与下载:实现文件管理功能
Foyo Designer
springspringbootjava后端改行学it
点击此处查看合集https://blog.csdn.net/foyodesigner/category_12907601.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12907601&sharerefer=PC&sharesource=FoyoDesigner&sharefrom=from_link一、开篇整活儿今儿个咱唠唠Spr
- 初始爬虫10
菜鸡中的奋斗鸡→挣扎鸡
爬虫
1.selenium执行js因为selenium缺少下拉页面的操作,需要js触发式请求:driver.execute_scripts(js)#-*-coding:utf-8-*-fromseleniumimportwebdriverimporttimefromselenium.webdriver.common.byimportByurl='https://jn.lianjia.com/'drive
- 医药企业数字化转型路径:从数据驱动到生态重构
九河智造云
制造重构云计算人工智能
一、战略定位:以“数字健康”政策为锚点中国“十四五”规划明确提出推动“数字健康”战略,要求医药企业加速数字化渗透。据《中国医药工业数字化转型白皮书》调研,仅37%的国内药企已建立系统转型框架,远低于欧美60%的水平。核心矛盾在于:传统研发周期长(平均10-15年)、供应链层级复杂(流通成本占比超30%)、合规风险高(数据泄露事件年增25%)。数字化转型需以降本增效、精准医疗、合规可控为目标,重构“
- go游戏后端开发21:处理nats消息
二狗哈
golang游戏开发语言
处理NATS订阅的消息在WebSocket的管理模块中,我们之前已经处理了一些消息。这些消息通过NATS订阅过来,我们需要对这些消息进行进一步的处理。一旦消息到达,我们需要执行相应的操作,并将结果发送回去,包括之前的操作。理论上,所有消息都应该能够到达这里进行处理。目前,我们还没有对这部分进行处理,接下来需要完善这部分逻辑。3.解析消息并处理当收到消息后,我们需要解析消息内容。解析完成后,我们需要
- go游戏后端开发12:websocket管理器
二狗哈
游戏websocket网络协议
关于WebSocket连接的实现与管理在我们的项目中,需要通过WebSocket实现客户端与服务器之间的连接。我们的目标是创建一个高效且易于管理的连接组件,将其整合到框架中,方便后续的使用和扩展。1.设计连接组件我们设计的连接组件需要管理两个主要部分:WebSocket的连接管理和Natclient的相关工作。由于需要同时处理这两个方面的逻辑,我们将这个组件视为一个独立的模块,并将其命名为conn
- 八股总结(go)实时更新!
在下木子生
golang开发语言后端八股面经面试
八股总结(go)gorm底层怎么连接mysql的gorm是一个基于go语言的ORM框架,gorm不直接实现数据库的连接,而是基于Go标准库database/sql来管理数据库连接池;gorm.open()调用sql.open()初始化database/sql.DB;gin框架优势gin是一个高性能、轻量级的web框架,基于net/http封装;基于RadixTree(基数树)进行路由分配;采用js
- HTTPS通信的加密问题
By爱分享
https网络网络协议
如大家所了解的,在未加密的HTTP中,客户端会打开一条道web服务器端口80的TCP连接,发送一条请求报文,接收一条响应报文,关闭连接。在HTTPS通信中:由于SSL安全层的存在,客户端首先打开一条道web服务器端口443(安全HTTP的默认端口)的连接。一旦建立了TCP连接,客户端和服务器就会初始化SSL层,对加密参数进行沟通,并交换密钥,进行SSL握手。握手完成之后,SSL初始化就完成了,客户
- SvelteKit 最新中文文档教程(17)—— 仅服务端模块和快照
前言Svelte,一个语法简洁、入门容易,面向未来的前端框架。从Svelte诞生之初,就备受开发者的喜爱,根据统计,从2019年到2024年,连续6年一直是开发者最感兴趣的前端框架No.1:Svelte以其独特的编译时优化机制著称,具有轻量级、高性能、易上手等特性,非常适合构建轻量级Web项目。为了帮助大家学习Svelte,我同时搭建了Svelte最新的中文文档站点。如果需要进阶学习,也可以入手我
- 解决Selenium元素拖拽不生效Bug
爱学测试的雨果
软件测试seleniumbug测试工具
前几天在使用Selenium进行元素拖拽操作时,发现Selenium自带的元素拖拽方法(dragAndDrop())不生效,网上的回答也是五花八门,比较混乱,尝试了以下几种方法均无法解决。方案1:通过dragAndDrop()方法将元素拖放到特定区域上——无效。//要拖拽的元素WebElementdraggable=driver.findElement(By.xpath(""));//目标元素/区
- 微信小程序实现动态二维码海报生成与保存 | 高效便捷的前端方案
爱编译也爱吃肉的喵
个人网站微信小程序前端react.jsjavascript小程序前端框架taro
WEBSITE:WelcometoJessie’sWorldGitHub:Jessie-jzn-Overview前言在微信小程序开发中,经常需要实现分享海报功能,通常包含动态二维码。本文将详细介绍如何在小程序中生成带有二维码的海报,并实现保存到手机相册的功能。实现原理整个功能的实现主要包含以下几个步骤:生成二维码绘制海报背景将二维码绘制到海报上将画布导出为图片保存图片到相册核心代码实现1.二维码生
- 如何用ruby来写hadoop的mapreduce并生成jar包
wudixiaotie
mapreduce
ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢:
1.安装rvm:
不说了 网上有
2.安装ruby:
由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。
3.安装jruby:
rvm install jruby然后等待安
- java编程思想 -- 访问控制权限
百合不是茶
java访问控制权限单例模式
访问权限是java中一个比较中要的知识点,它规定者什么方法可以访问,什么不可以访问
一:包访问权限;
自定义包:
package com.wj.control;
//包
public class Demo {
//定义一个无参的方法
public void DemoPackage(){
System.out.println("调用
- [生物与医学]请审慎食用小龙虾
comsci
生物
现在的餐馆里面出售的小龙虾,有一些是在野外捕捉的,这些小龙虾身体里面可能带有某些病毒和细菌,人食用以后可能会导致一些疾病,严重的甚至会死亡.....
所以,参加聚餐的时候,最好不要点小龙虾...就吃养殖的猪肉,牛肉,羊肉和鱼,等动物蛋白质
- org.apache.jasper.JasperException: Unable to compile class for JSP:
商人shang
maven2.2jdk1.8
环境: jdk1.8 maven tomcat7-maven-plugin 2.0
原因: tomcat7-maven-plugin 2.0 不知吃 jdk 1.8,换成 tomcat7-maven-plugin 2.2就行,即
<plugin>
- 你的垃圾你处理掉了吗?GC
oloz
GC
前序:本人菜鸟,此文研究学习来自网络,各位牛牛多指教
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别
- shiro 和 SESSSION
杨白白
shiro
shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器,此
- 移动互联网终端 淘宝客如何实现盈利
小桔子
移動客戶端淘客淘寶App
2012年淘宝联盟平台为站长和淘宝客带来的分成收入突破30亿元,同比增长100%。而来自移动端的分成达1亿元,其中美丽说、蘑菇街、果库、口袋购物等App运营商分成近5000万元。 可以看出,虽然目前阶段PC端对于淘客而言仍旧是盈利的大头,但移动端已经呈现出爆发之势。而且这个势头将随着智能终端(手机,平板)的加速普及而更加迅猛
- wordpress小工具制作
aichenglong
wordpress小工具
wordpress 使用侧边栏的小工具,很方便调整页面结构
小工具的制作过程
1 在自己的主题文件中新建一个文件夹(如widget),在文件夹中创建一个php(AWP_posts-category.php)
小工具是一个类,想侧边栏一样,还得使用代码注册,他才可以再后台使用,基本的代码一层不变
<?php
class AWP_Post_Category extends WP_Wi
- JS微信分享
AILIKES
js
// 所有功能必须包含在 WeixinApi.ready 中进行
WeixinApi.ready(function(Api) {
// 微信分享的数据
var wxData = {
&nb
- 封装探讨
百合不是茶
JAVA面向对象 封装
//封装 属性 方法 将某些东西包装在一起,通过创建对象或使用静态的方法来调用,称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,增加代码的可读性和可维护性
在 Aname类中申明三个属性,将其封装在一个类中:通过对象来调用
例如 1:
//属性 将其设为私有
姓名 name 可以公开
- jquery radio/checkbox change事件不能触发的问题
bijian1013
JavaScriptjquery
我想让radio来控制当前我选择的是机动车还是特种车,如下所示:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"><
- AngularJS中安全性措施
bijian1013
JavaScriptAngularJS安全性XSRFJSON漏洞
在使用web应用中,安全性是应该首要考虑的一个问题。AngularJS提供了一些辅助机制,用来防护来自两个常见攻击方向的网络攻击。
一.JSON漏洞
当使用一个GET请求获取JSON数组信息的时候(尤其是当这一信息非常敏感,
- [Maven学习笔记九]Maven发布web项目
bit1129
maven
基于Maven的web项目的标准项目结构
user-project
user-core
user-service
user-web
src
- 【Hive七】Hive用户自定义聚合函数(UDAF)
bit1129
hive
用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。
问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么?
Double evaluate(Double a, Double b)
- 通过 nginx-lua 给 Nginx 增加 OAuth 支持
ronin47
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGeek 在过去几年中取得了发展,我们已经积累了不少针对各种任务的不同管理接口。我们通常为新的展示需求创建新模块,比如我们自己的博客、图表等。我们还定期开发内部工具来处理诸如部署、可视化操作及事件处理等事务。在处理这些事务中,我们使用了几个不同的接口来认证:
&n
- 利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法
bsr1983
session
在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性,session未进行序列化,属性没有被存储到redis中。 在 tomcat-redis-session-manager的github上有如下说明: Session Change Tracking
As noted in the &qu
- 《代码大全》表驱动法-Table Driven Approach-1
bylijinnan
java算法
关于Table Driven Approach的一篇非常好的文章:
http://www.codeproject.com/Articles/42732/Table-driven-Approach
package com.ljn.base;
import java.util.Random;
public class TableDriven {
public
- Sybase封锁原理
chicony
Sybase
昨天在操作Sybase IQ12.7时意外操作造成了数据库表锁定,不能删除被锁定表数据也不能往其中写入数据。由于着急往该表抽入数据,因此立马着手解决该表的解锁问题。 无奈此前没有接触过Sybase IQ12.7这套数据库产品,加之当时已属于下班时间无法求助于支持人员支持,因此只有借助搜索引擎强大的
- java异常处理机制
CrazyMizzz
java
java异常关键字有以下几个,分别为 try catch final throw throws
他们的定义分别为
try: Opening exception-handling statement.
catch: Captures the exception.
finally: Runs its code before terminating
- hive 数据插入DML语法汇总
daizj
hiveDML数据插入
Hive的数据插入DML语法汇总1、Loading files into tables语法:1) LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]解释:1)、上面命令执行环境为hive客户端环境下: hive>l
- 工厂设计模式
dcj3sjt126com
设计模式
使用设计模式是促进最佳实践和良好设计的好办法。设计模式可以提供针对常见的编程问题的灵活的解决方案。 工厂模式
工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是你要生成的对象对应的类名称。
Example #1 调用工厂方法(带参数)
<?phpclass Example{
- mysql字符串查找函数
dcj3sjt126com
mysql
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在1到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或st
- jvm内存管理
easterfly
jvm
一、JVM堆内存的划分
分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。
工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中;
年老代满了之后会执行major gc,这个是stop the word模式,执行
- CentOS-6.3安装配置JDK-8
gengzg
centos
JAVA_HOME=/usr/java/jdk1.8.0_45
JRE_HOME=/usr/java/jdk1.8.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME