Zhiqim Kernel即知启蒙内核,是Zhiqim Framework的核心,负责工程的生命周期管理:包括工程开发和发布的目录结构管理、统一的配置规约、单多例服务接口定义、服务启动运行更新和销毁管理。并提供基础开发工具:包括工具类、日志类、线程池、JSON/XML编解析、HTTP客户端、时钟任务定时器等。

森中灵 最后提交于1月前 修改AnAlias为 String value();
README.md5KB
### 什么是“知启蒙内核”?
---------------------------------------
      “知启蒙内核”是Zhiqim Framework的核心,负责工程的生命周期管理:包括工程开发和发布的目录结构管理、统一的配置规约、单多例服务接口定义、服务启动运行更新和销毁管理。并提供基础开发工具:包括工具类、日志类、线程池、JSON/XML编解析、HTTP客户端、时钟任务定时器等。

<br>

### “知启蒙内核”有哪些优点? 
---------------------------------------
1、除要求JDK1.7+以外,没有其它依赖包。15年的坚持,值得信赖。<br>
2、非常棒的工程启动引导程序,工程目录结构和配置非常简单,支持对JAVA_HOME、进程名、最小最大内存等JVM参数配置。<br>
3、微服务,只需实现Service接口,配置到zhiqim.xml中即可,点击zhiqim.exe/zhiqim.lix(Linux)即运行。<br>
4、自带logging、线程池、JSON/XML编解器、HTTP客户端、时钟任务定时器、Strings/Validates等大量工具类,极大简化程序开发。<br>
5、配合Zhiqim Framework全家桶([知启蒙标记语言](https://gitee.com/zhiqim/zhiqim_zml)、[知启蒙数据库映射](https://gitee.com/zhiqim/zhiqim_orm)、[知启蒙WEB容器](https://gitee.com/zhiqim/zhiqim_httpd)、[知启蒙前端UI](https://gitee.com/zhiqim/zhiqim_ui)等等)更是如虎添翼,可以和Tomcat/spring/hibernate/MyBatis/struts/jQuery/bootstrap等说Bye-Bye了。<br>
6、最后**自荐一下**,比Spring更轻量、更齐全的J2EE框架 **zhiqim** 正式开源啦,不服来试用。

<br>

### 执行工程目录结构&nbsp;&nbsp;&nbsp;&nbsp;(<a href="https://zhiqim.org/download/zhiqim_example/v1.6.0/zhiqim_helloworld.zip">下载执行示例</a>)
---------------------------------------
![执行工程目录结构和说明](https://zhiqim.org/project/images/150856_37becf83_2103954.png "zhiqim_kenrel_readme_1.png")

<br>

### 简要配置说明
---------------------------------------
```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ZHIQIM-CONFIG PUBLIC "-//ZHIQIM //DTD Zhiqim-Config Configuration 1.5.0//EN" "http://zhiqim.org/xmldtds/zhiqim_config_1_5_0.dtd">
<zhiqim-config>

    <group id="boot" desc="系统启动引导配置">
        <item key="name" value="知启蒙内核" type="protected" desc="系统名称" />
        <item key="version" value="V1.6.0" type="protected" desc="系统版本" />
        <item key="port" value="50080" type="protected" desc="系统监听端口,用于启动监听和命令关闭工程" />
        <item key="home" value="d:/Java/jdk1.7.0_80/" type="protected" desc="JDK根目录,路径符统一顺斜杠,MAC系统下该配置无效" />
        <item key="process" value="zhiqim" type="protected" desc="使用的进程名,MAC系统下该配置无效" />
        <item key="args" value="-server -Xms64m -Xmx512m" type="protected" desc="JVM参数" />
    </group>

    <group id="service" desc="系统服务配置,有依赖时注意顺序,系统按顺序加载,按倒序销毁">
        <item key="helloworld" value="org.zhiqim.example.helloworld.Helloworld" type="protected" desc="Hello,World!服务"/>
    </group>
    
</zhiqim-config>
```

<br>

### 源码工程目录结构&nbsp;&nbsp;&nbsp;&nbsp;(<a href="https://zhiqim.org/download/zhiqim_example/v1.6.0/zhiqim_helloworld_v1.6.0.zip">下载源码示例</a>)
---------------------------------------
![源码工程目录结构和说明](https://zhiqim.org/project/images/151132_712f0a51_2103954.png "zhiqim_kernel_readme_2.png")


<br>


### HelloWorld.java
---------------------------------------
```
package org.zhiqim.example.helloworld;

import org.zhiqim.kernel.Servicer;
import org.zhiqim.kernel.logging.Log;
import org.zhiqim.kernel.logging.LogFactory;

/**
 * HelloWorld服务
 *
 * @version v1.0.0 @author zouzhigang 2016-12-21 新建与整理
 */
public class Helloworld extends Servicer implements Runnable
{
    private static final Log log = LogFactory.getLog(Helloworld.class);
    private Thread thread;
    
    @Override
    public boolean create() throws Exception
    {
        log.info("Hello, World! create!!!");
        
        thread = new Thread(this);
        thread.start();
        return true;
    }

    @Override
    public void run()
    {
        while (true)
        {
            try
            {
                Thread.sleep(1000);
                log.info("Hello, World! running...");
            }
            catch (InterruptedException e)
            {//线程中断退出
                break;
            }
        }
    }
    
    @Override
    public void destroy() throws Exception
    {
        log.info("Hello, World! destroy!!!");
        
        //通知线程状态
        thread.interrupt();
        thread = null;
        
        //关闭前停5秒,演示关闭时销毁操作
        log.info("5");
        Thread.sleep(1000);
        log.info("4");
        Thread.sleep(1000);
        log.info("3");
        Thread.sleep(1000);
        log.info("2");
        Thread.sleep(1000);
        log.info("1");
        Thread.sleep(1000);
    }
}
```

<br>

### 知启蒙技术框架与交流
---------------------------------------
![知启蒙技术框架架构图](https://zhiqim.org/project/images/101431_93f5c39d_2103954.jpeg "知启蒙技术框架架构图.jpg")<br><br>
QQ群:加入QQ交流群,请点击[【458171582】](https://jq.qq.com/?_wv=1027&k=5DWlB3b) <br><br>
教程:欲知更多知启蒙内核,[【请戳这里】](https://zhiqim.org/project/zhiqim_framework/zhiqim_kernel/tutorial/index.htm)