Skip to main content

Skip over site navigation to main content

developerWorks  >   Java technology  >   Technical library  >  

Technical library view  RSS for Java technology

developerWorks
 Related links:    Redbooks  |  Forums  |  Standards

Filter your search and/or enter a keyword. If you don't filter your search or enter a keyword, the search results will default to all results.

 
 
 
  1 - 41 of 41 results    Hide Summaries
Title   Type   Date  

Table that contains the results that meet the search criteria.

The busy Java developer's guide to Scala: Dive deeper into Scala concurrency
Concurrency quickly became the sizzling topic on the minds of every software developer after major chip manufacturers started to release chips that weren't necessarily faster but were running two or more cores in parallel. In this follow-up to his introduction to Scala concurrency, Ted Neward takes a deeper look at this hot-topic with an examination of actors, those executing entities that pass messages among themselves to coordinate work.
Articles 10 Apr 2009  
 
The busy Java developer's guide to Scala: Enhancing the Scitter library
Scala is fun to talk about in the abstract, but using it in a practical way makes the difference between seeing it as a "toy" and using it on the job. In this follow-up article to his introduction to Scitter, a Scala client library for accessing Twitter, Scala enthusiast Ted Neward offers a more interesting and useful set of features for the client library.
Articles 02 Jun 2009  
 
The busy Java developer's guide to Scala: Implementation inheritance
Scala gives you just as much support for implementation inheritance as the Java language does -- but Scala's inheritance yields a few surprises. This month, Ted Neward introduces you to polymorphism done the Scala way, blending functional and object-oriented language styles while still mapping perfectly to the Java platform's inheritance model.
Articles 28 May 2008  
 
The busy Java developer's guide to Scala: Explore Scala concurrency
The "gateway drug" to Scala for many, if not most, Java programmers is the promise of easier coding when dealing with concurrency and writing thread-safe code. In this installment, Ted Neward begins to dive into the various concurrency features and libraries provided by the Scala language and environment.
Articles 04 Feb 2009  
 
The busy Java developer's guide to Scala: Updating Twitter, with Scitter
The Scitter client library is almost ready to be released into the wild, but it needs a few finishing touches. In this installment of The busy Java developer's guide to Scala, Ted Neward shows you how to incorporate update, show, and delete functionality into the Scala-based library for accessing Twitter.
Articles 20 Oct 2009  
 
The busy Java developer's guide to Scala: Functional programming for the object oriented
The Java platform has historically been the province of object-oriented programming, but even Java language stalwarts are starting to pay attention to the latest old-is-new trend in application development: functional programming. In this new series, Ted Neward introduces Scala, a programming language that combines functional and object-oriented techniques for the JVM. Along the way, Ted makes the case for why you should take the time to learn Scala -- concurrency, for one -- and shows you how quickly it will pay off.
Articles 22 Jan 2008  
 
The busy Java developer's guide to Scala: Scala + Twitter = Scitter
Scala is fun to talk about in the abstract, but for most of the readers of this column, using it in a practical way makes the difference between seeing it as a "toy" and using it on the job. In this installment, Ted Neward uses Scala to build the basic framework for a client library for accessing Twitter, a popular micro-blogging system.
Articles 05 May 2009  
 
The busy Java developer's guide to Scala: Building a calculator, Part 3
Domain-specific languages (DSLs) have become a hot topic; much of the buzz around functional languages is their ability to build such languages. After having established both an AST scheme and a basic front-end parser designed to take text and produce a graph of objects suitable for interpretation, in this article the author thinks it's time to wire everything together into a seamless -- if somewhat trivial at this point -- whole. Then he'll turn around and suggest some extensions that could be made to the language and interpreter.
Articles 25 Nov 2008  
 
The busy Java developer's guide to Scala: Building a calculator, Part 2
Domain-specific languages (DSLs) have become a hot topic; much of the buzz around functional languages is their ability to build such languages. In this latest installment, Ted Neward tackles the problem of transforming textual input into the AST for interpretation by continuing with a simple calculator DSL that demonstrates the power of functional languages for building "external" DSLs. To parse textual input and transform it into the tree structure used by the interpreter in the last article, Ted introduces "parser combinators," a standard Scala library designed solely for the task. (In the previous article, we built a calculator interpreter and AST.)
Articles 21 Oct 2008  
 
The busy Java developer's guide to Scala: Building a calculator, Part 1
Domain-specific languages have become a hot topic; much of the buzz around functional languages is their applicability to build such languages. In this installment, Ted Neward starts building a simple calculator DSL that demonstrates the power of functional languages for building "external" DSLs. Toward that end, he explores a new feature of Scala, case classes, and revisits an old functional friend, pattern matching.
Articles 26 Aug 2008  
 
