Xint是一款功能丰富的文本编辑工具。开发人员都在使用的代码编辑工具Xint。它使开发人员和普通用户的生活更加轻松;它具有最酷的功能之一,即在“格式”>“突出显示”下的代码突出显示。突出显示功能支持多种脚本语言,这是用户最受欢迎的语言。的功能可能是PHP,HTML,C和XML。当然,任何熟悉该语言的开发人员都会发现每种选择都同样有用;该程序支持转储文件,默认情况下,会为某些事件生成各种类型的文件。您还可以在命令行上使用指定的选项来触发整个事件范围;支持生成详细的日志文件。该程序的某些组件还可以生成详细的输出或日志文件,以帮助识别问题,包括数据共享,垃圾收集和JIT编译器; Xint与它旨在替换的程序(例如Windows Notepad)一样,也具有搜索和替换功能!
安装步骤:
1.用户可以单击本网站提供的下载路径下载相应的程序安装包
2.只需使用解压功能打开压缩包,双击主程序进行安装,并弹出程序安装界面
3.同意协议的条款,然后继续安装应用程序,单击“同意”按钮
4.可以单击浏览按钮根据需要更改应用程序的安装路径
5.现在您准备安装主程序,单击安装按钮开始安装。
6.弹出应用程序安装进度栏的加载界面,等待加载完成
7.按照提示单击“安装”,弹出程序安装完成界面,单击“完成”按钮
软件功能:
添加了用于选择模式的工具栏按钮
使用标准的工具栏图标,加密对话框中的较小更改
升序和降序排序,为Java添加了荧光笔
在行尾添加删除,删除行,删除单词,单词的开始/结束
在上下文菜单中添加格式选项,添加开关盒功能
会话之间保存的WordWrap设置
添加了自动换行工具栏按钮
文件名现在显示在任务栏图标中
固定的拖放有时不需要保存。
为Apache和.htaccess文件添加了荧光笔
为红宝石添加了荧光笔
为列和普通选择模式创建加速键,较小的界面更改
添加随机密码生成器以加密对话框
在多个请求之后,向python添加了荧光笔,添加了工具栏
添加了用于插入图像对话框的过滤器
入图像对话框现在显示缩略图视图
设置装订线的字体并设置最大线宽
置最大撤消级别,如果不选择导出到html,它将自动分配.html扩展名
生成随机密码功能
现在,Xint将所有MRU信息和设置存储在ini文件中
主要设置,以及另一个名为xint.recent.ini的ini文件,其中包含最新文档
使用说明:
JIT编译器
即时(JIT)编译器是OpenJ9 VM的关键组件。通过在运行时将平台无关的Java字节码编译为本机代码,可以提高Java应用程序的性能。如果没有JIT,则VM必须自行解释字节码-此过程需要额外的CPU和内存。
JIT编译器不会编译所有被调用的方法,因为启动时可以调用成千上万个方法。而是,OpenJ9记录该方法被调用的次数。当计数达到预定义的呼叫阈值时
保持,JIT编译将被触发。 JIT编译该方法后,VM可以调用已编译的方法,而不用解释它。
优化级别
JIT编译器可以在不同的优化级别上编译方法:冷,热,热,非常热(带有概要分析)或烧焦。优化级别越热,预期性能越好,但是CPU和内存的成本越高。
在大型应用程序的启动过程中,使用了Cold方法,其目的是通过尽可能多的方法获得最佳的编译代码速度。
温暖是主要力量。启动后,达到调用阈值时将编译大多数方法。
为了获得更高的优化级别,VM使用采样线程来识别需要大量时间的方法。消耗超过1%的方法将在热时进行编译。计划消耗超过12.5%的方法进行密集编译。但是,在此之前,该方法非常容易进行概要分析以收集详细的配置文件数据,这些数据将由刻录的编译使用。
更的优化级别使用特殊技术(例如,转义分析和部分冗余消除),或多次遍历某些优化序列。尽管这些技术使用了更多的CPU和内存,但通过优化获得的改进性能值得进行权衡。
故障排除
默情况下,启用JIT编译器以优化性能。但是,如果在运行应用程序时遇到问题,则暂时关闭JIT会告诉您JIT是否存在问题。
由于JIT和VM是同时启动的,因此只能在启动时修改JIT行为。
有很多禁用JIT的方法:
-Djava.compiler = NONE在命令行上指定。
在命令行上指定-Xint,这将关闭JIT和AOT编译器。要消除一个或另一个问题,可以使用-Xnojit和-Xnoaot选项有选择地关闭这些编译器。
以java.lang.Compiler编程模式调用API。
注意:java.lang.Compiler不建议在Java SE 9中将其删除。
如果关闭JIT解决了您的问题,则可以通过使用许多选项来控制行为来更详细地研究JIT操作。
使用verbose子选项打开详细日志记录将使JIT记录所有编译器操作。但是,由于连续执行许多复杂的操作,因此可能难以读取日志文件。请按照以下步骤简化操作,这可以帮助您查明根本原因:
闭多个编译线程
JIT编译器可以使用多个编译线程,通常可以提高启动性能。线程数由VM确定,并取决于系统配置。您可以使用-XcompilationThreads选项关闭多个线程,从而简化了详细日志中的输出。
降低通话门限
当调用计数设置为0时,JIT将编译每个方法,当到达导致问题的方法时,您的应用程序将立即失败。您可以使用count子选项来更改阈值。
关闭内联
内联是一个复杂的过程,会生成更大,更复杂的代码。要消除由这些操作引起的错误,请使用disableInlining子选项。
降低优化水平
使用optlevel子选项逐渐降低编译器的优化级别,以查看问题的级别是否可以隔离。
Xjit包含有关这些子选项和命令行语法的更多信息。
了解JIT详细日志
乍一看,JIT详细日志看起来很复杂。为了帮助您理解日志,当您运行java -version命令时,我们将检查JIT编译器的操作。
以下选项打开详细日志记录并将输出定向到名为vlogfile的日志文件:
Java -Xjit:verbose,vlog = vlogfile -version
日志的第一部分包括以#INFO:开头的行,该行提供有关JIT运行所在的环境的信息。您可以确定使用的JIT和VM的版本,以及JIT处理器的类型和数量。使用权。
在此示例中:
编译方法为sun / reflect / Reflection.getCallerClass()Ljava / lang / Class。
+表示该方法已成功编译。失败的编译标记为!。
(冷)告诉您所应用的优化级别。其他示例可能是(温暖)或(灼热)。
00007FCACED1303C-00007FCACED13182是用于生成编译代码的代码范围。
Q值提供有关编译发生时编译队列状态的信息。
Bcsz显示字节码大小。在这种情况下,它很小,因为这是一个本机方法,因此JIT只是提供了向本机getCallerClass方法的加速JNI过渡。
每行
put表示已编译的方法。
以下示例请求有关JIT编译器的线程性能的信息,并将输出写入vlogfile。
Java -Xjit:verbose = {compilePerformance},vlog = vlogfile -version
时间= 311us反映了编译所花费的时间。
Mem = [区域= 704系统= 16384] KB反映了编译期间分配的内存量。
以下示例可用于创建详细的输出,其中包括显示方法编译的开始和结束时间以及在编译过程中内联的所有方法的行。
Java'-Xjit:verbose = {compileStart | compileEnd | inlining},count = 5,vlog = vlogfile'-XcompilationThreads1 -version
注意:子选项count和-XcompilationThreads1仅包含此示例的简化输出,因此不建议在生产中使用它们。
尽管输出未指定为什么不内联这些方法,但是相对较大的字节码大小(bcsz = 233)可能会阻止第一种方法的内联。在比冷优化更高的优化级别上,可以内嵌deduplicateStrings方法。 coldCalled但是,最后两行中的标签表明这些调用属于从未执行过的方法的一部分,因此JIT决定内联这两个方法可能会增加编译时间,而没有太多希望提高性能。
通过以这种方式读取日志,可以重建编译期间发生的内联树。您可以看到内联哪些方法以及未内联哪些方法
软件功能:
XInt是一个大型类,旨在替换整数和所有浮点类型。
从理论上讲,您可以采用现有程序,并用XInt替换所有整数和浮点类型
并且它应该像以前一样编译和运行,但精度更高。
显然,有一些例外,如果您依靠溢出/下溢行为,它将无法正常工作,XInt将不会溢出!
会下溢,但是会以受控方式进行,您可以指定其行为。
XInt代表扩展整数。实际上,它们在两个方向上延伸-l和r。L扩展名是没有大小限制(可用内存除外),r扩展名是它们有小数位(也是无限制)。
XInt的math.h大部分已重新加载,其余部分将紧随其后。
仍然可以访问未重载的函数(sin等),因为存在往返于double的转换运算符。