126:
950:(RTSJ) is a set of interfaces and behavioral refinements that enable real-time computer programming in the Java programming language. RTSJ 1.0 was developed as JSR 1 under the Java Community Process, which approved the new standard in November, 2001. RTSJ 2.0 is being developed under JSR 282. A draft version is available at JSR 282 JCP Page. More information can be found at RTSJ 2.0
24:
65:
1001:). This use is required because Java operators are not based on code generation. As a result, windows are automatically managed by the runtime to guarantee SPL window semantics. Developers can check for valid window configurations during runtime by checking the window policy associated to a given input port.
985:
With the windowing library, developers can specify different eviction and trigger policies but can implement the event handling actions independently of the window policy details. There are a few differences when implementing primitive operators in C++ and Java that take advantage of the SPL window
937:
The RTSJ addressed the critical issues by mandating a minimum (only two) specification for the threading model (and allowing other models to be plugged into the VM) and by providing for areas of memory that are not subject to garbage collection, along with threads that are not preempt able by the
965:
The windowing library is a set of classes available in the
Streams Processing Language (SPL) Runtime C++ API and the SPL Java™ Operator API. The library is used to implement primitive operators that need windows following the SPL window semantics. Using the windowing library provides a consistent
989:
In the C++ implementation, developers have no obligation to use the window library (the preferred practice is to use library). They are free to use the SPL Operator Code
Generation API just to get the specified window policy for a given operator instance. Then, they can generate code using other
969:
SPL offers both tumbling and sliding windows. Both types of windows keep all the incoming data in memory until its tuple eviction policy triggers. Use the SPL support for windows when the functionality required by the primitive operator can be built using the semantics provided by SPL window
918:
Java's sophisticated memory management, native support for threading and concurrency, type safety, and relative simplicity have created a demand for its use in many domains. Its capabilities have been enhanced to support real time computational needs:
981:
operator. This action occurs because this operator has different eviction and trigger semantics than the ones provided by SPL. This operator needs to maintain only unique tuples and discards all repeated tuples that are received within a time window.
81:
Violates
Knowledge (XXG):External links: "Knowledge (XXG) articles may include links to web pages outside Knowledge (XXG) (external links), but they should not normally be used in the body of an article."
255:. These packages (java.* packages) are the core Java language packages, meaning that programmers using the Java language had to use them in order to make any worthwhile use of the Java language.
258:
Optional APIs that can be downloaded separately. The specification of these APIs are defined according to many different organizations in the world (Alljoyn, OSGi, Eclipse, JCP, E-S-R, etc.).
934:(RTSJ) have emerged, including a reference implementation from Timesys, IBM's WebSphere Real Time, Sun Microsystems's Java SE Real-Time Systems, Aonix PERC or JamaicaVM from aicas.
926:
Because Java threads support priorities, Java locking mechanisms support priority inversion avoidance techniques, such as priority inheritance or the priority ceiling protocol.
915:
is a catch-all term for a combination of technologies that allows programmers to write programs that meet the demands of real-time systems in the Java programming language.
930:
To overcome typical real time difficulties, the Java
Community introduced a specification for real-time Java, JSR001. A number of implementations of the resulting
368:
A full-featured, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices.
728:
723:
733:
393:
993:
In the Java implementation, developers must use the window library. This action can be achieved by registering a class that implements
143:
37:
244:
227:
209:
107:
51:
977:
operator. An example operator that buffers recently received tuples but that does not use the windowing library and syntax is the
190:
162:
336:
147:
901:
169:
241:
85:
75:
1076:
176:
136:
421:
1034:
853:
158:
1044:
1005:
791:
Following is a very incomplete list, as the number of APIs available for the Java platform is overwhelming.
990:
containers. In addition, developers can check for valid window configurations during code generation time.
660:
580:
476:
386:
An API that enables audio, video and other time-based media to be added to Java applications and applets.
43:
289:
973:
One example operator from the SPL Standard
Toolkit that uses the windowing library and syntax is the
886:
795:
470:
378:
689:
412:
1071:
1039:
896:
802:
744:
593:
447:
183:
623:
402:
327:
298:
443:
754:
938:
garbage collector. These areas are instead managed using region-based memory management.
837:
828:
670:
492:
434:
251:
The official core Java API, contained in the
Android (Google), SE (OpenJDK and Oracle),
891:
262:
The following is a partial list of application programming interfaces (APIs) for Java.
89:
1065:
966:
window policy semantic across operators, and simplifies the operator implementation.
874:
638:
518:
608:
585:
427:
483:
466:
125:
84:
The references used may be made clearer with a different or consistent style of
954:
819:
682:
678:
824:
807:
566:
361:
774:
457:
276:
252:
701:
833:
737:
550:
496:
371:
857:
749:
302:
861:
849:
352:
119:
58:
17:
995:
com.ibm.streams.operator.window.StreamWindowListener<T>
783:
767:
312:
Association for the standardization of embedded platforms
318:
1056:
999:(com.ibm.streams.operator.window.StreamWindow<T>
923:
Java supports a strict priority based threading model.
534:
502:
150:. Unsourced material may be challenged and removed.
697:
297:A set of interfaces that support a high-level
8:
52:Learn how and when to remove these messages
997:that handles events generated by a window
515:A USB communication of Java applications
245:application programming interfaces (APIs)
228:Learn how and when to remove this message
210:Learn how and when to remove this message
108:Learn how and when to remove this message
708:
653:
573:
269:
724:Connected Limited Device Configuration
7:
852:SDK, the Java implementation of the
148:adding citations to reliable sources
1057:APISonar - Search Java API examples
394:Java Naming and Directory Interface
803:Eclipse Rich Client Platform (RCP)
14:
563:Java library for the Discord API
547:Java library for the Twitter API
33:This article has multiple issues.
948:Real-Time Specification for Java
942:Real-Time Specification for Java
932:Real-Time Specification for Java
281:Description and Version History
124:
63:
22:
335:A specification of Java object
135:needs additional citations for
41:or discuss these issues on the
531:Facebook API wrapper in Java.
1:
1093:
814:Office_compliant libraries
588:(s) that contain the API
422:object-relational mapping
242:Java programming language
734:Reference implementation
1045:List of Java frameworks
1006:Standard Widget Toolkit
860:file archive software (
301:allowing to manipulate
240:There are two types of
79:. The reason given is:
761:STM32 Java technology
796:Rich client platforms
509:Java USB for Windows
290:Java Advanced Imaging
856:used by the popular
442:This API allows for
420:A specification for
379:Java Media Framework
144:improve this article
961:Windowing libraries
908:Real-time libraries
690:XQuery API for Java
413:Jakarta Persistence
159:"List of Java APIs"
1040:Java ConcurrentMap
777:embedded platform
745:Java Telephony API
602:jakarta.activation
594:Jakarta Activation
448:speech recognition
403:directory services
1077:Lists of software
1013:Physics libraries
808:NetBeans Platform
789:
788:
707:
706:
652:
651:
624:Jakarta Messaging
572:
571:
557:Discord Java API
328:Java Data Objects
315:E-S-R consortium
299:programming model
238:
237:
230:
220:
219:
212:
194:
118:
117:
110:
56:
1084:
709:
654:
648:
633:
618:
603:
574:
444:speech synthesis
270:
233:
226:
215:
208:
204:
201:
195:
193:
152:
128:
120:
113:
106:
102:
99:
93:
67:
66:
59:
48:
26:
25:
18:
1092:
1091:
1087:
1086:
1085:
1083:
1082:
1081:
1062:
1061:
1053:
1031:
1000:
996:
980:
976:
944:
838:Microsoft Excel
829:Microsoft Excel
718:Available from
671:Jakarta XML RPC
665:Available from
646:
631:
616:
601:
435:Java Speech API
284:Available from
268:
234:
223:
222:
221:
216:
205:
199:
196:
153:
151:
141:
129:
114:
103:
97:
94:
83:
74:has an unclear
68:
64:
27:
23:
12:
11:
5:
1090:
1088:
1080:
1079:
1074:
1064:
1063:
1060:
1059:
1052:
1051:External links
1049:
1048:
1047:
1042:
1037:
1030:
1027:
1026:
1025:
1022:
1019:
1015:
1014:
1010:
1009:
998:
994:
978:
974:
963:
962:
958:
957:
943:
940:
928:
927:
924:
913:Real time Java
910:
909:
905:
904:
899:
894:
892:jMonkey Engine
889:
883:
882:
878:
877:
871:
870:
866:
865:
862:available here
846:
845:
841:
840:
831:
822:
816:
815:
811:
810:
805:
799:
798:
787:
786:
784:available here
781:
778:
771:
770:
768:available here
765:
762:
758:
757:
755:available here
752:
747:
741:
740:
738:available here
731:
726:
720:
719:
716:
713:
705:
704:
695:
692:
686:
685:
676:
673:
667:
666:
663:
658:
650:
649:
644:
641:
635:
634:
629:
626:
620:
619:
614:
611:
605:
604:
599:
596:
590:
589:
583:
578:
570:
569:
567:available here
564:
561:
558:
554:
553:
551:available here
548:
545:
542:
538:
537:
535:available here
532:
529:
526:
522:
521:
519:available here
516:
513:
510:
506:
505:
503:available here
500:
489:
486:
480:
479:
477:available here
474:
463:
460:
454:
453:
451:
440:
437:
431:
430:
428:available here
425:
418:
415:
409:
408:
406:
399:
396:
390:
389:
387:
384:
381:
375:
374:
372:available here
369:
366:
364:
358:
357:
355:
350:
347:
343:
342:
340:
333:
330:
324:
323:
321:
316:
313:
309:
308:
306:
295:
292:
286:
285:
282:
279:
274:
267:
264:
260:
259:
256:
236:
235:
218:
217:
132:
130:
123:
116:
115:
76:citation style
71:
69:
62:
57:
31:
30:
28:
21:
13:
10:
9:
6:
4:
3:
2:
1089:
1078:
1075:
1073:
1070:
1069:
1067:
1058:
1055:
1054:
1050:
1046:
1043:
1041:
1038:
1036:
1035:Java Platform
1033:
1032:
1028:
1023:
1020:
1017:
1016:
1012:
1011:
1007:
1004:
1003:
1002:
991:
987:
983:
971:
967:
960:
959:
956:
953:
952:
951:
949:
941:
939:
935:
933:
925:
922:
921:
920:
916:
914:
907:
906:
903:
900:
898:
895:
893:
890:
888:
885:
884:
880:
879:
876:
875:Jackson (API)
873:
872:
868:
867:
863:
859:
855:
851:
848:
847:
843:
842:
839:
835:
832:
830:
826:
823:
821:
818:
817:
813:
812:
809:
806:
804:
801:
800:
797:
794:
793:
792:
785:
782:
779:
776:
773:
772:
769:
766:
763:
760:
759:
756:
753:
751:
748:
746:
743:
742:
739:
735:
732:
730:
727:
725:
722:
721:
717:
714:
711:
710:
703:
699:
696:
693:
691:
688:
687:
684:
680:
677:
674:
672:
669:
668:
664:
662:
659:
656:
655:
647:jakarta.faces
645:
642:
640:
639:Jakarta Faces
637:
636:
630:
627:
625:
622:
621:
615:
612:
610:
607:
606:
600:
597:
595:
592:
591:
587:
584:
582:
579:
576:
575:
568:
565:
562:
559:
556:
555:
552:
549:
546:
543:
540:
539:
536:
533:
530:
527:
524:
523:
520:
517:
514:
511:
508:
507:
504:
501:
498:
494:
490:
487:
485:
482:
481:
478:
475:
472:
468:
464:
461:
459:
456:
455:
452:
449:
445:
441:
438:
436:
433:
432:
429:
426:
423:
419:
416:
414:
411:
410:
407:
404:
400:
397:
395:
392:
391:
388:
385:
382:
380:
377:
376:
373:
370:
367:
365:
363:
360:
359:
356:
354:
351:
348:
345:
344:
341:
338:
334:
331:
329:
326:
325:
322:
320:
317:
314:
311:
310:
307:
304:
300:
296:
293:
291:
288:
287:
283:
280:
278:
275:
272:
271:
265:
263:
257:
254:
250:
249:
248:
246:
243:
232:
229:
214:
211:
203:
200:December 2017
192:
189:
185:
182:
178:
175:
171:
168:
164:
161: –
160:
156:
155:Find sources:
149:
145:
139:
138:
133:This article
131:
127:
122:
121:
112:
109:
101:
98:December 2017
91:
87:
82:
78:
77:
72:This article
70:
61:
60:
55:
53:
46:
45:
40:
39:
34:
29:
20:
19:
16:
992:
988:
984:
972:
970:constructs.
968:
964:
947:
945:
936:
931:
929:
917:
912:
911:
881:Game engines
790:
617:jakarta.mail
609:Jakarta Mail
586:Java package
495:library for
346:Android API
261:
239:
224:
206:
197:
187:
180:
173:
166:
154:
142:Please help
137:verification
134:
104:
95:
80:
73:
49:
42:
36:
35:Please help
32:
15:
979:DeDuplicate
897:JPCT Engine
844:Compression
632:jakarta.jms
484:Java OpenGL
467:scene graph
401:An API for
337:persistence
1066:Categories
955:Javolution
820:Apache POI
764:STM32Java
541:Twitter4j
170:newspapers
90:footnoting
38:improve it
1072:Java APIs
975:Aggregate
44:talk page
1029:See also
986:clause.
780:MicroEJ
715:Acronym
675:JAX-RPC
362:JavaHelp
305:easily.
86:citation
1021:JBullet
775:MicroEJ
661:Acronym
613:(none)
581:Acronym
544:(none)
528:(none)
525:RestFB
512:(none)
493:wrapper
469:-based
458:Java 3D
349:Google
277:Acronym
253:MicroEJ
184:scholar
1018:JBox2D
836:- for
834:JExcel
827:- for
497:OpenGL
439:JSAPI
303:images
186:
179:
172:
165:
157:
1024:dyn4j
1008:(SWT)
902:LWJGL
887:Slick
858:7-Zip
750:JTAPI
712:Name
657:Name
577:Name
488:JOGL
473:API.
398:JNDI
273:Name
191:JSTOR
177:books
946:The
869:JSON
850:LZMA
729:CLDC
702:here
700:and
698:here
694:XQJ
683:here
681:and
679:here
643:JSF
628:JMS
598:JAF
560:JDA
462:J3D
446:and
417:JPA
383:JMF
353:here
332:JDO
319:here
294:JAI
266:APIs
163:news
88:and
854:SDK
825:JXL
736:is
146:by
1068::
499:.
491:A
471:3D
465:A
450:.
424:.
405:.
339:.
247::
47:.
864:)
231:)
225:(
213:)
207:(
202:)
198:(
188:·
181:·
174:·
167:·
140:.
111:)
105:(
100:)
96:(
92:.
54:)
50:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.