- The Definitive ANTLR 4 Reference (2nd Edition) - Chapter 1
陨落
ANTLR语言antlr
Chapter1-MeetANTLR本书PartI中,我们的目标是对ANTLR的能力有一个整体的认知,并尝试探索语言应用框架。一旦我们有了整体的概念,我们接下来就会在PartII中通过大量的真实案例系统学习ANTLR。本书开始,我们要先安装ANTLR,然后尝试制作一个简单的“helloworld”的grammer。1.1安装ANTLRANTLR是用Java编写的,所以在开始使用之前需要有完整的Ja
- 网络编程经验总结 TCP拆包粘包常见解决方案
ShootHzj
从简单通信协议开始最近工作中又需要处理协议解析,我对协议解析和网络抓包其实还是小有研究,17年刚毕业的时候,就用Netty手写过SMPP协议的对接。(其实做协议解析是一个很枯燥的工作,如果协议解析可以像antlr那样子写grammar自动解析应该会很酷?)本文总结一下协议在tcp下编码拆包粘包的三种解决方案。网上有一些人对拆包粘包的说法不是很认可,但是我觉得这个术语还是挺形象的。首先,让我们来设计
- ANTLR4规则解析生成器(一):入门
luofengmacheng
安全antlr4rule
文章目录1什么是ANTLR42为什么需要ANTLR43环境搭建4官方示例4.1编写语法规则文件4.2生成语法解析器4.3基于SDK实现逻辑5总结1什么是ANTLR4ANTLR是ANotherToolforLanguageRecognition的缩写,它是一个强大的用于读取、处理、执行和翻译结构化文本或二进制文件的语法分析器生成器,广泛用于构建语言、工具和框架,通过语法描述规则,它能够生成一个可以遍
- 常见的词法分析和语法分析的开源库收集
迈达量化
开源软件github算法词法分析语法分析
文章目录一、词法及语法分析器汇总1.Flex2.Bison3.ANTLR3.Ply4.JFlex一、词法及语法分析器汇总1.FlexFlex是一个用于生成词法分析器的工具。它可以根据用户定义的正则表达式规则,将输入的字符流分割成一个个的词法单元。Flex是GNU项目的一部分,可以在多个平台上使用。特点:灵活性:Flex允许用户通过正则表达式来定义词法规则,从而灵活地处理不同类型的输入。高效性:Fl
- Antlr v4入门教程和实践
yixianshijie
antlr
一.ANTRL是什么当我们实现一种语言时,我们需要构建读取句子(sentence)的应用,并对输入中的元素做出反应。如果应用计算或执行句子,我们就叫它解释器(interpreter),包括计算器、配置文件读取器、Python解释器都属于解释器。如果我们将句子转换成另一种语言,我们就叫它翻译器(translator),像Java到C#的翻译器和编译器都属于翻译器。不管是解释器还是翻译器,应用首先都要
- Antlr4介绍和Helloworld
离离原上草77
javaantlr4antlr4
摘要:本文将首先介绍Antlr4,以及如何通过Antlr4grammer生成对应的hello的AST1.Antlr4简单介绍Antlr4(AnotherToolforLanguageRecognition)是一款基于Java开发的开源的语法分析器生成工具,能够根据语法规则文件生成对应的语法分析器,广泛应用于DSL构建,语言词法语法解析等领域。现在在非常多的流行的框架中都用使用,例如,在构建特定语言
- 【Antlr】Antlr 错误处理入门
九师兄
语法分析-Antlr数学建模javapython
1.概述出自:antlr权威指南并且补充同绝大多数软件一样,在我们开发一门语法的过程中,需要修复很多的错误。直到我们编写完(并调试完)语法之后,生成的语法分析器才能识别所有的有效输入语句。在这个过程中,ANTLR的错误消息含有丰富的信息,有助于我们调试语法中产生的问题。.一旦拥有了正确的语法,我们就必须处理不合语法的语句,这些语句可能来源手用户输入,甚至是其他程序在错误情况下自动生成的。在上述情况
- 【Antlr】Antlr属性和动作-使用带动作的语法编写一个计算器
九师兄
语法分析-Antlrjavalinuxpython
1.概述上一篇文章:【Antlr】修改Antlr的错误处理策略出自:antlr权威指南并且补充在之前的学习中,我们的程序逻辑代码都是与语法分析树遍历器分离的,这意味着我们的代码总是在语法分析完成之后执行。在接下来的几章中我们可以看到,一些语言类应用程序需要在语法分析的过程中执行自身的逻辑代码。为了达到这个目的,我们需要一种手段,将代码片段–称为动作-直接注入ANTLR生成的代码中。本章的的第一个目
- 【Antlr】Antlr must label all alternatives or none
九师兄
语法分析-Antlrantlr
1.概述今天写G4文件的时候,发现报错这个error122mustlabelallalternativesornone错误信息如下:这个报错翻译为:必须标记所有的选择还是没有意思是要么都加动作,要么都不加动作,不能一部分加,一部分不加。改成如下就好了stat:exprNEWLINE{System.out.println($e.v);}
- 【Antlr】Antlr属性和动作-访问词法符号和规则的属性
九师兄
语法分析-Antlr数学建模
1.概述上一篇文章:【Antlr】Antlr属性和动作-使用带动作的语法编写一个计算器出自:antlr权威指南并且补充让我们以6.1节中的CSV语法为基础,学习一些与动作相关的特性。我们会编写一个程序,解析并打印CSV文件中的数据,它会为每行生成一个从列名到字段值的Map。我们的目的是学习更多有关规则动作和属性的知识。先看看6.1节中的CSV语法文件如下grammarCSV_back;file:h
- 【Antlr】Antlr 自动错误恢复机制
九师兄
临时专栏-无用antlr
1.概述上一篇文章:【Antlr】Antlr修改和转发Antlr的错误消息出自:antlr权威指南并且补充错误恢复指的是允许语法分析器在发现语法错误后还能继续的机制。原则上,最好的错误恢复来自人类在手工编写的递归下降的语法分析器中进行的干预。尽管如此,按照我的经验,手工编写一个优秀的错误恢复机制非常难,因为这个过程过于枯燥乏味,极易出错。在本书描述的ANTLR最新版中,我穷尽我毕生所学,基于多年的
- ANTLR4(九) 修改错误信息
pourtheworld
ANTLR4ANTLR4
写在之前先来回顾一下ANTLR4是如何处理并分析输入流的。语法文件一个简单的类分析语法文件。grammarSimple;prog:classDef+;//matchoneormoreclassdefinitionsclassDef:'class'ID'{'member+'}'//aclasshasoneormoremembers{System.out.println("class"+$ID.tex
- 【Antlr】Antlr 修改和转发Antlr的错误消息
九师兄
语法分析-Antlrjavajvmservlet
1.概述上一篇文章:【Antlr】Antlr错误处理入门出自:antlr权威指南并且补充默认情况下,ANTLR将所有的错误消息送至标准错误(standarderror),不过我们可以通过实现接口ANTLRErrorListener改变这些消息的目标输出和内容。该接口有一个同时应用于词法分析器和语法分析器的syntaxError()方法。syntaxError()方法接收各式各样的信息,无论是错误的
- ANTLR4权威指南 - 第6章 尝试一些实际中的语法
weixin_30460489
jsonr语言c/c++
第6章尝试一些实际中的语法在前一章,我们学习了通用词法结构和语法结构,并学习了如何用ANTLR的语法来表述这些结构。现在,是时候把我们学到的这些用来构建一些现实世界中的语法了。我们的主要目标是,怎样通过筛选引用手册,样例输入文件和现有的非ANTLR语法来构建一个完整语法。这一章,我们要实现五种语言,难度依次递增。现在,你不需要将它们全部都实现了,挑一个你最喜欢的实现,当你在实践过程中遇到问题了再回
- 【达梦数据库】如何使用ANTLR4 jar方式分析dm sql
气可鼓不可泄
数据库jarsql
环境准备dm8g4语法文件jdk11win11实战演示指定antlr4.bat脚本@ECHOOFF"C:\ProgramFiles\Java\jdk-11\bin\java.exe"-jar"antlr-4.11.1-complete.jar"%*指定grun.bat@ECHOOFF"C:\ProgramFiles\Java\jdk-11\bin\java.exe"-cp"./;C:\Progra
- 浅谈表达式解析
lixia0417mul2
数据结构数据结构
背景不论是写sql表达式还是使用各种计算公式,我们都需要对表达式进行解析,本文简单记录一下表达式是如何使用深度优先遍历的方式解析成一个分析树的使用深度遍历解析表达式很难想象,使用深度遍历可以完整解析出带各种优先级关系的表达式解析,这真实我学到的第一个使用深度遍历解决实际问题的例子,废话少说,例子如下所以包括Antlr解析器等都会首先把表达式通过深度遍历的方式解析成一个完整的分析树,才会再交给后续的
- MySQL Shell 8.0.32 for GreatSQL编译二进制包
老叶茶馆_
mysql数据库
构建MySQLShell8.0.32forGreatSQL0.写在前面之前已经写过一篇前传MySQLShell8.0.32forGreatSQL编译安装,最近再次编译MySQLShell二进制包时,发现了一些新问题,因此重新整理更新本文档。1.几处新问题这次编译MySQLShell发现几个新问题,下面一一列举。MySQLShell要求配套的antlr4版本必须是4.10.0,配套的protobuf
- 第三章:上下文无关文法进阶
猫步旅人
antlr4cookbookc++开发语言
高级属性文法的说明和使用lexer和parse的options用法antlr4允许在生成的语法分析器中,通过一些namedactions的操作,以自定义的方式插入一些代码片段。这些action操作是与特定平台相关的,比如c++和java的就不一样。通用的几个操作如下@parser::header@parser::members@lexer::header@lexer::members@parser
- 【严重】Atlassian Confluence 模板注入代码执行漏洞
墨菲安全
atlassian安全网络安全网络web安全
漏洞描述Confluence是由Atlassian公司开发的企业协作和文档管理工具。AtlassianConfluenceDataCenter/Server受影响版本中存在模版注入漏洞,攻击者通过构造恶意请求,可以在未登录的情况下在Confluence实例上触发远程代码执行漏洞。漏洞已在8.5.4版本中修复,可能与velocity引擎中对snakeyaml、antlr等组件的支持有关漏洞名称Atl
- java.lang.NoSuchMethodError问题的解决
自扯自旦
java
当看到异常信息里有NoSuchMethodError时,这种错误一般是因为jar包冲突引起的。如下面的异常信息。java.lang.NoSuchMethodError:org.hibernate.hql.antlr.HqlBaseParser.getTokenTypeToASTClassMap()Ljava/util/Hashtable;org.hibernate.hql.antlr.HqlBas
- 买家订单api controller
谢谢水果
买家类目service接口main--controller--BuyerProductController.javapackagecom.tkft.sell.controller;importantlr.StringUtils;importcom.tkft.sell.VO.ResultVO;importcom.tkft.sell.converter.OrderForm2OrderDTOConver
- SpringBoot整合StringTemplate模板引擎
十二同学啊
Javaspringbootjava数据库
官方网站https://www.stringtemplate.org/概述:记一次使用stringtemplate模板构建数据查询sql1.先加入ST4依赖org.antlrST44.0.82.在resources目录下新建一个数据查询模板文件sqlTemplate.stgquerySql(limitFiled,groups,aggregators,filters,orders,table,not
- ANTLR4
wyg_031113
后端
配置开发环境下载antlr4jar包https://github.com/antlr/antlr4/blob/master/doc/getting-started.md#安装jdk11和antlr4.13#wgethttps://github.com/antlr/antlr4/archive/refs/tags/4.13.1.tar.gz#wgethttps://repo.huaweicloud.
- Antlr4 - 自定义SparkSQL解析
大猪大猪
Antlr4是一个强大的解析器的生成器,可以用来读取、处理、执行或翻译结构化文本,ANTLR可以从语法上来生成一个可以构建和遍历解析树的解析器,最出名的Spark计算引擎2.x就是用它来解析SQL的,是一个牛到没朋友的家伙。IDEA测试IDEA语法分析插件下载antlr-v4-grammar-plugin插件安装antlr-v4-grammar分析插件g4语法文件使用的是sparkSQL的SqlB
- 【Spark精讲】SparkSQL的RBO与CBO
话数Science
大数据SparkSpark精讲spark大数据
SparkSQL核心:CatalystSparkSQL的核心是Catalyst查询编译器,它将用户程序中的SQL/Dataset/DataFrame经过一系列操作,最终转化为Spark系统中执行的RDD。Catalyst组成部分Parser:用Antlr将SQL/Dataset/DataFrame转化成一棵未经解析的树,生成UnresolvedLogicalPlanAnalyzer:Analyze
- Antlr4 语法存在错误但语法分析器不报错的问题
杀毒的炼金术士
ANTLRantlr
最近使用Antlr4时,遇到了编写的语法存在错误,但生成语法树并不显示错误,只是将报错位置及之后的全部token丢弃的情况。在此对案例进行分享,并分享一下我的解决方案。一问题复现下边我用一个简化后的案例复现这个现象文法文件如下(ASSIGN.g4):grammarASSIGN;pfile:assignStmt+//文件由一行或多行赋值语句组成;assignStmt:ID'='IDoperatorI
- Antlr4 区分“减号”运算符和负号
杀毒的炼金术士
ANTLRpythonantlr
最近用Antlr4开发解释器,在识别带减号“-”的表达式遭遇语法错误,例如a=2-1原因是将“2-1”识别为了2和-1两个token,而我的预期是2、-、1三个token当然,我也知道之所以这样识别,是因为我定义数字字面量的规则时,支持负号LiteralInt:'-'?[0-9]+;当然,我也可以通过如下语法规避此问题,即负号和1之间加个空格,但这样毕竟不易用a=2-1我在token规则层面上想了
- 通过SQL操作Excel(基于Python + Antlr实现)
杀毒的炼金术士
PythonANTLRsqlpython数据库antlrpandas
ANTLR工具本身是用JAVA语言编写的,想要在Python环境中使用,需要进行简单的环境准备,参考:Python中使用Antlr4的环境准备实现功能创建数据库:通过createdatabase语句创建一个excel文件创建表:通过createtable语句新增一个sheet删除表:通过droptable语句删除指定的sheet插入数据:通过insertintotable语句向sheet中插入数据
- 代码解析工具汇总
I still …
静态代码检测编程语言
代码解析工具一.针对多种语言ANTLRSonarQubetree-sitter二.针对C语言pycparserJoern三.针对JavaJavalangJavaParserEclipseAstParser四.针对pythonast库tokenize库代码解析工具的主要作用是输入源代码,可以输出其AST或者CFG(控制流图),DFG(数据流图)。一.针对多种语言ANTLRAntlr4是一款开源的语法
- 探究Presto SQL引擎(1)-巧用Antlr
vivo互联网技术
一、背景自2014年大数据首次写入政府工作报告,大数据已经发展7年。大数据的类型也从交易数据延伸到交互数据与传感数据。数据规模也到达了PB级别。大数据的规模大到对数据的获取、存储、管理、分析超出了传统数据库软件工具能力范围。在这个背景下,各种大数据相关工具相继出现,用于应对各种业务场景需求。从Hadoop生态的Hive,Spark,Presto,Kylin,Druid到非Hadoop生态的Clic
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><