Tag: 动态

将动态属性映射读入Spring托管bean

我有这样的属性文件: my.properties file: app.One.id=1 app.One.val=60 app.Two.id=5 app.Two.val=75 我在Spring配置文件中将这些值读入我的bean中的map属性,如下所示: spring-config.xml: 这样,如果我向属性文件添加一个新的id / val,我必须在config xml中添加一行,以便在myMap中拥有新的id / val。 我的问题是,有没有办法在spring配置文件中指定key-val对,以便xml中定义的key-val数量可以计算出属性文件中的项目并创建一个map。 基本上我想在不同的环境中使用这个xml文件,我们在属性文件中使用不同数量的键值项。 我只是不想在每个环境中更改xml文件以读取所有这些值。 如果您需要任何其他细节,请告诉我。 任何想法/意见表示赞赏。 谢谢!

使用invokedynamic实现多个分派

我想知道Java7的新invokedynamic字节码指令是否可用于实现Java语言的多个调度 。 java.lang.invoke下的新API是否有助于执行此类操作? 我考虑的场景如下所示。 (这看起来像访问者设计模式的应用案例,但可能有理由认为这不是一个可行的选择。) class A {} class A1 extends A {} class A2 extends A {} class SomeHandler { private void doHandle(A1 a1) { … } private void doHandle(A2 a2) { … } private void doHandle(A a) { … } public void handle(A a) { MultipleDispatch.call(this, “doHandle”, a); } } 那么库类MultipleDispatch会做类似的事情: class MultipleDispatch […]

具有动态字段的Java类

我正在寻找构建动态Java类的聪明方法,即可以在运行时添加/删除字段的类。 使用场景:我有一个编辑器,用户应该能够在运行时向模型添加字段,甚至可以在运行时创建整个模型。 一些设计目标: 如果可能的话,在没有强制转换的情况下键入safe,以用于动态字段的自定义代码(该代码将来自以不可预见的方式扩展模型的插件)。 良好的性能(你能击败HashMap吗?也许在设置过程中使用数组并为字段分配索引?) 字段“重用”(即如果在几个地方使用相同类型的字段,则应该可以定义一次然后重复使用它)。 计算字段取决于其他字段的值 当字段更改值时(不一定通过Beans API),应发送信号 “自动”父子关系(当您将子项添加到父项时,子项中的父指针应设置为“free”)。 容易明白 使用方便 请注意,这是一个“在圈外思考”的问题。 我将在下面发布一个例子让你心情愉快:-)

Java方法中的动态返回类型

我在这里多次看过类似这样的问题,但有一个很大的区别。 在其他问题中,返回类型由参数确定。 我想要/需要做的是通过byte[]的解析值确定返回类型。 根据我的收集,以下内容可行: public Comparable getParam(String param, byte[] data) { if(param.equals(“some boolean variable”) return data[0] != 0; else(param.equals(“some float variable”) { //create a new float, f, from some 4 bytes in data return f; } return null; } 我只想确保在我搞砸之前有机会工作。 提前致谢。

我该如何解决? KnapSack – 值全部相同,但每个其他对象有三个权重

解决我的运动有问题。 我读到了动态编程和算法,我认为我的练习是“特定的背包问题”。 我用蛮力方法解决了它,但我无法用动态编程解决它。 我有一艘有300吨重量的船(背包)。 存在晶体本身具有3种物质(X,Y,Z) – 彼此物质具有重量并且所有晶体具有相同的值。 我需要打包尽可能多的水晶,但所有包装晶体的物质比例必须是1:1:1。 但是,例如,如果我有三个比例为1:1:1的晶体,它们产生最大的吨数,八个晶体产生相同数量的晶体(另外两个晶体组合产生最大吨数),我需要选择具有最少数量晶体的组合。 我用蛮力方法解决了它 – 我创建了一个包含所有组合的数组列表。 接下来,我发现它们以1:1:1的比例组合。 接下来,我发现这种组合产生了最大的吨数,并且具有最少的晶体数量(如果有两个或更多组合具有相同的最大吨数)。 我检查了测试,它返回了很好的分数,我不知道如何用动态编程解决它; /有人帮我吗? 例如,当我有10个晶体时: 1) X =2 Y =3 Z =4 2) X =5 Y=10 Z =2 3) X =3 Y =3 Z =3 4) X =1 Y =0 Z =6 5) X =9 Y=12 Z =4 6) X =1 Y =1 […]

android动态壁纸视差滚动效果

当我们滚动时,主屏幕的前景(图标,小部件等)向全屏宽度向左或向右移动,但背景图像(或动态壁纸)仅移动该宽度的一小部分。 我的问题是如何得到这种效果。 到现在为止已经这样做了。 SurfaceHolder holder = getSurfaceHolder(); Canvas canvas = null; try { canvas = holder.lockCanvas(); if (canvas != null) { drawCircles(canvas); } } finally { if (canvas != null) holder.unlockCanvasAndPost(canvas); } 绘制function是 { private void draw(Canvas canvas) { Paint paint = new Paint(); DisplayMetrics metdisplayMatrics = new DisplayMetrics(); Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); display.getMetrics(metdisplayMatrics); […]

动态重新加载jar文件内容

我的应用程序的类路径中有一个jar文件。 在运行时,我向jar文件添加新类,有时还修改现有类的字段/方法。 目前我正在使用URLClassLoader动态加载类。 动态添加的新类正确加载,我可以在运行时使用它们。 但它无法重新加载在运行时修改的现有类。 我阅读了许多文章,声明我们需要显式处理重新加载,因为在类的所有引用都被销毁之前,不会重新加载一次加载的类。 此外,我尝试了我找到的示例代码,但没有一个工作。 任何人都可以建议我适当的重新加载方法吗? 任何示例代码都将受到高度赞赏。

非常简单的Java动态强制转换

简单的问题,但我用了一个多小时。 我的代码如下。 我需要使SomeClass sc动态化。 因此,您将类名作为字符串传递给函数,并使用该类代替静态someClass。 怎么去呢? SomeClass sc; if (someOtherClassObject instanceof SomeClass){ sc=(SomeClass) someOtherClassObject; 我想要的是 public void castDynamic (String strClassName){ //cast the classname referred by strClassName to SomeClass //if it is the instance of SomeClass } 编辑:以上是简化。 实际的代码就是这个 public void X(String className, RequestInterface request) { //My current code is this, I need to change so […]

java swing动态添加组件

我是Java Swing的新手。 我对在Swing中动态添加组件有一些疑问。 基本上我有一个主JPanel由两个子JPanel (leftpanel和rightpanel)组成,它们是水平排列的。在左边的JPanel我有一些JButtons ,当我点击JButton我需要在右边的JPanel显示一些JLabel , JTextArea等。 我尝试了一个代码,但它不起作用。当我点击按钮时它进入事件监听器function,但JLabel我无法查看。 我在下面给出了我的代码。 请看看这个并纠正我。 提前致谢 package my; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; /** * * @author root */ public class myAplliwithPanel extends JFrame{ JPanel rightPanel; public myAplliwithPanel() { initGui(); } public void initGui() { JPanel mainPanel=new JPanel(); […]

在JDBC查询中使用表名作为参数的安全方法

将表名作为参数放入SQL查询的安全方法是什么? 您不能使用PreparedStatement将表名作为参数。 可以使用Statement连接字符串以使用动态表名执行查询,但是由于SQL注入的风险,不建议使用它。 这样做的最佳方法是什么?