Hexo搭建静态个人博客

Hexo简介

之前在Github上托管的博客就是使用jekyll搭建的,官方的Github Pages同样推荐使用它。我之前体验了一下jekyll,没有达到我想要的效果。于是寻找替代方案,搜索同类博客程序,我认识了hexo,hexo出自台湾大学生tommy351之手,是由Node.js驱动的一款快速、简单且功能强大的博客框架。Node.js是一个可以快速构建网络服务及应用的平台 。该平台的构建是基于Chrome's JavaScript runtime,也就是说,实际上它是对Google V8引擎(应用于Google Chrome浏览器)进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。它和jekyll相比,更快,更轻量。

Hexo官网

Hexo安装

  • 安装 git

    • Linux发行版直接使用包管理工具安装
    • Windows: Git-Downloads
  • 安装 node.js

    • Gentoo package: net-libs/nodejs
    • Arch: nodejs npm
    • Windows: node.js
  • 安装hexo

npm install -g hexo-cli 

配置Hexo

  • 初始化博客根目录
hexo init blog
cd blog
  • 安装依赖包
npm install

安装之后,项目目录下出现如下文件结构:

.
├── _config.yml     全局配置文件
├── package.json
├── scaffolds
├── scripts
├── source           文章存放位置
| ├── _drafts        草稿
| └── _posts         文章
└── themes

插件和主题

  • plugins: 插件

添加插件的基本操作是:

npm install  --save
npm update

然后修改blog根目录下的_config.yml,添加:

plugins:
- plugin-name
  • themes:

安装主题:

git clone  themes/

无论是插件还是主题在安装后都需要在根目录下_config.yml中修改plugins和theme的值以启用他们。

本博客使用pacman主题,扁平化设计,响应速快,推荐使用。修改配置参考: http://yangjian.me/workspace/introducing-pacman-theme/

推荐Next主题:
Next使用文档
Github源码

写文章

使用Markdown语法编辑文章。使用hexo new命令生成文章或者直接在_posts目录下直接创建文件,打开后先编辑文章头部信息,如下所示是本文的头部信息,以---结尾。

---
title: 使用Hexo搭建个人静态博客  #文章页面上的显示名称,可以任意修改,不会出现在URL中
layout: post
date: 2014-11-10 10:07:43  #文章生成时间,一般不改,当然也可以任意修改
updated: 2014-11-12 13:24
comments: true
categories: 
- Git
tags: 
- hexo
- pages
---

文章摘要

在需要显示摘要的地方添加如下代码即可:

以上是摘要

以下是余下全文

文章中插入图片

使用markdown写文章,插入图片的格式为![](链接地址),这里要说的是链接地址怎么写。对于hexo,使用本地路径:在/source目录下新建一个img文件夹,将图片放入该文件夹下,插入图片时链接即为/img/图片名称。

发布博客

这里的发布也是十分简单的,首先在github上创建名为yourname.github.io的repo,接着修改_config.yml中的deploy字段,最后执行hexo d(前提是你已经在github上添加了你本机的ssh key),OK,现在通过yourname.github.io已经可以访问你的博客了。

如果是博客主页以github项目的方式创建,分支选择gh-pages。

deploy:
type: git
repo: [email protected]:yourname/yourname.github.io.git
or
repo: https://github.com/yourname/yourname.github.io.git
branch: master

或 多个平台同时发布

deploy:
type: git
repo:
  github: https://github.com/yourname/yourname.github.io.git,master
  coding: https://coding.net/yourname/yourname.git,gh-pages

version 3开始, type类型改为 git ,同时,需要安装 hexo-deployer-git 插件.

npm install hexo-deployer-git --save

Hexo使用

init 初始化博客

hexo init [folder]

如果目录不存在,将设置初始化当前目录

new 创建新文章

hexo new [layout] 
</code></pre> 
 <p>默认layout是post</p> 
 <h3>generate 生成静态网页文件</h3> 
 <pre><code class="cmd">hexo generate
</code></pre> 
 <h3>publish 发布草稿</h3> 
 <pre><code class="cmd">hexo publish [layout] <filename>
</code></pre> 
 <h3>server 启动本地服务</h3> 
 <pre><code class="cmd">hexo server
</code></pre> 
 <p>搭建本地server,进行文章预览调试。<br> 浏览器输入http://localhost:4000 就可以看到效果。</p> 
 <h3>deploy 发布博客</h3> 
 <pre><code class="cmd">hexo deploy
</code></pre> 
 <h3>clean 清除缓存</h3> 
 <pre><code class="cmd">hexo clean
</code></pre> 
 <p>清除缓存文件:Cleans the cache file (db.json) and generated files (public).</p> 
 <h3>list 显示博客结构</h3> 
 <pre><code class="cmd">hexo list route
</code></pre> 
 <p>列出生成的所有博客文件路径</p> 
 <h3>常用命令</h3> 
 <p>Hexo现在支持更加简单的命令格式了,比如:</p> 
 <blockquote> 
  <p>hexo n == hexo new<br> hexo g == hexo generate<br> hexo p == hexo publish<br> hexo s == hexo server<br> hexo d == hexo deploy<br> 发布博客命令:<br> hexo g -d<br> 或<br> hexo d -g</p> 
 </blockquote> 
 <p>参考:</p> 
 <ul> 
  <li>hexo.io</li> 
  <li>hexo on github</li> 
  <li>hexo你的博客</li> 
 </ul> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1275955748035117056"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Hexo搭建静态个人博客)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1903480876642136064.htm"
                           title="【Docker】搭建实用的内网穿透工具 - FRP" target="_blank">【Docker】搭建实用的内网穿透工具 - FRP</a>
                        <span class="text-muted">UPToZ</span>
<a class="tag" taget="_blank" href="/search/%E7%BE%A4%E6%99%96Docker/1.htm">群晖Docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>前言本教程基于群晖的NAS设备DS423+的docker功能进行搭建FRP的客户端,DSM版本为7.2.1-69057Update5。采用香港机Debian12系统的服务器来安装FRP的服务端作为演示。服务器购买地址:https://www.crash.work/aff/AQXGDNKY简介FRP(FastReverseProxy)是一个高性能的反向代理应用,它可以帮助您将内网服务通过反向代理暴露</div>
                    </li>
                    <li><a href="/article/1903451763718025216.htm"
                           title="给wordpress用户个人资料添加自定义字段" target="_blank">给wordpress用户个人资料添加自定义字段</a>
                        <span class="text-muted">wodrpress资源分享</span>