The busy Java developer's guide to Scala: Packages and access modifiers
Code has to be referenced and packaged in the real world, and in this installment of his series, Ted Neward covers Scala's package and access modifier facilities before continuing to explore of the functional side of Scala by examining the "apply" mechanism.
Articles 29 Jul 2008  
 
The busy Java developer's guide to Scala: Scala and servlets
If Scala is a fully JVM-compatible language, then you should be able to use it in various "real-world" environments such as one in which you build servlets and other Web applications. In this article, the author explores using Scala in a servlet environment.
Articles 22 Dec 2008  
 
The busy Java developer's guide to Scala: Collection types
Objects have their place in Scala, but so do functional types such as tuples, arrays, and lists. In this installment of Ted Neward's popular series, you'll begin to explore the functional side of Scala, starting with its support for types common to functional languages.
Articles 27 Jun 2008  
 
The busy Java developer's guide to Scala: Of traits and behaviors
Scala doesn't just bring functional concepts to the JVM, it offers us a modern perspective on object-oriented language design. In this month's installment, Ted Neward shows you how Scala exploits traits to make objects simpler and easier to build. As you'll learn, traits are both similar to and different from the traditional polarities offered by Java interfaces and C++ multiple inheritance.
Articles 29 Apr 2008  
 
The busy Java developer's guide to Scala: Don't get thrown for a loop!
Scala was written specifically for the Java platform, so its syntax is designed to make Java coders feel at ease. At the same time, Scala brings to the JVM the inherent power of functional languages -- and those functional design concepts take some getting used to. In this installment, Ted Neward starts introducing you to the subtle differences between the two languages, starting with control constructs such as if, while, and for. As you'll learn, Scala gives these constructs a power and complexity you won't find in their Java equivalents.
Articles 26 Mar 2008  
 
The busy Java developer's guide to Scala: Class action
It makes sense for Java developers to use objects as a first point of reference for understanding Scala. In this installment, Ted Neward follows a basic premise of language measurement: that the power of a language can be measured in direct relation to its ability to integrate new facilities -- in this case, support for complex numbers. Along the way you'll see some interesting tidbits related to class definitions and usage in Scala.
Articles 19 Feb 2008  
 
Java theory and practice: More flexible, scalable locking in JDK 5.0
JDK 5.0 offers developers some powerful new choices for developing high-performance concurrent applications. For example, the ReentrantLock class in java.util.concurrent.lock is offered as a replacement for the synchronized facility of the Java language -- it has the same memory semantics, the same locking semantics, better performance under contention, and features not offered by synchronized. Does this mean that we should forget about synchronized, and instead use ReentrantLock exclusively? Concurrency expert Brian Goetz returns from his summer hiatus to supply the answer.
Articles 26 Oct 2004  
 
Ajax for Java developers: Write scalable Comet applications with Jetty and Direct Web Remoting
Ajax applications driven by asynchronous server-side events can be tricky to implement and difficult to scale. Returning to his popular series, Philip McCarthy shows an effective approach: The Comet pattern allows you to push data to clients, and Jetty 6's Continuations API lets your Comet application scale to a large number of clients. You can conveniently take advantage of both Comet and Continuations with the Reverse Ajax technology in Direct Web Remoting (DWR) 2.
Articles 17 Jul 2007  
 
Scala and XML
Scala is a popular new programming language that runs on the Java Virtual Machine (JVM.) Scala compiles into byte-code and thus it can leverage the Java programming language. Its syntax, however, makes it a powerful alternative to Java in certain scenarios. One of those scenarios is XML processing. Scala lets you navigate and process parsed XML in several ways. It also has first class support for XML built right in, so there is no need to create strings of XML or programmatically build DOM trees. In this article, you will see these aspects of Scala in action and see how Scala can make working with XML a joy to do.
Articles 22 Apr 2008  
 
FastSOA: Accelerate SOA with XML, XQuery, and native XML database technology
Many SOA implementations rely on message formats defined with XML. The resulting message schemas can become complex, incompatible, and difficult to maintain, and can cause serious scalability and performance problems. In this article, Frank Cohen describes a new strategy and techniques for accelerating SOA performance through the use of XML, XQuery, and native XML database technology in the SOA mid-tier.
Articles 07 Feb 2006  
 
Java EE meets Web 2.0
Web 2.0 applications developed using standard Java Platform, Enterprise Edition 5 (Java EE)-based approaches face serious performance and scalability problems. The reason is that many principles that underlie the Java EE platform's design especially, the use of synchronous APIs don't apply to the requirements of Web 2.0 solutions. This article explains the disparity between the Java EE and Web 2.0 approaches, explores the benefits of asynchronous designs, and evaluates some solutions for developing asynchronous Web applications with the Java platform.
Articles 06 Nov 2007  
 
