草庐IT

collection_time

全部标签

具有元素超时的 Java Collection 实现

是否有一些支持元素过期的集合实现。例如:CollectioncachedUsers=newExpirableList(10000);在哪里publicExpirableList(finallongtimeout){...}在给定时间后(在这个特定示例中为10000ms),添加的元素将从集合中删除。通过使用它,我们将防止我们的cachedUsers集合溢出。 最佳答案 是的,Guava支持定时过期的缓存。参见GuavaExplained'spageoncaches.另一种方法是LRU(最近最少使用)缓存,它在插入新元素时处理最早访问的

java - 如何在 Joda-Time 时间戳中保留时区?

我正在解析时间戳。当我读入它们时,它们被强制使用我本地的时区(欧洲/伦敦)。我想改为保留原始时区偏移量。scala>valfmt=org.joda.time.format.ISODateTimeFormat.dateTimeNoMillis()scala>valt=fmtparseDateTime("2012-04-16T23:00:45-04:00")t:org.joda.time.DateTime=2012-04-17T04:00:45.000+01:00scala>t.getDayOfMonthres2:Int=17scala>fmtprinttres1:java.lang.St

139 Linux 系统编程16 ,信号,kill,alarm,time,setitimer,阻塞/未决信号集,信号4要素,信号的产生,屏蔽信号,捕捉信号,内核捕捉信号过程,父进程捕捉子进程结束信号

1.信号的机制A给B发送信号,B收到信号之前执行自己的代码,收到信号后,不管执行到程序的什么位置,都要暂停运行,去处理信号,处理完毕再继续执行。与硬件中断类似——异步模式。但信号是软件层面上实现的中断,早期常被称为“软中断”。信号的特质:由于信号是通过软件方法实现,其实现手段导致信号有很强的延时性。但对于用户来说,这个延迟时间非常短,不易察觉。每个进程收到的所有信号,都是由内核负责发送的,内核处理。2.信号的产生产生信号:1.按键产生,如:Ctrl+c、Ctrl+z、Ctrl+\2.系统调用产生,如:kill、raise、abort3.软件条件产生,如:定时器alarm4.硬件异常产生,如:非

java - Joda Time - 将日历对象转换为 LocalDate

我有一个方法getCalendarFromClass返回一个Calendar的对象。我正在使用fromCalendarFields方法将它转换为JodaTimeAPI的LocalDate。LocalDate.fromCalendarFields(a.getCalendarFromClass());但是如何在执行此转换时指定TimeZone,因为我没有在javadoc中找到它。fromCalendarFields方法的javadoc提到:每个字段都从日历中查询并分配给LocalDate。如果您一直将日历用作本地日期而忽略时区,这将非常有用。 最佳答案

java - 2个系列之间的区别? (collection1 中的元素,但不在 collection2 中)

在Java中(也许使用Guava?),是否提供了一些方法来获取两个Collection的差异,例如一个List和一个Set没有修改这些Collection之一(否则会有collection1.全部删除(集合2)?在Guava中有Sets.difference(set1,set2),但它只适用于Set,不适用于任意集合。感谢任何提示! 最佳答案 您可以使用内置的Predicate过滤第一个Collection:Collections2.filter(c1,Predicates.not(Predicates.in(c2))它适用于任何类

java - 泛型:无法从 Collections.emptyList() 转换为 List<String>

为什么publicListgetList(){if(isMyListOKReady())returnmyList;returnCollections.emptyList();}编译很好,但是对于publicListgetList(){returnisMyListReady()?myList:Collections.emptyList();}Eclipse说"Typemismatch:cannotconvertfromListtoList"? 最佳答案 您需要注意空列表的类型安全。所以像这样返回空字符串列表publicListgetL

java - 如何根据 Collection 值的大小对 Map 进行排序?

我有一个像这样的HashMap:Map>map=newHashMap();map.put("USA",Arrays.asList("CA","IA","IL"));map.put("India",Arrays.asList("MUM","CAL"));map.put("Canada",Arrays.asList("TOR"));我想根据列表值的大小对map进行升序排序。我该怎么做?在这种情况下,我想订购加拿大、印度、美国的key。 最佳答案 HashMap没有保证的迭代顺序,因此您需要收集到LinkedHashMap为了使排序有意义

java - 如何将 java.sql.Timestamp 转换为 java.time.OffsetDateTime?

我正在处理一个Scala项目,我需要将OffsetDateTime类型映射到SQLTimestamp类型。在数据库中,我想要UTC时间。从OffsetDateTime到Timestamp的转换很简单(来自thisquestion的提示)并且按预期工作:importjava.time._importjava.sql.Timestampvalofsdatetime=OffsetDateTime.now()//ofsdatetime:java.time.OffsetDateTime=2017-04-04T21:46:33.567+02:00valtstamp=Timestamp.valueO

java - 使用 Collection.stream 按特定属性动态分组

我正在尝试使用Java8Collection-Stream按多个属性对对象列表进行分组。这很好用:publicclassMyClass{publicStringtitle;publicStringtype;publicStringmodule;publicMyClass(Stringtitle,Stringtype,Stringmodule){this.type=type;this.title=title;this.module=module;}}Listdata=newArrayList();data.add(newMyClass("1","A","B"));data.add(new

java - 使用 Collection 接口(interface)创建 ArrayList 对象的多态性有什么好处?

我研究了多态性,了解到它可以像下面这样进行动态方法绑定(bind)。假设类Animal是抽象类。publicclassAnimalReference{publicstaticvoidmain(Stringargs[])Animalref//setupvarforanAnimalCowaCow=newCow("Bossy");//makesspecificobjectsDogaDog=newDog("Rover");//nowreferenceeachasanAnimalref=aCow;ref.speak();ref=aDog;ref.speak();}我曾经像这样创建ArrayLis