草庐IT

java - 好的设计 : How use fields of superclass

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Javaprotectedfieldsvspublicgetters如果我有B类扩展A并且在A中我有一些我也在B中使用的字段,最好使这些字段受到保护并从B类中调用它们或为此字段编写getter方法,因此使用此方法来自B级?(此字段在A的构造函数中设置)

java - 使用枚举来清晰地表示错误消息——这是好的做法吗?

我想将我的错误消息和内容合并到一个文件中,并尽可能使我的代码更具可读性。这是我的枚举文件中的示例:publicenumZipErrorType{//START:defineexceptionmessages(alphabeticalorder)EMPTY_FILE_NAME_IN_LIST{publicStringtoString(){return"Oneormorenull/emptyfilename(s)found";}},FILE_DOESNT_EXIST{publicStringwho(StringsThisFile){return"["+sThisFile+"]doesnot

java - Tomcat 中的 noCompressionUserAgents 有什么好的设置?

谷歌搜索“noCompressionUserAgents”最终得到相同的样板配置,该配置似乎已被复制但不是很有用(甚至在stackoverflow上也有:)stackoverflow.com/questions/550024/tomcat-compression-does-not-add-a-content-encoding-gzip-in-the-headernoCompressionUserAgents="gozilla,traviata"但这并没有考虑跳过NS4或IE6或其他任何东西。我发现最接近的是来自Zimbra配置示例,它至少是为了跳过IE6,它看起来像:http://ww

java - 在我的程序中为我的非图形相关类使用 swing 和 awt 类是不好的做法吗?

那么,假设我有一些游戏,例如Pong。显然,一般来说,您不想将游戏逻辑混合到图形类中,因此Ball或Paddle类与实际绘制它们的JPanel是分开的。Ball具有球的移动逻辑、当前位置、命中检测等。但是,在我的Ball类中使用Swing和awt中的图形类对我来说是不好的做法吗?例如,如果我要使用java.awt.Rectangle来确定碰撞框。尽管我没有在这个类上画它,但我正在使用它。或者如果我要使用Java.awt.Point来存储坐标。顺便说一句,我问的原因是因为我在这个网站上被多次告知不要将图形与其他部分混在一起。在非图形类中使用Rectangle:(这是不好的做法吗?)pub

java - 在 Java 中序列化枚举有好的替代方法吗?

Java语言从添加枚举中获益良多;但不幸的是,在具有不同代码级别的系统之间发送序列化对象时,它们不能很好地工作。示例:假设您有两个系统A和B。它们都以相同的代码级别开始,但在某个时候开始看到不同时间点的代码更新。现在假设有一些publicenumWhatever{FIRST;}还有其他对象保留对该枚举常量的引用。这些对象被序列化并从A发送到B,反之亦然。现在考虑B有更新版本的WhateverpublicenumWhatever{FIRST;SECOND}然后:classSomethingElseimplementsSerializable{...privatefinalWhatever

java - 是否有关于如何使用 Java ObjectPool/池的任何好的教程或示例?

我正在尝试创建一个channel/连接到队列服务器的池,并尝试使用ObjectPool但在example中使用它时遇到问题在他们的网站上。到目前为止,我有一些线程可以正常工作,但我希望它们中的每一个都从池中获取一个channel,然后将其返回。我了解如何使用它(borrowObject/returnObjects),但不确定如何创建初始池。以下是在rabbitmq中创建channel的方式:ConnectionFactoryfactory=newConnectionFactory();factory.setHost("localhost");Connectionconnection=f

有没有比较好的开源人事管理系统?

如果你是一百人以下几十人规模的企业,一般市面上的人事管理软件都挺好用的,成本也比较低;如果规模几百人,排班、考勤、薪酬等规则比较简单,这类软件和设备也可以满足。但是如果企业人事管理规则比较多,对数据的实时性要求也高的话,可能就需要比较专业的人事管理系统软件了,这类软件的情况,我就以盖雅的情况简单介绍一下。人事管理系统取代HR不仅可以起到降本增效的作用,更是通过对排班、考勤、请假、薪酬核算等的自动化设置,到达从编制到招聘到入职的一站式统筹协作等。所有复杂业务,均可以通过数字化的方式实现。下面我们来讲讲以盖雅的核心人事管理系统。针对题主的需求,简单说明一下盖雅的人事管理系统具备以下几大核心优势。一

java - 准备好的语句是否在这里防止 SQL 注入(inject)

以下代码来自SAMATEReferenceDataset.我用它来测试静态分析工具。如您所见,代码应该通过使用清理方法和准备好的语句来防止SQL注入(inject)。由于SCA工具无法识别自定义的santitzation方法,因此不会检测到allowed方法用于防止注入(inject)。publicclassSQLInjection_good_089extendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicSQLInjection_good_089(){super();}//Tableofallowedname

java - 在 postgres jdbc 驱动程序中记录准备好的 sql 语句

我想在我的java应用程序中记录所有准备好的sql语句。我正在使用标准的postgresjdbc驱动程序org.postgresql.Driver。该驱动程序有一个名为“loglevel",可以设置为1(INFO)或2(DEBUG)。关键是如果参数设置为1,它几乎不记录任何内容,如果设置为2,它的跟踪太像了...20:59:05.608(2)FE=>Bind(stmt=null,portal=null,$1=,$2=)20:59:05.609(2)FE=>Describe(portal=null)20:59:05.609(2)FE=>Execute(portal=null,limit=

java - 为什么返回空集合被认为是好的做法?

我读了几本书,也看过几篇博客讨论返回空集合比返回null更好。我完全理解试图避免检查,但我不明白为什么返回一个空集合比返回null更好。例如:publicclassDog{privateListbone;publicListget(){returnbone;}}对比publicclassDog{privateListbone;publicListget(){if(bone==null){returnCollections.emptyList();}returnbone;}}示例一将抛出NullPointerException,示例二将抛出UnsupportedOperation异常,但