Comment lines by Kevin Sutter: An update on Java Persistence API 2.0
As the JPA Expert Group (JSR-317) nears completion of the JPA 2.0 specification, this article introduces you to some of the new concepts and features in this updated specification. It also explains how you can experience this new functionality with the Apache OpenJPA project, an open-source, robust, high performance, scalable implementation of the JPA specification.
Articles 30 Sep 2009  
 
Crossing borders: A Rails case study
Ruby on Rails development and Java development differ in fundamental ways. In this final installment of Crossing borders, Bruce Tate outlines the major differences he's discovered by using Rails to develop a complex, scalable Web site from the ground up.
Articles 10 Apr 2007  
 
Ajax and REST, Part 1
The more that server-side Web applications become immersive by following rich-application models and delivering personalized content, the more their architectures violate Representational State Transfer (REST), the Web's architectural style. These violations can decrease application scalability and increase system complexity. By achieving harmony with REST, Ajax architecture lets immersive Web applications eliminate these negative effects and enjoy REST's desirable properties.
Articles 02 Oct 2006  
 
Google App Engine for Java: Part 1: Rev it up!
Remember when Google App Engine was just for Pythonistas? Those were some dark days. Google Inc. opened up its cloud-computing platform to Java developers in April 2009. In this three-part article series, Java technology author and trainer Rick Hightower gets you started with this reliable, robust, and fun platform for Java-based development. In this article, you'll get an overview of why Google App Engine for Java could be the deployment platform for your next highly scalable killer app, then start using the Google Plugin for Eclipse to build two example apps: one based on Google Web Toolkit (GWT) and one based on the Java Servlet API. You'll learn for yourself what a difference Google App Engine for Java makes, both in building out an application from scratch and in deploying it to the tune of up to five million views. (And that's just the free version.)
Articles 11 Aug 2009  
 
Java theory and practice: State replication in the Web tier
How state will be managed and replicated in a clustered server application has a significant impact on the scalability of the application. Many Java applications store state in the HttpSession provided by the Servlet API. This article examines some of the options for HttpSession replication and how to most effectively use HttpSession to provide good scalability and performance.
Articles 29 Jul 2004  
 
Extend JAAS for class instance-level authorization
The Java Authentication and Authorization Service (JAAS) is an extension to the Java 2 SDK. Under JAAS, a user or service may be given specific permissions to execute code in a Java class. In this article, software engineer Carlos Fonseca shows you how to extend the JAAS framework for the enterprise. Adding class instance-level authorization and special relationships to the JAAS framework lets you build more dynamic, flexible, and scalable enterprise applications.
Articles 01 Apr 2002  
 
Threading lightly, Part 2: Reducing contention
In Part 1 of this series, we examined the performance overhead of uncontended synchronization. With each successive JVM version, overall performance has improved, and the cost of uncontended synchronization has been reduced, making the issue of uncontended synchronization overhead less significant. Contended synchronization, however, is quite expensive. This article will explore several techniques for reducing contention, and hence improving scalability, in your programs.
Articles 05 Sep 2001  
 
Spice up collections with generics and concurrency
The Java Collections Framework is an important aspect of the Java platform. Both desktop and enterprise applications typically collect items to work with. This article shows you how to work with collections while taking advantage of enhancements made to the framework in Java SE 6. You can go far beyond HashMap or TreeSet by using generics and concurrency features to make your applications more maintainable and scalable.
Articles 08 Apr 2008  
 
Google App Engine for Java: Part 3: Persistence and relationships
Data persistence is a cornerstone of scalable application delivery in enterprise environments. In this final article of his series introducing Google App Engine for Java, Rick Hightower takes on the challenges of App Engine's current Java-based persistence framework. Learn the nuts and bolts of why Java persistence in the current preview release isn't quite ready for prime time, while also getting a working demonstration of what you can do to persist data in App Engine for Java applications. Note that you will need to have the contact-management application from Part 2 up and running as you learn how to use the JDO API to persist, query, update, and delete Contact objects.
Articles 25 Aug 2009  
 
Best practices for location-aware services
This tutorial gets you started with IBM Enterprise LAS middleware. Learn the concepts behind the middleware and write a simple location-tracking Web application with the help of Asynchronous JavaScript and XML (Ajax) and Scalable Vector Graphics (SVG) technologies. With these best practices in mind, you'll be on your way to building faster location-tracking systems that can easily integrate with positioning/sensoring technologies, such as RFID and Zigbee.
Tutorials 06 Jun 2006  
 
Crossing borders: Continuations, Web development, and Java programming
The Crossing borders series looks at how non-Java languages solve major problems and what those solutions mean to Java developers today. This article explores continuations, the technique behind frameworks like Smalltalk's Seaside. Continuation servers make it much easier to build Web applications by offering a stateful programming model without giving up the scalability inherent in statelessness.
Articles 21 Mar 2006  
 
Concurrency in JDK 5.0
JDK 5.0 added major new support for developing concurrent applications, including JVM changes, new low-level synchronization utilities, and higher-level, thread-safe, high-performance concurrency classes such as thread pools, concurrent collections, semaphores, latches, and barriers. Learn how these new classes can help make your code faster, more scalable, more reliable, and easier to maintain.
Tutorials 23 Nov 2004  
 
Java theory and practice: Going atomic
Until JDK 5.0, it was not possible to write wait-free, lock-free algorithms in the Java language without using native code. The addition of the atomic variable classes in java.util.concurrent changes that situation. Follow along with concurrency expert Brian Goetz as he explains how these new classes have enabled the development of highly scalable nonblocking algorithms in the Java language. Share your thoughts on this article with the author and other readers in the accompanying discussion forum.
Articles 23 Nov 2004  
 
Merlin brings nonblocking I/O to the Java platform
The Java technology platform is long overdue for a nonblocking I/O mechanism. Fortunately, Merlin (JDK 1.4) has a magic wand for almost every occasion, and unblocking blocked I/O is this magician's specialty. Software engineers Aruna Kalagnanam and Balu G introduce the nonblocking features of Merlin's new I/O package, java.nio (NIO), and employ a socket-programming example to show you just what NIO can do.
Articles 01 Mar 2002  
 
Tip: Make the best use of asynchronous callbacks
It takes some finesse to make the best use of asynchronous callbacks for Ajax data sources in JavaScript applications. This tip discusses why you should use asynchronous callbacks for Ajax data sources and gives examples of coordinating the readiness of mutually dependent application data sources that may become ready at undefined times with asynchronous calls.
Articles 11 Dec 2007  
 
Google App Engine for Java: Part 2: Building the killer app
The whole point of a cloud platform like Google App Engine for Java is in being able to imagine, build, and deploy professional-quality killer apps that scale -- without breaking the bank or driving yourself insane. In this second part of his three-part introduction to Google App Engine for Java, Rick Hightower takes you beyond the ready-made examples of Part 1 with a step-by-step guide to writing and deploying a simple contact-management application using Google App Engine for Java.
Articles 11 Aug 2009  
 
Dead like COBOL
With the recent reports of Java's imminent demise, you're probably wondering if it's time to leave the platform behind for greener pastures. Before you make a decision, step back and examine the Java ecosystem, along with that of its competitors, to see if the rumors have any substance. It's time, in other words, to have a State of the Java Union address, holding neither pride nor prejudice in the evaluation of the platform.
Articles 27 May 2008  
 
Java theory and practice: Synchronization optimizations in Mustang
In the September installment of Java theory and practice, columnist Brian Goetz examined escape analysis, an optimization that has been on the "to-do" list for many JVMs for quite some time and which is expected in HotSpot in the Mustang (Java SE 6) release. Escape analysis can be used to convert heap-based object allocation into the less-expensive, stack-based allocations, but it can also be used to make other optimization decisions as well, including optimizing the use of synchronization. This month Brian introduces some of the synchronization optimizations slated for Mustang. Note: This column describes features of a future version of Sun's HotSpot JVM implementation. Specific features discussed herein may or may not appear in Java SE 6 ("Mustang"); some may be delayed until Java SE 7 ("Dolphin").
Articles 18 Oct 2005  
 
AOP@Work: AOP tools comparison, Part 2
In this second half of his two-part AOP tools comparison, aspect-oriented programming expert Mik Kersten focuses on the tools' integration with the development environment and build process, including a point-by-point comparison of the tools' IDE features. To help you make your final decision, the author concludes with a look at what's to come for these rapidly evolving tools, and provides a summary of each one's strengths and weaknesses. Note that this article addresses the implications of the recently announced merging of the AspectJ and AspectWerkz projects.
Articles 08 Feb 2005  
 
AOP@Work: AOP tools comparison, Part 1
AOP is a technology whose time has come, but how do you choose the right tool for your projects? In this first article in the new AOP@Work series, aspect-oriented programming expert Mik Kersten compares the four leading AOP tools (AspectJ, AspectWerkz, JBoss AOP, and Spring AOP) to help you decide which one is for you. In Part 1 of this two-part discussion, the author focuses on the tools' language mechanisms and the trade-offs imposed by the different approaches.
Articles 08 Feb 2005  
 
  1 - 41 of 41 results    Hide Summaries
Not finding what you're looking for? Suggest Content