<a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a><a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a>
                        <div>在制作个人博客时,有时会需要显示作者的QQ或微信,下面这段代码就可以实现这个功能。functionwdp_new_contactmethods($contactmethods){//AddQQ$contactmethods['qq']='qq';//addWeiXin$contactmethods['weixin']='weixin';return$contactmethods;}add_filt</div>
                    </li>
                    <li><a href="/article/1903447352526565376.htm"
                           title="WebGL开发:BabylonJS从入门到精通(下卷)" target="_blank">WebGL开发:BabylonJS从入门到精通(下卷)</a>
                        <span class="text-muted">莲华君</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%9D%83%E5%A8%81%E6%95%99%E7%A8%8B%E5%90%88%E9%9B%86/1.htm">前端权威教程合集</a><a class="tag" taget="_blank" href="/search/WebGL%E7%B3%BB%E7%BB%9F%E5%8C%96%E5%AD%A6%E4%B9%A0/1.htm">WebGL系统化学习</a><a class="tag" taget="_blank" href="/search/webgl/1.htm">webgl</a>
                        <div>全书卷目:WebGL开发:BabylonJS从入门到精通(上卷)WebGL开发:BabylonJS从入门到精通(下卷)目录第一部分:基础篇——构建3D世界的基石第一章:BabylonJS概述与环境搭建什么是BabylonJS:WebGL宇宙的创世引擎BabylonJS的历史与优势:开源利剑的进化史安装与配置开发环境:3D工匠的工坊搭建术使用BabylonJSPlayground与本地开发环境浏览器</div>
                    </li>
                    <li><a href="/article/1903438786012966912.htm"
                           title="2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷10(公有云)" target="_blank">2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷10(公有云)</a>
                        <span class="text-muted">忘川_ydy</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/openstack/1.htm">openstack</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/ansible/1.htm">ansible</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a>
                        <div>#需要资源(软件包及镜像)或有问题的,可私聊博主!!!#需要资源(软件包及镜像)或有问题的,可私聊博主!!!#需要资源(软件包及镜像)或有问题的,可私聊博主!!!模块三公有云(40分)企业选择国内公有云提供商,选择云主机、云网络、云硬盘、云防火墙、负载均衡等服务,可创建Web服务,共享文件存储服务,数据库服务,数据库集群等服务。搭建基于云原生的DevOps相关服务,构建云、边、端一体化的边缘计算系</div>
                    </li>
                    <li><a href="/article/1903437142302978048.htm"
                           title="OpenHarmony 开源硬件学习全指南:从入门到实战" target="_blank">OpenHarmony 开源硬件学习全指南:从入门到实战</a>
                        <span class="text-muted">琢磨先生David</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a>
                        <div>OpenHarmony开源硬件学习全指南:从入门到实战随着万物互联时代的到来,OpenHarmony作为面向全场景的开源分布式操作系统,正逐步成为智能硬件开发的重要技术底座。本文将系统性地解析OpenHarmony开源硬件的学习路径、开发工具链及行业实践方案,为开发者提供从环境搭建到项目落地的完整指引。一、构建开发环境:混合平台的智慧选择OpenHarmony采用Windows与Linux混合开发</div>
                    </li>
                    <li><a href="/article/1903397678373466112.htm"
                           title="shell 脚本搭建apache" target="_blank">shell 脚本搭建apache</a>
                        <span class="text-muted">好多知识都想学</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a>
                        <div>#!/bin/bash#SetApacheversiontoinstall##author:yuan#检查外网连接echo"检查外网连接..."pingwww.baidu.com-c3>/dev/null2>&1if[$?-eq0];then  echo"外网通讯良好!"else  echo"网络连接失败,请检查你的网络设置!"  exit1fisleep5#检查并安装APR库echo"检查并安装</div>
                    </li>
                    <li><a href="/article/1903361868383186944.htm"
                           title="编程行业必备!12个热门AI工具帮你写代码~" target="_blank">编程行业必备!12个热门AI工具帮你写代码~</a>
                        <span class="text-muted">DevSecOps选型指南</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E4%BE%9B%E5%BA%94%E9%93%BE%E5%AE%89%E5%85%A8%E5%B7%A5%E5%85%B7/1.htm">软件供应链安全工具</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91%E5%8A%A9%E6%89%8B/1.htm">代码安全开发助手</a><a class="tag" taget="_blank" href="/search/SAST/1.htm">SAST</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>到今年,AI编程工具的发展已经非常成熟了,它们可以极大地提高开发效率,帮助程序员解决复杂问题,并优化代码质量。拒绝废话,今天给大家推荐12款AI编程工具!1悬镜安全灵脉AI开发安全卫士灵脉AI开发安全卫士是基于多模智能引擎的新一代静态代码安全扫描产品,通过自动化审查流程来定位潜在缺陷、提升审计效率和代码质量,并显著减少手动审查所需的时间和精力。该平台利用人工智能技术,提供逐行的代码反馈,建议改进和</div>
                    </li>
                    <li><a href="/article/1903359345157009408.htm"
                           title="macos安装python-nodejs_MAC平台基于Python Appium环境搭建过程图解" target="_blank">macos安装python-nodejs_MAC平台基于Python Appium环境搭建过程图解</a>
                        <span class="text-muted">weixin_39612038</span>

                        <div>前言最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程。一、环境和所需软件概述1.1目前环境:MacOS(10.15.3)1.2所需软件:jdk-8u91-macosx-x64.dmg(jdk1.8及以上版本应该都可以)android-sdk_r24.4.1-macosx.zip(m</div>
                    </li>
                    <li><a href="/article/1903356951379636224.htm"
                           title="redis搭建一主一从+keepalived(虚拟IP)实现高可用" target="_blank">redis搭建一主一从+keepalived(虚拟IP)实现高可用</a>
                        <span class="text-muted">qq_36984017</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/keepalived/1.htm">keepalived</a><a class="tag" taget="_blank" href="/search/%E4%B8%BB%E4%BB%8E/1.htm">主从</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%8F%AF%E7%94%A8/1.htm">高可用</a>
                        <div>redis搭建一主一从+keepalived(虚拟IP)实现高可用前提有两台机器:如10.50.3.14110.50.3.142,虚拟ip如:10.50.3.170安装redis(两台机器执行):#启用Remi仓库(CentOS7)sudoyuminstall-yhttps://rpms.remirepo.net/enterprise/remi-release-7.rpm#安装Redis6.xsu</div>
                    </li>
                    <li><a href="/article/1903340689668763648.htm"
                           title="hadoop3.x--搭建hadoop高可用集群(HA模式)" target="_blank">hadoop3.x--搭建hadoop高可用集群(HA模式)</a>
                        <span class="text-muted">运维小菜</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hdfs/1.htm">hdfs</a>
                        <div>hadoop高可用集群(HA模式)一、安装前1.集群规划2.安装前配置3.安装jdk与hadoop4.克隆虚拟机与互信配置5.搭建zookeeper集群二、HDFS1.配置hdfs2.初始化启动hdfs集群三、MapReduce与Yarn1.配置MapReduce2.配置yarn3.启动yarn四、验证1.查看java进程2.hdfs与yarn前台页面一、安装前1.集群规划hostnameipNN</div>
                    </li>
                    <li><a href="/article/1903336266699698176.htm"
                           title="219.性能优化-内存优化-内存泄漏-本质原因:已经无用的对象未及时回收-非静态内部类" target="_blank">219.性能优化-内存优化-内存泄漏-本质原因:已经无用的对象未及时回收-非静态内部类</a>
                        <span class="text-muted">我也念过晚霞</span>
<a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a>
                        <div>━━━━━━━━━━━━━━━━━━━━━━【第一部分:内存泄漏背景与“无用对象未及时回收”的根本原因】在Android开发中,内存资源十分有限,尤其是在手机、平板等设备上。内存泄漏就是指那些本应在不再被使用后被垃圾回收器回收,但由于某种原因任然被引用而无法释放的对象。随着内存中这些无用对象的不断累积,应用会产生以下问题:内存占用逐渐上升,导致应用响应变慢;系统频繁触发垃圾回收(GC),造成卡顿现</div>
                    </li>
                    <li><a href="/article/1903330965762142208.htm"
                           title="webRTC入门示例demo" target="_blank">webRTC入门示例demo</a>
                        <span class="text-muted">周末的音视频</span>
<a class="tag" taget="_blank" href="/search/webRTC/1.htm">webRTC</a><a class="tag" taget="_blank" href="/search/webrtc/1.htm">webrtc</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a>
                        <div>本文主要阐述如何运行webRTC的官方入门示例demo,并简单搭建本地局域网服务器用于测试,可以使得两个手机端可以进行视频通话,感受webRTC的核心功能。一、背景1、webRTC的官方APP的demo下载路径如下:https://github.com/webrtc/apprtcWebRTC官方demo的主代码库里并不包含AndroidStudio工程,因此很多开发人员都不知道如何运行Androi</div>
                    </li>
                    <li><a href="/article/1903329825448325120.htm"
                           title="从零到一:Redis Cluster部署配置全流程详解,轻松搞定高可用分布式缓存!" target="_blank">从零到一:Redis Cluster部署配置全流程详解,轻松搞定高可用分布式缓存!</a>
                        <span class="text-muted">IT成长日记</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8A%80%E6%9C%AF%E8%A7%A3%E6%9E%90%E4%B8%8E%E5%BA%94%E7%94%A8%E5%AE%9E%E8%B7%B5/1.htm">数据库技术解析与应用实践</a><a class="tag" taget="_blank" href="/search/Redis/1.htm">Redis</a><a class="tag" taget="_blank" href="/search/Cluster/1.htm">Cluster</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4/1.htm">集群</a>
                        <div>RedisCluster是Redis官方提供的分布式解决方案,它通过数据分片(Sharding)和主从复制(Replication)来实现高可用性和横向扩展。RedisCluster能够在多个节点之间自动分配数据,并且在节点故障时自动进行故障转移,确保系统的高可用性。本文将详细介绍RedisCluster的部署和配置全流程,帮助读者快速搭建一个高可用的Redis集群。1RedisCluster概述</div>
                    </li>
                    <li><a href="/article/1903320112107155456.htm"
                           title="WPF从初学者到专家:实战项目经验分享与总结" target="_blank">WPF从初学者到专家:实战项目经验分享与总结</a>
                        <span class="text-muted">xcLeigh</span>
<a class="tag" taget="_blank" href="/search/WPF/1.htm">WPF</a><a class="tag" taget="_blank" href="/search/%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">从入门到精通</a><a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a>
                        <div>WPF从初学者到专家:实战项目经验分享与总结一、前言二、WPF基础概念与入门2.1什么是WPF2.2XAML基础2.3数据绑定基础三、第一个WPF项目:简单的待办事项列表3.1项目需求分析3.2项目搭建与界面设计3.3业务逻辑实现四、中级项目:音乐播放器应用4.1项目需求分析4.2界面设计与布局4.3多媒体功能实现五、高级项目:企业级办公自动化平台(回顾与进阶)5.1项目回顾与优化5.2引入MVV</div>
                    </li>
                    <li><a href="/article/1903301826799792128.htm"
                           title="网页版 123 分身数字人源码搭建,OEM贴牌" target="_blank">网页版 123 分身数字人源码搭建,OEM贴牌</a>
                        <span class="text-muted">18538162800=余</span>
<a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/%E7%9F%A9%E9%98%B5/1.htm">矩阵</a>
                        <div>在数字化时代的浪潮下,数字人技术蓬勃发展,网页版123分身数字人源码搭建为众多开发者和企业提供了实现个性化数字人应用的可能。本文将深入探讨其技术开发过程,从底层架构到关键技术实现,全方位解析如何构建一个功能强大的网页版数字人系统。技术架构设计前端展示层HTML5与CSS3:构建数字人的可视化界面,实现流畅的动画效果和交互元素。利用CSS3的过渡、动画属性,为数字人的动作、表情变化提供细腻的视觉呈现</div>
                    </li>
                    <li><a href="/article/1903300311288705024.htm"
                           title="从零搭建Pytorch模型教程(七)单机多卡和多机多卡训练" target="_blank">从零搭建Pytorch模型教程(七)单机多卡和多机多卡训练</a>
                        <span class="text-muted">AI大模型探索者</span>
<a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a>
                        <div>前言本文主要介绍单机多卡训练和多机多卡训练的实现方法和一些注意事项。其中单机多卡训练介绍两种实现方式,一种是DP方式,一种是DDP方式。多机多卡训练主要介绍两种实现方式,一种是通过horovod库,一种是DDP方式。单机单卡训练前面我们已经介绍了一个完整的训练流程,但这里由于要介绍单机多卡和多机多卡训练的代码,为了能更好地理解它们之间的区别,这里先放一个单机单卡也就是一般情况下的代码流程。impo</div>
                    </li>
                    <li><a href="/article/1903289721375748096.htm"
                           title="【广告架构day1】爱奇艺广告系统的演进之路:实践中的一些经验" target="_blank">【广告架构day1】爱奇艺广告系统的演进之路:实践中的一些经验</a>
                        <span class="text-muted">软件真理与光</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%9A%E5%8A%A1%E6%8A%80%E6%9C%AF/1.htm">业务技术</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>本文来自爱奇艺的分享孙立伟。近年来爱奇艺快速发展,优质内容层出不穷,爱奇艺广告也随之发展和壮大,广告在线服务同时服务于品牌、中小、DSP等不同客户,形成了可以满足不同需求类型的较为完善的商业广告变现布局,广告库存涵盖视频、信息流、泡泡社交(爱奇艺的社交平台)和开机屏等多种场景。爱奇艺效果广告是2015年开始全新搭建的一个广告投放平台,随着信息流业务的增长,整个投放平台也经历了一次大的架构调整和多次</div>
                    </li>
                    <li><a href="/article/1903287448134283264.htm"
                           title="java常用排序方法集合sort" target="_blank">java常用排序方法集合sort</a>
                        <span class="text-muted">吗喽对你问好</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a>
                        <div>1.Arrays.sortArrays.sort是用于对数组进行排序的静态方法,位于java.util.Arrays类中。特点:只能用于数组(包括基本类型数组和对象数组)。对基本类型数组(如int[],double[]等)使用快速排序(Dual-PivotQuicksort)。对对象数组(如Integer[],String[]等)使用归并排序(TimSort)。排序是原地进行的(即直接修改原数组)</div>
                    </li>
                    <li><a href="/article/1903286944188657664.htm"
                           title="2020年全国职业院校技能大赛改革试点赛高职组“云计算”竞赛赛卷" target="_blank">2020年全国职业院校技能大赛改革试点赛高职组“云计算”竞赛赛卷</a>
                        <span class="text-muted">春生黎至1005</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97%E5%85%A8%E5%9B%BD%E8%81%8C%E4%B8%9A%E6%8A%80%E8%83%BD%E7%AB%9E%E8%B5%9B%E6%A0%B7%E9%A2%98/1.htm">云计算全国职业技能竞赛样题</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a>
                        <div>2020年全国职业院校技能大赛改革试点赛高职组“云计算”竞赛赛卷第一场次题目:OpenStack平台部署与运维某企业拟使用OpenStack搭建一个企业云平台,以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等管理。系统架构如图1所示,IP地址规划如表1所示。图1系统架构图表1IP地址规划设备名称主机名接口IP地址说明云服务器1Controllereth0192.168.x.10/24</div>
                    </li>
                    <li><a href="/article/1903286941667880960.htm"
                           title="云计算赛题私有云服务搭建题目" target="_blank">云计算赛题私有云服务搭建题目</a>
                        <span class="text-muted">春生黎至1005</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97%E5%85%A8%E5%9B%BD%E8%81%8C%E4%B8%9A%E6%8A%80%E8%83%BD%E7%AB%9E%E8%B5%9B%E6%A0%B7%E9%A2%98/1.htm">云计算全国职业技能竞赛样题</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E7%A7%81%E6%9C%89%E4%BA%91/1.htm">私有云</a>
                        <div>【任务1】私有云服务搭建[5分]【题目1】1.1.1基础环境配置[0.2分]1.控制节点主机名为controller,设置计算节点主机名为compute;2.hosts文件将IP地址映射为主机名。使用提供的用户名密码,登录提供的OpenStack私有云平台,在当前租户下,使用CentOS7.9镜像,创建两台云主机,云主机类型使用4vCPU/12G/100G_50G类型。当前租户下默认存在一张网卡,</div>
                    </li>
                    <li><a href="/article/1903280005874511872.htm"
                           title="TensorFlow和Pytorch在功能上的区别以及优势" target="_blank">TensorFlow和Pytorch在功能上的区别以及优势</a>
                        <span class="text-muted">Honeysea_70</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/tensorflow/1.htm">tensorflow</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>功能上的区别1.计算图TensorFlow:使用静态计算图(StaticGraph)。在运行模型之前,需要先构建完整的计算图,然后通过会话(Session)运行图。优点是性能优化更高效,适合大规模分布式训练和生产环境部署。缺点是调试相对复杂,因为计算图的构建和运行是分离的。PyTorch:使用动态计算图(DynamicGraph)。计算图是动态构建和执行的,每次迭代都会重新构建图。优点是调试方便,</div>
                    </li>
                    <li><a href="/article/1903259630012788736.htm"
                           title="SvelteKit 最新中文文档教程(8)—— 部署 Node 服务端" target="_blank">SvelteKit 最新中文文档教程(8)—— 部署 Node 服务端</a>
                        <span class="text-muted"></span>

                        <div>前言Svelte,一个语法简洁、入门容易,面向未来的前端框架。从Svelte诞生之初,就备受开发者的喜爱,根据统计,从2019年到2024年,连续6年一直是开发者最感兴趣的前端框架No.1:Svelte以其独特的编译时优化机制著称,具有轻量级、高性能、易上手等特性,非常适合构建轻量级Web项目。为了帮助大家学习Svelte,我同时搭建了Svelte最新的中文文档站点。如果需要进阶学习,也可以入手我</div>
                    </li>
                    <li><a href="/article/1903253127675572224.htm"
                           title="python:@classmethod" target="_blank">python:@classmethod</a>
                        <span class="text-muted">zcxvdzv</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>python提供了@classmethod和@staticmethod来定义静态方法1、实例方法,该实例属于对象,该方法的第一个参数是当前实例,拥有当前类以及实例的所有特性。2、@classmethod类方法,该实例属于类,该方法的第一个参数是当前类,可以对类做一些处理,如果一个静态方法和类有关但是和实例无关,那么使用该方法。3、@staticmethod静态方法,该实例属于类,但该方法没有参数,</div>
                    </li>
                    <li><a href="/article/1903250858812960768.htm"
                           title="《Armv8/armv9架构入门指南》-【第十四章】多核处理器" target="_blank">《Armv8/armv9架构入门指南》-【第十四章】多核处理器</a>
                        <span class="text-muted">Arm精选</span>
<a class="tag" taget="_blank" href="/search/ARM-TEE-Android/1.htm">ARM-TEE-Android</a><a class="tag" taget="_blank" href="/search/armv8/1.htm">armv8</a><a class="tag" taget="_blank" href="/search/armv9/1.htm">armv9</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E6%A0%B8%E5%A4%84%E7%90%86/1.htm">多核处理</a><a class="tag" taget="_blank" href="/search/DSU/1.htm">DSU</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a>
                        <div>快速链接:.ARMv8/ARMv9架构入门到精通-[目录]付费专栏-付费课程【购买须知】:联系方式-加入交流群----联系方式-加入交流群个人博客笔记导读目录(全部)</div>
                    </li>
                    <li><a href="/article/1903244930407526400.htm"
                           title="Deepseek-R1-Distill-Llama-8B + Unsloth 中文医疗数据微调实战" target="_blank">Deepseek-R1-Distill-Llama-8B + Unsloth 中文医疗数据微调实战</a>
                        <span class="text-muted">LuckyAnJo</span>
<a class="tag" taget="_blank" href="/search/LLM%E7%9B%B8%E5%85%B3/1.htm">LLM相关</a><a class="tag" taget="_blank" href="/search/llama/1.htm">llama</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>内容参考至博客与Bin_Nong1.环境搭建主要依赖的库(我的版本):torch==2.5.1unsloth==2025.2.15trl==0.15.2transformers==4.49.0datasets=3.3.1wandb==0.19.62.数据准备-medical_o1_sft_Chinese经过gpt-o1的包含cot(思考过程)的中文医疗问答数据,格式与内容如下:"Question"</div>
                    </li>
                    <li><a href="/article/1903243667636809728.htm"
                           title="光影香江聚四海,蓝陵科技扬帆数字内容新蓝海" target="_blank">光影香江聚四海,蓝陵科技扬帆数字内容新蓝海</a>
                        <span class="text-muted">LhcyyVSO</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>3月20日,第29届香港国际影视展(FILMART)圆满收官,这场亚洲顶级行业盛会吸引了34个国家和地区逾760家机构参展,搭建起全球影视产业深度对话的桥梁。蓝陵科技携三大创新数字解决方案惊艳亮相,与各国行业领袖共探影视工业化转型路径,开启文化科技出海新篇章。数字基建赋能构建全球合作生态在1B-D17展区,蓝陵科技通过影视动漫渲染、vLive虚拟直播、AI跨境电商直播数字人三大技术矩阵,向国际客商</div>
                    </li>
                    <li><a href="/article/1903219811350016000.htm"
                           title="嵌入式硬件设计 — 智能设备背后的隐形架构大师" target="_blank">嵌入式硬件设计 — 智能设备背后的隐形架构大师</a>
                        <span class="text-muted">m0_74825238</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                        <div>目录引言?一、嵌入式硬件设计概述(一)需求分析(二)硬件选型(三)电路设计(四)PCB制作与焊接(五)硬件调试与测试(六)软件移植与开发二、嵌入式硬件选型(一)微控制器(MCU)/微处理器(MPU)(二)存储器(三)传感器与执行器(四)电源管理芯片(五)通信接口芯片三、嵌入式硬件代码开发(一)开发环境搭建(二)底层驱动程序开发引言嵌入式系统已经渗透到我们生活的方方面面,从智能手机、智能家居到工业自</div>
                    </li>
                    <li><a href="/article/1903209472474542080.htm"
                           title="Kotlin代码示例及详细解析(Kotlin 1.3.11)" target="_blank">Kotlin代码示例及详细解析(Kotlin 1.3.11)</a>
                        <span class="text-muted">淮山2</span>
<a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a>
                        <div>//Kotlin1.3.11编译器版本//无包声明//1.基础变量声明//声明实例变量AAA1,类型为Int,初始值为0,类似C语言先声明后初始化的习惯varAAA1:Int=0//声明实例变量AAA2,类型为Double,初始值为0.0varAAA2:Double=0.0//声明实例变量AAA3,类型为String,初始值为空字符串varAAA3:String=""//2.静态变量声明//声明静</div>
                    </li>
                    <li><a href="/article/1903205689669513216.htm"
                           title="本地部署deepseek-r1:14b 批量调用 Python调用本地deepseek-r1:14b实现对本地数据库的AI管理" target="_blank">本地部署deepseek-r1:14b 批量调用 Python调用本地deepseek-r1:14b实现对本地数据库的AI管理</a>
                        <span class="text-muted">朴拙Python交易猿</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>这篇文章主要为大家详细介绍了Python如何基于DeepSeek模型,调用本地deepseek-r1:14b实现对本地数据库的AI管理场景描述基于DeepSeek模型,实现对本地数据库的AI管理。实现思路1、本地python+flask搭建个WEB,配置数据源。2、通过DeepSeek模型根据用户输入的文字需求,自动生成SQL语句。3、通过SQL执行按钮,实现对数据库的增删改查。模型服务方法1启动</div>
                    </li>
                    <li><a href="/article/1903202408071229440.htm"
                           title="VUE中的组件加载方式" target="_blank">VUE中的组件加载方式</a>
                        <span class="text-muted">catino</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>加载方式有哪些,及如何进行选择常规的静态引入是在组件初始化时就加载所有依赖的组件,而懒加载则是等到组件需要被渲染的时候才加载。对于大型应用,可能会有很多组件,如果一开始都加载,可能会影响首屏加载时间。如果某些组件在首屏不需要,比如弹窗或者标签页里的内容,那么懒加载会更好,减少初始加载时间,实现时使用动态导入和异步组件,同时注意处理加载状态和错误处理。。反之,如果组件在页面初始化时就必须显示,那么静</div>
                    </li>
                                <li><a href="/article/43.htm"
                                       title="集合框架" target="_blank">集合框架</a>
                                    <span class="text-muted">天子之骄</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E5%90%88%E6%A1%86%E6%9E%B6/1.htm">集合框架</a>
                                    <div>   集合框架 
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。 
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。 
  
简单介绍: 
  
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi</div>
                                </li>
                                <li><a href="/article/170.htm"
                                       title="Table Driven(表驱动)方法实例" target="_blank">Table Driven(表驱动)方法实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/Table+Driven/1.htm">Table Driven</a><a class="tag" taget="_blank" href="/search/%E8%A1%A8%E9%A9%B1%E5%8A%A8/1.htm">表驱动</a>
                                    <div>实例一:   
/**
 * 驾驶人年龄段
 * 保险行业,会对驾驶人的年龄做年龄段的区分判断
 * 驾驶人年龄段:01-[18,25);02-[25,30);03-[30-35);04-[35,40);05-[40,45);06-[45,50);07-[50-55);08-[55,+∞)
 */
public class AgePeriodTest {

    //if...el</div>
                                </li>
                                <li><a href="/article/297.htm"
                                       title="Jquery 总结" target="_blank">Jquery 总结</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/jquery%E6%96%B9%E6%B3%95/1.htm">jquery方法</a>
                                    <div>1.$.trim方法用于移除字符串头部和尾部多余的空格。如:$.trim('   Hello   ') // Hello2.$.contains方法返回一个布尔值,表示某个DOM元素(第二个参数)是否为另一个DOM元素(第一个参数)的下级元素。如:$.contains(document.documentElement, document.body); 3.$</div>
                                </li>
                                <li><a href="/article/424.htm"
                                       title="面向对象概念的提出" target="_blank">面向对象概念的提出</a>
                                    <span class="text-muted">麦田的设计者</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/1.htm">面向对象</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E5%90%91%E8%BF%87%E7%A8%8B/1.htm">面向过程</a>
                                    <div>   
     面向对象中,一切都是由对象展开的,组织代码,封装数据。 
  在台湾面向对象被翻译为了面向物件编程,这充分说明了,这种编程强调实体。 
  
    下面就结合编程语言的发展史,聊一聊面向过程和面向对象。 
     c语言由贝尔实</div>
                                </li>
                                <li><a href="/article/551.htm"
                                       title="linux网口绑定" target="_blank">linux网口绑定</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>刚在一台IBM Xserver服务器上装了RedHat Linux Enterprise AS 4,为了提高网络的可靠性配置双网卡绑定。 
 
一、环境描述 
我的RedHat Linux Enterprise AS 4安装双口的Intel千兆网卡,通过ifconfig -a命令看到eth0和eth1两张网卡。 
 
二、双网卡绑定步骤: 
2.1 修改/etc/sysconfig/network</div>
                                </li>
                                <li><a href="/article/678.htm"
                                       title="XML基础语法" target="_blank">XML基础语法</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>一、什么是XML? 
XML全称是Extensible Markup Language,可扩展标记语言。很类似HTML。XML的目的是传输数据而非显示数据。XML的标签没有被预定义,你需要自行定义标签。XML被设计为具有自我描述性。是W3C的推荐标准。 
  
二、为什么学习XML? 
用来解决程序间数据传输的格式问题 
做配置文件 
充当小型数据库 
  
三、XML与HTM</div>
                                </li>
                                <li><a href="/article/805.htm"
                                       title="为网页添加自己喜欢的字体" target="_blank">为网页添加自己喜欢的字体</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%97%E4%BD%93+%E7%A7%92%E8%A1%A8+css/1.htm">字体 秒表 css</a>
                                    <div>@font-face {
			font-family: miaobiao;//定义字体名字
			font-style:  normal;
		    font-weight: 400;
			src: url('font/DS-DIGI-e.eot');//字体文件
		} 
使用: 
 
<label style="font-size:18px;font-famil</div>
                                </li>
                                <li><a href="/article/932.htm"
                                       title="redis范围查询应用-查找IP所在城市" target="_blank">redis范围查询应用-查找IP所在城市</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a>
                                    <div>原文地址: 
http://www.tuicool.com/articles/BrURbqV 
需求 
 
根据IP找到对应的城市 
 
原来的解决方案 
 
oracle表(ip_country): 
 
 
查询IP对应的城市: 
 
1.把a.b.c.d这样格式的IP转为一个数字,例如为把210.21.224.34转为3524648994 
 
2. select city from ip_</div>
                                </li>
                                <li><a href="/article/1059.htm"
                                       title="输入两个整数, 计算百分比" target="_blank">输入两个整数, 计算百分比</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>	public static String getPercent(int x, int total){
		 
		double result=(x*1.0)/(total*1.0);
		System.out.println(result);
		
		
		DecimalFormat df1=new DecimalFormat("0.0000%");
		
</div>
                                </li>
                                <li><a href="/article/1186.htm"
                                       title="百合——————>怎么学习计算机语言" target="_blank">百合——————>怎么学习计算机语言</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java+%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">java 移动开发</a>
                                    <div>    对于一个从没有接触过计算机语言的人来说,一上来就学面向对象,就算是心里上面接受的了,灵魂我觉得也应该是跟不上的,学不好是很正常的现象,计算机语言老师讲的再多,你在课堂上面跟着老师听的再多,我觉得你应该还是学不会的,最主要的原因是你根本没有想过该怎么来学习计算机编程语言,记得大一的时候金山网络公司在湖大招聘我们学校一个才来大学几天的被金山网络录取,一个刚到大学的就能够去和</div>
                                </li>
                                <li><a href="/article/1313.htm"
                                       title="linux下tomcat开机自启动" target="_blank">linux下tomcat开机自启动</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                                    <div>方法一: 
修改Tomcat/bin/startup.sh 为: 
export JAVA_HOME=/home/java1.6.0_27
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_H</div>
                                </li>
                                <li><a href="/article/1440.htm"
                                       title="spring aop实例" target="_blank">spring aop实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a>
                                    <div>1.AdviceMethods.java 
package com.bijian.study.spring.aop.schema;

public class AdviceMethods {

	public void preGreeting() {
		System.out.println("--how are you!--");
	}
} 
2.beans.x</div>
                                </li>
                                <li><a href="/article/1567.htm"
                                       title="[Gson八]GsonBuilder序列化和反序列化选项enableComplexMapKeySerialization" target="_blank">[Gson八]GsonBuilder序列化和反序列化选项enableComplexMapKeySerialization</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/serialization/1.htm">serialization</a>
                                    <div>enableComplexMapKeySerialization配置项的含义 
 Gson在序列化Map时,默认情况下,是调用Key的toString方法得到它的JSON字符串的Key,对于简单类型和字符串类型,这没有问题,但是对于复杂数据对象,如果对象没有覆写toString方法,那么默认的toString方法将得到这个对象的Hash地址。 
  
GsonBuilder用于</div>
                                </li>
                                <li><a href="/article/1694.htm"
                                       title="【Spark九十一】Spark Streaming整合Kafka一些值得关注的问题" target="_blank">【Spark九十一】Spark Streaming整合Kafka一些值得关注的问题</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a>
                                    <div>包括Spark Streaming在内的实时计算数据可靠性指的是三种级别: 
1. At most once,数据最多只能接受一次,有可能接收不到 
2. At least once, 数据至少接受一次,有可能重复接收 
3. Exactly once  数据保证被处理并且只被处理一次, 
  
具体的多读几遍http://spark.apache.org/docs/lates</div>
                                </li>
                                <li><a href="/article/1821.htm"
                                       title="shell脚本批量检测端口是否被占用脚本" target="_blank">shell脚本批量检测端口是否被占用脚本</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>#!/bin/bash
cat ports   |while read line
do#nc -z  -w 10  $line

nc -z -w 2 $line 58422>/dev/null2>&1if[ $?-eq 0]then
echo $line:ok
else
echo $line:fail
fi

done

这里的ports 既可以是文件</div>
                                </li>
                                <li><a href="/article/1948.htm"
                                       title="java-2.设计包含min函数的栈" target="_blank">java-2.设计包含min函数的栈</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>具体思路参见:http://zhedahht.blog.163.com/blog/static/25411174200712895228171/ 
 

import java.util.ArrayList;
import java.util.List;


public class MinStack {

	//maybe we can use origin array rathe</div>
                                </li>
                                <li><a href="/article/2075.htm"
                                       title="Netty源码学习-ChannelHandler" target="_blank">Netty源码学习-ChannelHandler</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a>
                                    <div> 
一般来说,“有状态”的ChannelHandler不应该是“共享”的,“无状态”的ChannelHandler则可“共享” 
例如ObjectEncoder是“共享”的, 但 ObjectDecoder 不是 
因为每一次调用decode方法时,可能数据未接收完全(incomplete), 
它与上一次decode时接收到的数据“累计”起来才有可能是完整的数据,是“有状态”的 
 
 

p</div>
                                </li>
                                <li><a href="/article/2202.htm"
                                       title="java生成随机数" target="_blank">java生成随机数</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>方法一: 
/** 
* 生成随机数 
* @author cngolon@126.com 
* @return 
*/ 
public synchronized static String getChargeSequenceNum(String pre){ 
StringBuffer sequenceNum = new StringBuffer(); 
Date dateTime = new D</div>
                                </li>
                                <li><a href="/article/2329.htm"
                                       title="POI读写海量数据" target="_blank">POI读写海量数据</a>
                                    <span class="text-muted">ctrain</span>
<a class="tag" taget="_blank" href="/search/%E6%B5%B7%E9%87%8F%E6%95%B0%E6%8D%AE/1.htm">海量数据</a>
                                    <div>import java.io.FileOutputStream; 
import java.io.OutputStream; 
 
import org.apache.poi.xssf.streaming.SXSSFRow; 
import org.apache.poi.xssf.streaming.SXSSFSheet; 
import org.apache.poi.xssf.streaming</div>
                                </li>
                                <li><a href="/article/2456.htm"
                                       title="mysql 日期格式化date_format详细使用" target="_blank">mysql 日期格式化date_format详细使用</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/date_format/1.htm">date_format</a><a class="tag" taget="_blank" href="/search/%E6%97%A5%E6%9C%9F%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2/1.htm">日期格式转换</a><a class="tag" taget="_blank" href="/search/%E6%97%A5%E6%9C%9F%E6%A0%BC%E5%BC%8F%E5%8C%96/1.htm">日期格式化</a>
                                    <div> 
 日期转换函数的详细使用说明 
   DATE_FORMAT(date,format) Formats the date value according to the format string. The following specifiers may be used in the format string. The&n</div>
                                </li>
                                <li><a href="/article/2583.htm"
                                       title="一个程序员分享8年的开发经验" target="_blank">一个程序员分享8年的开发经验</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a>
                                    <div>  
在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有8年的时间了,在这里在下想凭借自己的亲身经历,与大家一起探讨一下。 
明确入行的目的 
很多人干IT这一行都冲着“收入高”这一点的,因为只要学会一点HTML, DIV+CSS,要做一个页面开发人员并不是一件难事,而且做一个页面开发人员更容</div>
                                </li>
                                <li><a href="/article/2710.htm"
                                       title="android欢迎界面淡入淡出效果" target="_blank">android欢迎界面淡入淡出效果</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>很多Android应用一开始都会有一个欢迎界面,淡入淡出效果也是用得非常多的,下面来实现一下。 
主要代码如下: 
package com.myaibang.activity; 
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.CountDown</div>
                                </li>
                                <li><a href="/article/2837.htm"
                                       title="linux 复习笔记之常见压缩命令" target="_blank">linux 复习笔记之常见压缩命令</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/tar%E8%A7%A3%E5%8E%8B/1.htm">tar解压</a><a class="tag" taget="_blank" href="/search/linux%E7%B3%BB%E7%BB%9F%E5%B8%B8%E8%A7%81%E5%8E%8B%E7%BC%A9%E5%91%BD%E4%BB%A4/1.htm">linux系统常见压缩命令</a><a class="tag" taget="_blank" href="/search/linux%E5%8E%8B%E7%BC%A9%E5%91%BD%E4%BB%A4/1.htm">linux压缩命令</a><a class="tag" taget="_blank" href="/search/tar%E5%8E%8B%E7%BC%A9/1.htm">tar压缩</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2109693 
linux中常见压缩文件的拓展名 
*.gz   gzip程序压缩的文件
*.bz2  bzip程序压缩的文件
*.tar  tar程序打包的数据,没有经过压缩
*.tar.gz  tar程序打包后,并经过gzip程序压缩
*.tar.bz2 tar程序打包后,并经过bzip程序压缩
*.zi</div>
                                </li>
                                <li><a href="/article/2964.htm"
                                       title="Android 应用程序发送shell命令" target="_blank">Android 应用程序发送shell命令</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>项目中需要直接在APP中通过发送shell指令来控制lcd灯,其实按理说应该是方案公司在调好lcd灯驱动之后直接通过service送接口上来给APP,APP调用就可以控制了,这是正规流程,但我们项目的方案商用的mtk方案,方案公司又没人会改,只调好了驱动,让应用程序自己实现灯的控制,这不蛋疼嘛!!!! 
 
发就发吧! 
 
一、关于shell指令: 
我们知道,shell指令是Linux里面带的</div>
                                </li>
                                <li><a href="/article/3091.htm"
                                       title="java 无损读取文本文件" target="_blank">java 无损读取文本文件</a>
                                    <span class="text-muted">hw1287789687</span>
<a class="tag" taget="_blank" href="/search/%E8%AF%BB%E5%8F%96%E6%96%87%E4%BB%B6/1.htm">读取文件</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E6%8D%9F%E8%AF%BB%E5%8F%96/1.htm">无损读取</a><a class="tag" taget="_blank" href="/search/%E8%AF%BB%E5%8F%96%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6/1.htm">读取文本文件</a><a class="tag" taget="_blank" href="/search/charset/1.htm">charset</a>
                                    <div>java 如何无损读取文本文件呢? 
以下是有损的 
@Deprecated
	public static String getFullContent(File file, String charset) {
		BufferedReader reader = null;
		if (!file.exists()) {
			System.out.println("getFull</div>
                                </li>
                                <li><a href="/article/3218.htm"
                                       title="Firebase 相关文章索引" target="_blank">Firebase 相关文章索引</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/firebase/1.htm">firebase</a>
                                    <div>Awesome Firebase 
最近谷歌收购Firebase的新闻又将Firebase拉入了人们的视野,于是我做了这个 github 项目。 
Firebase 是一个数据同步的云服务,不同于 Dropbox 的「文件」,Firebase 同步的是「数据」,服务对象是网站开发者,帮助他们开发具有「实时」(Real-Time)特性的应用。 
开发者只需引用一个 API 库文件就可以使用标准 RE</div>
                                </li>
                                <li><a href="/article/3345.htm"
                                       title="C++学习重点" target="_blank">C++学习重点</a>
                                    <span class="text-muted">lx.asymmetric</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                                    <div>1.c++面向对象的三个特性:封装性,继承性以及多态性。 
  
2.标识符的命名规则:由字母和下划线开头,同时由字母、数字或下划线组成;不能与系统关键字重名。 
  
3.c++语言常量包括整型常量、浮点型常量、布尔常量、字符型常量和字符串性常量。 
  
4.运算符按其功能开以分为六类:算术运算符、位运算符、关系运算符、逻辑运算符、赋值运算符和条件运算符。 
&n</div>
                                </li>
                                <li><a href="/article/3472.htm"
                                       title="java bean和xml相互转换" target="_blank">java bean和xml相互转换</a>
                                    <span class="text-muted">q821424508</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/xml%E5%92%8Cbean%E8%BD%AC%E6%8D%A2/1.htm">xml和bean转换</a><a class="tag" taget="_blank" href="/search/java+bean%E5%92%8Cxml%E8%BD%AC%E6%8D%A2/1.htm">java bean和xml转换</a>
                                    <div>这几天在做微信公众号 
做的过程中想找个java bean转xml的工具,找了几个用着不知道是配置不好还是怎么回事,都会有一些问题, 
然后脑子一热谢了一个javabean和xml的转换的工具里,自己用着还行,虽然有一些约束吧 , 
还是贴出来记录一下  
  
  
顺便你提一下下,这个转换工具支持属性为集合、数组和非基本属性的对象。 
  
packag</div>
                                </li>
                                <li><a href="/article/3599.htm"
                                       title="C 语言初级 位运算" target="_blank">C 语言初级 位运算</a>
                                    <span class="text-muted">1140566087</span>
<a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>  第十章 位运算    1、位运算对象只能是整形或字符型数据,在VC6.0中int型数据占4个字节    2、位运算符:  运算符 作用  ~ 按位求反  << 左移  >> 右移  & 按位与  ^ 按位异或  | 按位或   他们的优先级从高到低;    3、位运算符的运算功能:  a、按位取反:  ~01001101 = 101</div>
                                </li>
                                <li><a href="/article/3726.htm"
                                       title="14点睛Spring4.1-脚本编程" target="_blank">14点睛Spring4.1-脚本编程</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a>
                                    <div>14.1 Scripting脚本编程 
 
 脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源码直接可运行; 
 如果我们经常需要修改的某些代码,每一次我们至少要进行编译,打包,重新部署的操作,步骤相当麻烦; 
 如果我们的应用不允许重启,这在现实的情况中也是很常见的; 
 在spring中使用脚本编程给上述的应用场景提供了解决方案,即动态加载bean; 
 spring支持脚本</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>