当前位置:首页 > CN2资讯 > 正文内容

我的世界JAVA版怎么调帧率 我的世界java参数高配设置

3天前CN2资讯


如果你一直在做架构。你设计的框架一定是可配置的,包括那些数据库的配置,当然,还有其它。

一个灵活的程序肯定会有各种各样的配置,具体使用情况也各不相同。本文讲解的是纯java配置文件的加载,没有使用任何ssh之类的东东。毕竟框架这样的东东学不长的,基础打好,对人生日后的发展都有好处。

最常见的可能有SQL,XML,Property文件以及Java常量类。

对于一些常用的变量,使用Java常量类可能是最好的选择了。直接用,快速随手可取。用于多处常用的地方是个不错的选择。

SQL用于验证那些登录,MD5等需要验证以及和某些功能模块相连的数据,放在一起读取,是常用的手法之一。

最后XML,Property两种文件常用于配置一些数据库连接,缓存,国际化等,而Property就是我要讲的重点。

至于XML由于读取可能稍微复杂,具体可看我的另一篇文件。专门讲解如何使用Dom4j/JDom+Xpath读取XML的博文。XML还有另一个用途,和JSON一样。用来传递数据也是不错的选择。

现在我在这里讲解,如何使用Java静态常量类+property读取配置文件,并快速加载到程序中。对于我这种经常架构的人,这是最常用的手段。一般情况我想我都会配置这么一个文件。

好了。土豆不喜欢废话,介绍完了,直接上代码。

config.properties

#URL url.sms=http\://localhost\:8080/sms/sendSms url.masIP="211.99.213.001" url.masApiPort=61616 #Pool jdbc.sql.poolname="pool2" #sql jdbc.sql.driverClassName=net.sourceforge.jtds.jdbc.Driver jdbc.sql.url=jdbc:jtds:sqlserver://localhost:1433/sms jdbc.sql.username=sa jdbc.sql.password=123/** * 装配配置文件 initProperties */ private static void loadProperties() { rb = ResourceBundle.getBundle("config", Locale.getDefault()); driver = rb.getString("jdbc.sql.driverClassName"); url = rb.getString("jdbc.sql.url"); name = rb.getString("jdbc.sql.username"); password = rb.getString("jdbc.sql.password"); poolname = rb.getString("jdbc.sql.poolname"); }

上述方法即完成一次配置文件的简单读取。

下面我们写成静态公共的。在其它地方调用。

package com.sinoglobal.utils; import java.util.Locale; import java.util.ResourceBundle; public class ResourceUtils { private static ResourceBundle rb = null; public static String smsUrl = null; public static String masIP = null; public static int masApiPort = 0; static { rb = ResourceBundle.getBundle("config", Locale.getDefault()); smsUrl = rb.getString("url.sms"); masIP = rb.getString("url.masIP"); masApiPort = Integer.parseInt(rb.getString("url.masApiPort")); } }

在这里直接可以调用。一些简单的配置用这种方法读取是最好不过的了。而使用XML的方式你还得去解析。


//启动SMSApiClient public boolean start() { try { int masApiPort = ResourceUtils.masApiPort; String masIP = ResourceUtils.masIP; // SmsApiClientHandlerImpl是由自己实现的 SmsApiClientHandler smsHandler = new SmsApiClientHandlerImpl(); System.out.println("初始化中。。。"); smsApiClient = ApiClientFactory.createSmsApiClient(smsHandler,masIP, masApiPort, appID, appPwd); // 设置是否自动重连到服务器(可以不需要设置) smsApiClient.setAutoConnect(true); // 设置自动重连服务器相隔时间(单位:秒), 默认为30秒(可以不需要设置) smsApiClient.setReConnectInterval(60); // 设置与服务连接超时时长,单位:millisecond(可以不需要设置) smsApiClient.setConnectTimeout(100000); // 设置发送超时时长,单位:millisecond(可以不需要设置) smsApiClient.setSendTimeout(1000000); // 以上方法在调用start方法前设置。否则无效! smsApiClient.start();// 必须启动!!!!完成初始化. System.out.println("服务启动。。。"); } catch (ApiException e) { return false; } return true; }



最后,还有一种配置方法,不过是写死的方法。并不是灵活的。主要用在一些需要经常读取的东东上面。

这样的东东一般直接写一个常量类。然后全部是静态调用。节约资源。

比如这样的一个:

package com.sinoglobal.cons; import com.sinoglobal.utils.DateUtils; /** * 常量类 * * @author lz */ public class Const { public static String SysStartTime=DateUtils.getNowDate("yyyy-MM-dd HH:mm:ss.SSS"); //平台启动时间 public static long reqCount=0;//平台请求次数 public static int sendtimes=3; //发送短信失败重发请求最大次数 public static int receivetimes=3; //接收短信转发请求最大次数 /**============================| * * 发送短信验证 * ============================|*/ //远程连接验证 public static final String noFunctions="2;用户没有相应的权限"; public static final String noServer="2;没有找到相应的短信服务器"; public static final String sendfailed="2;短信发送失败"; public static final String onMaxNo="2;超过最大群发数量"; public static final String noNet="2;网关未连接"; public static final String onMaxWord="2;短信字数超过70"; public static final String apiError="2;API短信客户端调用失败"; public static final String loginError="用户名或密码错误"; public static final String md5Error="md5校验未通过...."; public static final String connError="远程连接失败"; //信息验证 public static final String infoError="2;信息输入不完整"; public static final String onMobileMax="2;手机号码长度大于500"; public static final String mobileTypeError="2;手机号码格式不正解"; public static final String DateError="2;时间格式不正确"; public static final String onXcodeMax="2;短信子号+扩展码长度不能大于8位数"; public static final String xcodeIsNotNo="2;扩展码为非法数字"; public static final String xcodeIsUp0="2;扩展码必须大于0的整数"; public static final String xcodeError="2;扩展码[去除前两位短信子号]只能是0-999999之间的数字"; }




当然像log4j这样的配置就更为灵活了。可以在web.xml配置初始值,然后映射到log4j.properties中去。


像上面的这个常量类的好处是,不用每次声明变量来读取,在任何其它的地方都可以调用,关键是它是静态的,可以节约资源,也不用去数据库读取,无疑提高了效率,是java开发的便捷之道。而且我们可以配置多个模块,这样就层次分明了。对于一些要从数据库定时查询相关的东东我们可以放在这里,直接调用。毕竟轮循数据库是一件庞大而费力的工作。

当然,只有当你试过后你才会知道。


一个好的项目,一定有一个好的框架,一个灵活而简单的配置。

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/21867.html

    分享给朋友:

    “我的世界JAVA版怎么调帧率 我的世界java参数高配设置” 的相关文章

    全球主机交流:共享经验与技术的最佳平台

    全球主机交流是一个汇聚了各种关于虚拟主机、VPS、服务器和域名等话题的社区。在这样的环境中,全球各地的主机爱好者可以自由地交流经验、分享知识,讨论技术问题。而这样的交流不仅限于技术和使用问题,更多的是对一个不断发展的技术领域的探索。用户在这里可以找到适合自己的主机服务,同时也能够和其他人分享使用心得...

    RackNerd 密码管理与安全指南:保护您的账户安全

    RackNerd 密码管理与安全 在探讨RackNerd的密码管理与安全之前,了解这个主机商的背景有助于我们更好地理解其服务的重要性。RackNerd成立于美国,专注于提供多种主机服务,包括虚拟主机、KVM VPS、Hybrid Dedicated Servers和独立服务器租用等。这些服务非常适合...

    水牛VPS:高性能虚拟专用服务器的最佳选择与比较

    水牛城VPS,顾名思义,是在美国纽约州布法罗市托管的虚拟专用服务器。这种服务器因其独特的地理位置和优越的技术配置,吸引了众多用户,特别是需要高性能和灵活性的网站和应用程序。这类服务的定义非常简单,但其特点却非常丰富。通常来说,水牛城VPS提供了良好的网络带宽、灵活的存储选项,以及能够根据用户需求进行...

    VPS商家全攻略:选择适合你的虚拟专用服务器

    VPS商家概述 在数字化时代,VPS(虚拟专用服务器)服务逐渐成为企业和个人用户的重要选择。VPS不仅为用户提供了灵活性,而且在性能、控制权和安全性上都优于传统的共享主机。这使它成为许多需要独立环境来运行网站或应用程序的用户的理想解决方案。 选择VPS的用户通常追求更高的稳定性和可靠性。相比于共享主...

    ExtraVM测评:美国优质VPS服务全面解析

    在美国,ExtraVM是一家备受关注的主机商,提供的VPS方案在业内小有名气。这家企业不仅因其强大的硬件配置而受到用户热爱,还因为具备高带宽和强大防御能力而赢得了良好的口碑。对于许多站长来说,这里就像是一块“宝地”,能够满足他们各种需求。 当我第一次了解ExtraVM的时候,我被其在洛杉矶的数据中心...

    WordPress reCAPTCHA插件:提升网站安全与用户体验的最佳解决方案

    reCAPTCHA插件概述 在今天的网络环境中,安全性愈发重要,尤其是对于使用WordPress的网站。WordPress reCAPTCHA插件成为了一种流行的解决方案,它借助Google强大的reCAPTCHA服务,帮助我们有效地区分真实用户和可能扰乱网站的机器程序。在我接触这个插件之后,发现它...