2017年9月30日
摘要: 1. 来由 为什么要写提取注释呢,起因是工作需要。弄这么个不太重要的功能点来讲,旨在抛砖引玉。 一般而言,大家使用antlr解析源代码的时候,不会关心注释和空格之类内容,默认会过滤掉,不会放到语法树里,讲了,真把空格这类东西保留在语法树里,会带来很多问题。要保留注释的话,也不会放进语法树里,而是会导 阅读全文
posted @ 2017-09-30 16:23 csguo 阅读(1789) 评论(0) 推荐(0) 编辑
摘要: 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?courseId=1002830012 在通常情况下,编译器会将目标语言转换成某种中间语言格式,而不是直接将源代码转换成二进制机器指令 阅读全文
posted @ 2017-09-30 14:54 csguo 阅读(1703) 评论(0) 推荐(0) 编辑
摘要: 在前两节,我们将一段代码通过软盘加载到了系统内存中,并指示cpu执行加入到内存的代码,事实上,操作系统内核加载也是这么做的。只不过我们加载的代码,最大只能512 byte, 一个操作系统内核,少说也要几百兆,由此,系统内核不可能直接从软盘读入系统内存。 通常的做法是,被加载进内存的512 Byte程 阅读全文
posted @ 2017-09-30 14:53 csguo 阅读(1505) 评论(0) 推荐(0) 编辑
摘要: 1、在单核计算机里,有一个资源是无法被多个程序并行使用的:cpu。 没有操作系统的情况下,一个程序一直独占着全都cpu。 如果要有两个任务来共享同一个CPU,程序员就需要仔细地为程序安排好运行计划--某时刻cpu和由程序A来独享,下一时刻cpu由程序B来独享 而这种安排计划后来成为OS的核心组件,被 阅读全文
posted @ 2017-09-30 14:43 csguo 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 关于进程、线程、并发执行的概念,我们先来看下面的一段话:“一般来说,当运行一个应用程序的时候,就启动了一个进程,当然有些会启动多个进程。启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的。在进程中,有些程序流程块是可以乱序执行的,并且这个代码块可以同时被多 阅读全文
posted @ 2017-09-30 14:42 csguo 阅读(782) 评论(0) 推荐(0) 编辑
摘要: J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码. 我们先来回顾一下DAO设计模式和数据访问对象. DAO基础 DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开 阅读全文
posted @ 2017-09-30 14:38 csguo 阅读(234) 评论(0) 推荐(0) 编辑
摘要: Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 同步和异步区别:有无通知(是否轮询),异步:处理完后会通知请求方堵塞和非堵塞区别 阅读全文
posted @ 2017-09-30 14:37 csguo 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 一、表达式的组成 1、数字 2、运算符:+ - / * ^ % = 3、圆括号 4、变量二、运算符优先级 由高到低分别为:+-(正负号)、^、*/%、+-、= 优先级相等的运算符按照从左到右的顺序计算三、关键技术点 1、确定运算的优先级,从高到低分别为:原子元素表达式,包括数字和变量;括号表达式;一 阅读全文
posted @ 2017-09-30 14:34 csguo 阅读(8073) 评论(0) 推荐(0) 编辑
摘要: 简介¶ Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。现在已经有很多开源可用的java表达式求值引擎,为什么还需要Avaitor呢? Aviator的设计目标是轻量级和高性能 ,相比于Groovy、JRuby的笨重,Aviator非常小,加上依赖 阅读全文
posted @ 2017-09-30 14:33 csguo 阅读(48354) 评论(0) 推荐(4) 编辑
摘要: 前言 表达式的计算是一个一般性的问题。在报表领域,经常会出现支持计算公式的需求。MS Office Excel中的函数计算就是一个很好的参考例子。 本文提供一个表达式引擎的设计方案,能够满足报表领域的复杂计算要求。 一个良好的表达式引擎应该支持基本的二元运算和函数调用,而且二元运算能够嵌套函数调用, 阅读全文
posted @ 2017-09-30 14:31 csguo 阅读(5081) 评论(0) 推荐(0) 编辑
摘要: 最近需要用到相关表达式解析的工具,然后去网上搜索,找到了一个用C#写的表达式解析工具,仔细看了功能后发现,这正是我需要的,如果我能将它改造成基于Java语言的方式,岂不是更好吗,所以花了一段时间,把网上的C#的代码转换成了Java的代码,如今已经用它处理完美的处理一些表达式解析的工作。 先来看下这个 阅读全文
posted @ 2017-09-30 14:28 csguo 阅读(2376) 评论(0) 推荐(0) 编辑
摘要: 之前简单的介绍了这个基于Java表达式解析工具,现在把代码分享给大家,希望帮助到有需要的人们,这个分享代码中依赖了一些其他的类,这些类大家可以根据自己的情况进行导入,无非就是写字符串处理工具类,日期处理的工具类什么的。 这个Java的表达式解析的工具只用了5个类,而且写得也很简单明了,相信有一些编程 阅读全文
posted @ 2017-09-30 14:27 csguo 阅读(4859) 评论(1) 推荐(0) 编辑
摘要: 大家好,欢迎大家来到coding迪斯尼.本节代码可在如下链接下载: http://pan.baidu.com/s/1jHqNGjk 或是网易云课堂视频所在附件。 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/c 阅读全文
posted @ 2017-09-30 14:26 csguo 阅读(993) 评论(0) 推荐(0) 编辑
摘要: 大家好,欢迎大家来到Coding迪斯尼,在深入探究词法解析算法前,我们需要了解一些基本概念。了解基本概念有点像背单词,它有些无聊,但你又不得不做。好在这类事情在我们的课程里不多。大家过过眼,留个心眼就好。 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http:// 阅读全文
posted @ 2017-09-30 14:25 csguo 阅读(1711) 评论(0) 推荐(0) 编辑
摘要: 大家好,欢迎大家来到coding迪斯尼,愿天下没有难学的知识 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?courseId=1002830012 这篇文章是我课程中的系列讲稿,也 阅读全文
posted @ 2017-09-30 14:23 csguo 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 欢迎大家来到coding迪斯尼,我的愿景是:让天下没有难学的知识 这句话是跟马云学的,就算没马云的命,那就用马云的话,也是不错的。 阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?c 阅读全文
posted @ 2017-09-30 14:21 csguo 阅读(1654) 评论(0) 推荐(0) 编辑
摘要: 大家在参考本节时,请先阅读以下博文,进行预热: http://blog.csdn.net/tyler_download/article/details/50708807 本节代码下载地址: http://pan.baidu.com/s/1sjWiwPn 代码的理解和运行是吃透编译原理的关键,如果我们 阅读全文
posted @ 2017-09-30 14:13 csguo 阅读(2623) 评论(0) 推荐(2) 编辑
摘要: 语法和解析树: 举个例子看看,语法解析的过程。句子:“我看到刘德华唱歌”。在计算机里,怎么用程序解析它呢。从语法上看,句子的组成是由主语,动词,和谓语从句组成,主语是“我”,动词是“看见”, 谓语从句是”刘德华唱歌“。因此一个句子可以分解成 主语 + 动词 + 谓语从句: 句子-->主语+动词 + 阅读全文
posted @ 2017-09-30 13:44 csguo 阅读(3630) 评论(0) 推荐(1) 编辑
摘要: 本文对应代码下载地址为: http://download.csdn.net/detail/tyler_download/9435103 视频地址: http://v.youku.com/v_show/id_XMTQ3NTQwMDkxMg==.html?from=s1.8-1-1.2 技术的发展可谓是 阅读全文
posted @ 2017-09-30 13:39 csguo 阅读(3204) 评论(0) 推荐(1) 编辑