MimeMessage.saveChanges真的很慢

由于包含m.saveChanges() ,以下测试大约需要5秒钟才能执行。 import org.junit.Before; import org.junit.Test; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.internet.MimeMessage; import java.io.IOException; import java.util.Properties; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @Test public void test1() throws MessagingException, IOException { Session s = Session.getDefaultInstance(new Properties()); MimeMessage m = new MimeMessage(s); m.setContent(“Hello”, “text/html; charset=utf-8”); m.saveChanges(); assertEquals(m.getContent(), “Hello”); assertEquals(m.getContentType(), “text/html; charset=utf-8”); } 我也用mockito嘲笑了Session,但它没有帮助: Session […]

间隔运行Java线程

我有一个需要每10秒执行一次的线程。 该线程包含对另一台服务器上的数据库的多次调用(12-15)。 此外,它还可以访问大约3个文件。 因此,将会有相当多的IO和网络开销。 执行上述操作的最佳策略是什么? 一种方法是使用sleep方法和while循环,但这将是一个糟糕的设计。 在这种情况下,类似于Timer的类会有用吗? 另外,最好是创建几个线程(一个用于IO,一个用于JDBC),而不是让它们在一个线程中运行?

使用volley库,在onResponse方法中,ArrayList有一些数据,但在OnResponse方法之外,arraylist是空的

我在模型中进行网络操作,然后返回结果,但是当我返回时,arraylist大小为零,但在onResponse方法中,arraylist大小不为零。 怎么解决这个? public class doInBackground { //i have initialized the arraylist here ArrayList arrayList=new ArrayList(); String url=”http://192.168.10.3/volley/allUser.php”; private Context context; public doInBackground(Context context){ this.context=context; } public ArrayList getArrayList(){ JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(Request.Method.POST, url, null, new Response.Listener() { @Override public void onResponse(JSONArray response) { for(int i=0;i<response.length();i++){ try { JSONObject jsonObject=response.getJSONObject(i); Contact contact=new Contact(); contact.setName(jsonObject.getString("name")); contact.setUserName(jsonObject.getString("username")); arrayList.add(contact); } […]

JScrollPane中的JTable:禁用滚动条的最佳高度

我使用以下代码在JScrollPane创建JTable以显示列标题 JTable不会显示列标题 String[] columnNames = {“header1”, “header2”, “header2”, “header3”}; Object[][] data = new Object[num][4]; //feed values into data using for JTable chart = new JTable(data, columnNames); chart.setShowVerticalLines(false); chart.setEnabled(false); chart.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); JScrollPane sp = new JScrollPane(chart); sp.setPreferredSize(new Dimension(width, chart.getHeight() + 5)); panel.add(sp); 问题是我需要为JScrollPane计算一个高度 ,这样整个JTable就可以看到,而JScrollBar也不会出现。 我怎样才能做到这一点? num从2变为4,如果是4,则会出现滚动条。 width是固定的。

如何从部署到Websphere 6.1的EJB访问身份validation别名

我需要在EJB中为密钥库提供密码,但我不希望它对开发人员可见。 我的想法是在Websphere Console中创建身份validation别名,然后查找MY_ALIAS并从别名获取密码。 我在以下网站找到了一些与主题相关的讨论: http : //www.coderanch.com/t/79439/Websphere/Authentication 有人知道可以别名吗? 您建议的方法是什么来实现我的目标? 非常感谢你!

添加元素后,ArrayList为空

我有这个Android代码从服务器带来一个JSON并从该JSON填充一个ArrayList我检查了响应空间内的ArrayList“饭”的大小它给了我1但是当我在StringRequest对象后检查它我得到0项。 餐点在全局范围内定义并在oncreateview函数内初始化。代码: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment Log.i(“debug”,”on create view”); View view =inflater.inflate(R.layout.fragment_meal_list,container,false); ListView List ; meals=new ArrayList(); String url=”http://syriankitchen.tk/get_recent.php”; StringRequest mealsrequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { @Override public void onResponse(String response) { try{ JSONObject object= new JSONObject(response); JSONArray mealsArray = object.getJSONArray(“result”); […]

从类名中动态创建java中的对象,并使用带数据的List设置类字段

我有一个包含String类型数据的List – > [“classField1”, “classField2”, “classField3”] 我有一个方法( myMethod(List list, String className) )接受List作为参数。 所以,我可以通过参数将此List传递给myMethod(List list,String className)。 在myMethod ,我想创建一个对象,它将是className的实例,即第二个参数。 之后,我想通过使用List的数据设置类的字段。 由于我想动态获取类的字段,因此上面的结果是我必须将列表的每个String值转换为类的每个字段的类型。 我确信列表中的字符串顺序是正确的顺序,并且对应于具有相同顺序的类的字段。 有没有人知道如何执行上述操作? 例: [“StringtempValue”, “StringUnitOfMeasurement”] => 创建实例对象: public class TempStruct { private double tempValue; private String unitOfMeasurement; public TempStruct(double tempValue, String unitOfMeasurement) { this.tempValue = tempValue; this.unitOfMeasurement = unitOfMeasurement; } } 我尝试用以下方式提供解决方案: 实际上我想创建一个现有类的对象,我试图用reflection做。 我使用以下代码: Class cls […]

需要存储2d列表但不使用数组

考虑到我有一个包含以下格式数据的txt文件: “Home” “A1” “Car” “A2” “Home” “B1” “Home” “A1” “Car” “A2” “Man” “B1” 如何存储此类数据以及排序格式,无需重复数据? 但是第一和第三个元素不能删除,因为它们与第二个参数不同(允许重复第二个参数,但不允许第一个和第二个参数)。 请建议适合Java的更好的collections。 另外请举个例子,因为我是Java的新手。

用Java解析各种自定义XML文档的最佳方法

使用Java解析多个离散的自定义XML文档的最佳方法是什么?

对最后一行除了JTable排序

我有一个JTable ,其中最后一行是聚合所有其他行的总行。 当用户单击表上的列标题时,行按该列排序,但总行应始终位于底部。 有没有一种简单的方法来使用TableRowSorter实现它?