草庐IT

static-class

全部标签

Java 客户端 .class 文件保护

我正处于构建JavaEE应用程序的需求阶段,该应用程序很可能在GlassFish/JBoss后端上运行(目前无关紧要)。我知道我不应该在需求时考虑架构,但人们会情不自禁地开始想象所有组件将如何组合在一起:-)以下是客户端的一些硬性、非灵active要求:(1)客户端应用将是一个Swingbox(2)客户端免费下载,但会采用订阅模式(因此需要服务器端认证/授权等登录机制)(3)是的,Java是当前问题的最佳平台解决方案,原因超出了本文的范围(4)客户端.class文件需要反编译防护最后(第4个)要求是这篇文章的基础。我真的不担心有人反编译并获取我的源代码:最终,它只是一些轻量级业务逻辑驱

java - 在我的类(class)中将 super() 或 this() 放在哪里

我有一个Servlet类,用于处理我不想在我拥有的每个Servlet上重复的功能。我仍在努力(即它仍然只加载index.jsp而不是其他文件)。publicclassMyServletextendsHttpServlet{publicMyServlet(){super();}publicvoidloadView(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{RequestDispatcherdispatcher=request.getRequestDisp

java - 访问未覆盖的父类(super class)方法时使用 'super' 关键字

我正在尝试掌握Java中的继承窍门,并且了解到当覆盖子类中的方法(和隐藏字段)时,仍然可以使用“super”关键字从父类(superclass)访问它们。我想知道的是,“super”关键字是否应该用于非覆盖方法?有什么区别(对于非覆盖方法/非隐藏字段)吗?我在下面整理了一个示例。publicclassVehicle{privateinttyreCost;publicVehicle(inttyreCost){this.tyreCost=tyreCost;}publicintgetTyreCost(){returntyreCost;}}和publicclassCarextendsVehic

java - 为什么 private static field = new Singleton 在 Java 中不懒惰?

我看了很多关于Singleton的文章,其中大部分作者都说Java中Singleton的这种变体:publicclassSingleton{privatestaticSingletoninstance=newSingleton();privateSingleton(){}publicstaticSingletongetInstance(){returninstance;}}是不懒惰(然后是EAGER)。但我不明白为什么,Singleton()构造函数只会在Singleton类初始化时被调用。我知道几个可以触发类初始化的原因:将new与构造函数一起使用(但在这种情况下,构造函数是私有(p

java - Form 类中的方法 form(Class<T>) 在 Play 中已弃用!框架

我花了很多时间试图解决这个问题,并寻找替代这个问题的方法,但没有成功。首先,玩!我有义务使用和注入(inject)FormFactory(在https://www.playframework.com/documentation/2.5.0/JavaForms中解释)。但只是为了实例化这个FormFactory,我必须为其构造函数传递3个参数,即MessagesApi、Formatters和Validator。包括,我必须实例化Validator接口(interface),但我不确定这是正确的方法。为了更简单,我把它放在另一个类中:packagecontrollers;importjav

Java 8 : method reference to a static method in a non-static way

我正在研究用于OCP考试的新StreamAPI,我发现了一些我不太理解的东西。这是我的代码:voidmethodOne(){this.compare(1,2);//Thisworksfine.Stream.of(1,2,3).sorted(this::compare);//Compilationerror.}staticIntegercompare(Integers1,Integers2){return0;}这里我有一个名为compare的静态方法和一个名为compare的非静态方法。如果我从非静态方法调用比较方法,我会收到编译器警告:Themethodcompare(Integer,

java - 不寻常的 "static"方法声明

publicclassCard{publicenumRank{DEUCE,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING,ACE}publicenumSuit{CLUBS,DIAMONDS,HEARTS,SPADES}privatefinalRankrank;privatefinalSuitsuit;privateCard(Rankrank,Suitsuit){this.rank=rank;this.suit=suit;}publicRankrank(){returnrank;}publicSuitsuit(){retu

java - 使用 java : import static 的任何性能问题

我们在代码中经常使用util函数和一些功能,如Logger、EventWriter、一些常见的DB调用等。我更喜欢这些函数是静态的,因为在我的每个代码中实例化这些类中的函数会严重影响性能(会是吗?!!!?,我在stackoverflow中读到过多的类实例化会性能受到影响,我正在开发一个具有大型客户数据库和服务器上高访问日志的项目)。我遇到了看起来很酷的staticimportinjava,我想知道:在使用它之前是否有任何严重的考虑?我已经从StackOverFlow收集到的东西:UsingstaticimportcouldmaketheCodeNon-Readable,likejudg

java - 为什么 double.class 不等于 java.lang.Double.class?

既然原始double型是用java.lang.Double类表示的,那么double.class不应该等于java.lang.Double.class吗?(这当然也发生在其他原始类型上)System.out.println(double.class==Double.class);输出:Result:false 最佳答案 Double.class是包装器类型Double对应的类对象。double其实不是类,double.class是反射中用来表示参数或返回类型具有原始类型的对象double.

java - 类数组列表 : ArrayList<Class> but how to force those classes to extend some super class?

我想管理类的ArrayList。例如,我有3种类型的过滤器:TextFilter、DurationFilter和扩展Filter的TimeFilter。这似乎是正确的:Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(DurationFilter.class);filters.add(TimeFilter.class);但是现在我想用来限制ArrayList类型Listfilters=newArrayList();filters.add(TextFilter.class);filters.add(D