使用Java获取操作系统和硬件信息
距离上一次写博客已经过去2个半的月份了,也是工作忙,也是懒,也是在积攒文章吧,反正就是许久没有写了,本次分享一个用Java获取cao作系统和硬件信息的组件,在十一假期之前就准备分享的,然这些详细的参数实在是较多,本文的重点是将这些参数详细罗列出来,给出个人对参数的理解和尴尬的翻译结果,轻点喷。 本站对于博客的2.0的实现期待较高,所以在后台的管理主页面也计划将服务器的一些参数给读取显示出来,它们不仅限于Jdk与Web容器的参数,同时还要包括cao作系统自身的一些硬件参数,此为背景。 围绕这一大背景还是网罗相关的实现,其中Sigar与oshi的实现看起来比较给力,但前者需要依赖不同cao作系统的动态链接库文件实现,功能强大与否暂且不表,在我这里的背景下肯定是要考虑采用oshi的实现了,它的在实现上跨平台,每个参数都根据不同的cao作系统进行了实现,对于一些常用的参数,我们不需要调用系统底层接...
文章分类:经验分享 技术知识
oshiJava动态代理之接口实现
在此之前个人技术的渣渣限制了我的想象,我所知道的接口在使用的时候,我们都是使用它的实现类,虽然有接触到许许多多的$Proxy$代理实现类,但从来没去想过这个破玩意到底是个什么,知道前段时间别的同事使用Spring data jpa查询返回List结果集的时候,泛型是个接口类型,也就听着他们随口的几句话让我觉得眼前亮了一下。 将SQL查询出来的结果集映射为一个Javabean对象,我们肯定都是有许许多多的实现版本了,使用反射将数据库查询出来的column名称与属性名称进行转换(再有就是匈牙利转驼峰),总的来说还是比较简单的,但这里的实现是将这个结果集转换为一个接口类,其中接口类提供多个get函数,也就是说将各个字段的返回值映射到这个具体的get方法上,说的也许抽象了,查看下列接口类的定义,实现将数据库查询出来的每条数据都映射到该接口的各个方法中: 代理接口类 package cn.chend...
文章分类:经验分享 技术知识
动态代理Java动态代理之实现方法拦截
记得在很早的时候(本站另外一篇文章)通过学习视频了解到的Java的动态代理,照着敲出来的示例当时也只是似懂非懂的,直到后面再看视频的时候看到了基于List接口实现的代理,这次是真的懂了许多了,然而长时间抛在脑后时间久了就又需要花费时间去捡起,如果不是下篇文章所实现的示例,可能不会这么快整理出来本篇文章。 本次示例使用动态代理实现方法的前置与后置拦截,与Spring AOP的拦截器一样,可以根据特定类的路径、方法的规则、参数的类型等方式的限定拦截,懒得写了,就当本文是作为个人的笔记分享吧。 代理实现类 package cn.chendd.tips.examples.proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; /** * @author chendd * @since 2...
文章分类:经验分享 技术知识
动态代理将全站http换成https
在去年底的一次小小版本升级时,增加了全站的访问历史记录(记录的有referer),也顺便把友情链接处做了一个统计,增加了从友情站过来的访问次数统计,偶然有一天发现从一些个网站过来的请求无法正常获取到referer,经过分析后发现从https协议过来的网站请求均无法取得referer,后来又百科后了解到https可以正常跳转https和http(会增加referer参数),当时并没有想要去修改我站https的想法,只是萌芽了一颗早晚会尝试跳转的种子,只是从认知上有了一点点的了解,比如https不是免费的,而且很贵,但也有免费的,就是周期性的过期。 为了解决无法从https跳转过来的次数统计,我特意将友情链接处的https网站的统计数量给去掉了。 今天又琢磨起来这茬,感觉光搞个Tomcat的https不应该很麻烦啊,因为多年前尝试着在项目里面使用过https证书,记得当时直接搞jdk自带的ke...
文章分类:经验分享 技术知识
Docker学习(八)docker镜像的commit与push
截至目前为止已经涉及到好几个镜像和容器了,现在要将一个已经修改过配置的tomcat的docker容器给提交生成一款新的镜像,并且这个镜像可以推送至阿里云服务器上,后续再拉取的时候直接拉取自己的镜像。相关的docker命令分别为commit与push。 将容器提交为镜像 我们运行的容器可能在镜像的基础上做了一些修改,有时候我们希望保存起来,封装成一个更合适的镜像,此时我们就需要使用到docker提供的commit命令,语法为:docker commit 容器名称 新镜像名称:标签(如果标签不存在则表示为最新的latest),下面我们就将本地中使用的8003的tomcat为基础生成一个tomcat-console的镜像,参考过程如下: 至此,将容器提交为镜像的过程已完成,上述命令参考为:docker commit tomcat9016 tomcat-console:9.0.16。 将镜像提交至...
文章分类:经验分享 技术知识
Docker学习Docker学习(七)dockerFile本地安装MySQL5.7.25
dockerFile本地安装MySQL5.7.25,这种安装方法就是将前面学习Linux时安装MySQL的方式给转换成了DockerFile的方式,假设之前是分十个步骤一步一步的去设置安装,现在则是将所有的过程及步骤写在DockerFile文件中一个命令所有的东西都搞定,从某种程度中来讲也算是非常简化了安装过程。 #自定义Docker-MySQL5.7镜像 #基础镜像 FROM centos:latest #签名 MAINTAINER chendd<88911006@qq.com> #定义环境变量 ENV WORK_HOME /usr/local #设置进入容器后的主目录 WORKDIR $WORK_HOME RUN yum -y install numactl RUN yum -y install libaio #拷贝说明文件 COPY readme.txt $WORK_HOME/rea...
文章分类:经验分享 技术知识
Docker学习MySQLDocker学习(六)dockerFile在线安装MySQL5.7.25
dockerFile在线安装MySQL5.7.25与使用docker直接在线安装差不多,同样较为简单,不同的是在拉取镜像的过程中,我们可以使用DockerFile写一些自定义的其它命令,这里就给出最最简化的安装方式吧,至于build、run的命令参考前面的自定义tomcat9的镜像吧,通过此种方式构建的mysql镜像容器中存在mysql的一些配置文件,参考如下: #自定义Docker-MySQL5.7镜像 #基础镜像 FROM mysql:5.7.25 #签名 MAINTAINER chendd<88911006@qq.com> #定义环境变量 ENV WORK_HOME /usr/local #设置进入容器后的主目录 WORKDIR $WORK_HOME #默认端口开放 EXPOSE 3306 #容器启动后执行以下命令,启动mysql #CMD ["/usr/local/mysql/bi...
文章分类:经验分享 技术知识
Docker学习MySQLDocker学习(五)docker在线安装MySQL5.7.25
笔者Linux新手水平,在前面有一篇为Linux安装MySQL的文章,个人认为是非常不错的,因为是基于本地安装包的方式安装,涵盖了安装的全部过程及解释,与非常不错对应的则是安装过程的非常费劲,所以在学习docker后的本篇文章旨在使用docker在线安装MySQL5.7.25版本数据库,及可以支持正常的外部程序访问。 根据版本号拉取MySQL5.7.25的镜像 初始化数据库 运行安装MySQL容器,包含有数据库初始化密码,开放端口,共享数据库文件数据卷等,参考命令语句为:docker run -d --name mysql5725 -v /usr/local/mysqlDatas/mysql:/var/lib/mysql -v /usr/local/mysqlDatas/mysql-conf:/etc/mysql/ -e MYSQL_ROOT_PASSWORD=88911006@qq.co...
文章分类:经验分享 技术知识
Docker学习MySQLDocker学习(四)使用DockerFile安装Tomcat
在docker中有一种镜像叫自定义,它允许我们通过自己需要的方式去构建镜像,称为DockerFile的方式,我个人也是比较喜欢这种方式,因为使用它我们可以自己去控制相关的安装包文件、配置参数、系统参数等等。 本文特点 ①使用DockerFile构建,基于centos基础; ②解压安装本地apache-tomcat-9.0.16.tar.gz、jdk-8u191-linux-x64.tar.gz; ③修改tomcat的默认配置文件,支持访问文件夹时列出目录属性(验证属性更改); ④修改tomcat的默认项目文件,支持tomcat的控制台账号登录; 本文DockerFile知识点 ①涉及较多常用命令语句,有:FROM、MAINTAINER、ENV、WORKDIR、COPY、ADD、RUN、EXPOSE、CMD; ②基于本地软件构建的镜像; ③支持数据卷的文件同步; ④启动tomcat后可登录R...
文章分类:经验分享 技术知识
Docker学习Docker学习(三)docker在线安装Tomcat9及运行
同样的本次安装的是按版本号拉取安装Tomcat9.0.16版本,首先打开docker hub的在线版本搜索,然后选择对应的版本号,下载即可,参考安装过程如下: 这些版本有关的标签都是可进行下载的版本,本次下载以9-jre8-alpine为例,参考下载命令为:docker pull tomcat:9-jre8-alpine,如下图所示: tomcat镜像下载完成后,我们可以运行它,因为它里面自带的有ROOT、examples、manager、host-manager项目,直接将镜像运行为容器,使用精简的命令为:docker run -it --name chendd-demo-tomcat -p 8001:8080 tomcat:9.0.16-jre8-alpine 通过docker ps可以查看该容器也正在运行,并且端口号为8001绑定了tomcat容器的8080端口,如下: 浏览器访问如...
文章分类:经验分享 技术知识
Docker学习运营时间: 天
用户数量: 人
文章数量: 篇
评论数量: 条
点赞个数: 个
最后更新: