当前位置: 首页 > wzjs >正文

网站建设心得体会企业seo排名优化

网站建设心得体会,企业seo排名优化,医院美容网站建设,兼职网站制作脚本引擎概述与设计规范 JKScript引擎是一个专注于算术表达式求值的轻量级脚本引擎实现,其核心功能遵循以下技术规范: 功能特性 表达式求值规则: 仅支持二元运算表达式(操作数+运算符+操作数)操作数支持十进制数字字面量(如10.7)和变量(如num1)运算符限定为四则运算…

脚本引擎概述与设计规范

JKScript引擎是一个专注于算术表达式求值的轻量级脚本引擎实现,其核心功能遵循以下技术规范:

功能特性

  1. 表达式求值规则

    • 仅支持二元运算表达式(操作数+运算符+操作数)
    • 操作数支持十进制数字字面量(如10.7)和变量(如num1
    • 运算符限定为四则运算(+, -, *, /
    • 返回结果为Double类型对象
  2. 输入源支持

    // 支持String直接输入
    engine.eval("10 + 90");// 支持Reader输入(单表达式)
    Reader reader = new StringReader("num1 * num2");
    engine.eval(reader);
    

架构设计

采用三层核心类结构:

类名职责
Expression表达式解析与求值核心逻辑
JKScriptEngine实现ScriptEngine接口的适配层
JKScriptEngineFactory服务发现机制实现

模块化部署

通过Java模块系统声明依赖关系:

// module-info.java
module jdojo.jkscript {requires java.scripting;provides javax.script.ScriptEngineFactorywith com.jdojo.jkscript.JKScriptEngineFactory;
}

模块设计特点:

  • 强封装性(不导出任何包)
  • 通过java.scripting模块获取基础API支持
  • 服务注册机制实现自动发现

表达式解析原理

Expression类采用正则表达式进行语法分析:

// 表达式模式定义
String pattern = "^([+-]?)([\\p{Alnum}\\p{Sc}_.]+)([\\s]*)([+*/-])([\\s]*)([+-]?)([\\p{Alnum}\\p{Sc}_.]+)$";

解析流程:

  1. 操作数符号提取(+/-前缀)
  2. 操作数类型识别(数字字面量/绑定变量)
  3. 运算符验证
  4. 上下文变量查找(通过ScriptContext

边界条件处理

引擎明确限制以下场景:

// 不支持的情况示例
engine.eval("0x2A + 0b1011");  // 非十进制数字
engine.eval("num1 % num2");    // 非四则运算符
engine.eval("a + b + c");      // 多元运算

核心实现类详解

Expression类

作为算术运算的核心处理器,主要包含:

关键字段

private String op1;        // 左操作数
private char op1Sign;      // 左操作数符号
private char operation;    // 运算符
private boolean parsed;    // 解析状态标记

求值流程

  1. 语法解析(parse()方法)
  2. 操作数取值(getOperandValue()方法)
  3. 运算执行(eval()方法)

典型用法

ScriptContext context = engine.getContext();
Expression exp = new Expression("num1 * -5.2", context);
Double result = exp.eval();

JKScriptEngine类

继承AbstractScriptEngine实现标准接口:

核心方法实现

@Override
public Object eval(String script, ScriptContext context) {Expression exp = new Expression(script, context);return exp.eval();
}@Override
public Object eval(Reader reader, ScriptContext context) {// 多行表达式合并处理String script = reader.lines().collect(Collectors.joining());return eval(script, context);
}

JKScriptEngineFactory类

实现服务发现接口的关键配置:

引擎标识配置

@Override
public List getNames() {return List.of("jks", "JKScript", "jkscript");
}@Override
public ScriptEngine getScriptEngine() {
http://www.dtcms.com/wzjs/372673.html

相关文章:

  • 深圳市宝安区建设工程交易中心谷歌seo搜索引擎优化
  • 做网站用c 还是js百度搜索关键词设置
  • 在线平面设计工具网站seo查询站长之家
  • 英文网站建设口碑好舆情分析系统
  • 固安做网站郑州网络营销推广机构
  • 网络公司网站建设彩铃样本seo优化交流
  • 做旅游网站的目的与意义广告接单平台有哪些
  • 西安网站建设招聘天天seo站长工具
  • 网站名称和备案不一样东莞今天最新消息新闻
  • 毕业视频代做网站免费crm网站不用下载的软件
  • 甘肃省建设厅注册中心网站盘古百度推广靠谱吗
  • 网站建设sem账户搭建网络营销什么意思
  • 一般网站建设的流程自媒体平台注册
  • 公司怎么搭建自己网站市场营销推广策略
  • 怎样做 网站的快捷链接拉新推广怎么做
  • 熊掌号网站怎么做网络媒体发稿
  • 做ppt的软件模板下载网站有哪些网站自然排名怎么优化
  • 最好网站建设公司排名百度seo和sem
  • 台州网站建设 推广公司事件营销的案例有哪些
  • 网站开发流行语言营销软文500字范文
  • 网站改版服务百度排名优化咨询电话
  • 做独立网站的好处百度竞价怎么收费
  • 网站建设的有什么需求seo自动优化软件下载
  • 百度搜一搜哪里搜索引擎优化好
  • 51比购网官方网站b站推广软件
  • 深圳朝阳电子网站建设策划推广方案
  • 软件开发要什么学历seo网站建设
  • 二手网站哪些做的比较好百度推广app怎么收费
  • 西安哪里有做网站的系统优化大师下载
  • 高端网站开发公开课河南网站建设哪个公司做得好