Deciding when to use "final" in method signatures

Please consider this source code:
public void foo(final Set<String> set) { ... }People who use this class don't need to know that the "set" reference is "final", right?
Edited by: dpxqb on Apr 30, 2010 3:28 AM

Kayaman wrote:
They should be implicitly final so there would be no need for questions like this.I don't understand what that means.
Or does someone here admit to having a habit of reassigning the parameters?I don't understand. I do it when it needs doing. Here is an example where I re-assigned the reference in the method signature:
void foo(Writer w) {
  int i = 0;
  boolean hit = false;
  BufferedWriter bw = new BufferedWriter(w);
  Set<String> set = new HashSet<String>();
  bw.write(c);
  w.write(c); // no exception thrown. the object on the other end of the Writer will act weird
              // which further masks the bug.
}There are two working Writers going to the same location. There is no reason for this, it makes no sense, and it is a bug waiting to happen.
This is how I got my BufferedWriter. Reassign the initial reference:
void foo(Writer w) {
  if(! (w instanceof BufferedWriter)) {
    w = new BufferedWriter(w);
}The only way to write is via a single object. It just prevents me from doing something stupid. I feel safer by eliminating unused references.

Similar Messages

  • Why string has an extra blank when I use EJB business method to get it

    I have the following code:
    Person bean = home.create("Jon", 10, "Huge", 1.0);
    java.util.Enumeration result = home.findAll();
    if (result.hasMoreElements()) {
    Person bean1 =(Person) javax.rmi.PortableRemoteObject.narrow(result.nextElement(), Person.class);
    getTraceWriter().println(" ** name = " + bean1.getName() + ", rank = " + bean1.getRank() +
    ", power = " + bean1.getPower() + ", rating = " + bean1.getRating());
    bean1.remove();
    I found the bean1.getName is "Jon " instead of "Jon". why???? Does sb. have a clue?
    Thanks,
    JST

    Here is the code. Thanks very much!
    import javax.ejb.*;
    import java.sql.*;
    import javax.sql.DataSource;
    import java.util.Vector;
    import java.util.Enumeration;
    import javax.naming.Context;
    public class PersonBean implements EntityBean {
    public String name;
    public int rank;
    public String power;
    public double rating;
    public EntityContext context;
    private DataSource ds = null;
    private String user = "db2admin";
    private String password = "db2admin";
    * ejbCreate method
    * @param name String The person name
    * @exception javax.ejb.CreateException
    public PersonKey ejbCreate(String name)
    throws CreateException {
    return ejbCreate(name, 0, "default", 0.0);
    * ejbCreate method
    * @param name String The person name
    * @param rank int The person rank
    * @param power String The person power
    * @param rating double Rating of the person
    * @exception javax.ejb.CreateException
    public PersonKey ejbCreate(String name, int rank, String power, double rating)
    throws CreateException {
    if (name == null || name.length() == 0) {
    throw new CreateException("Invalid parameter: name cannot be null");
    else if (power == null || power.length() == 0) {
    throw new CreateException("Invalid parameter: power cannot be null");
    this.name = name;
    this.rank = rank;
    this.power = power;
    this.rating = rating;
    Connection con = null;
    PreparedStatement ps = null;
    try {
    System.err.println("before getconnection");
    con = this.getConnection();
    System.err.println("after getconnection");
    ps = con.prepareStatement("insert into TESTMEN values (?,?,?,?)");
    ps.setString(1, name);
    ps.setInt(2, rank);
    ps.setString(3, power);
    ps.setDouble(4, rating);
    if (ps.executeUpdate() != 1) {
    throw new CreateException("Failed to add (" + name + "," + rank + "," +
    power + "," + rating + ") to database.");
    PersonKey pk = new PersonKey(name);
    return pk;
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    public void ejbPostCreate(String name, int rank, String power, double rating) {
    // empty for now
    public void ejbPostCreate(String name) {
    // empty for now
    * ejbFindPrimaryKey
    * Find bean by primary key
    * @return PersonKey Primary key object for the bean
    * @exception FinderException
    * @exception ObjectNotFoundException
    public PersonKey ejbFindByPrimaryKey(PersonKey key)
    throws FinderException, ObjectNotFoundException {
    Connection con = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    boolean found = false;
    boolean multipleFound = false;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("select name from TESTMEN where name = ?");
    ps.setString(1, key.name);
    rs = ps.executeQuery();
    found = rs.next();
    if (found) {
    multipleFound = rs.next();
    if (!multipleFound) {
    return key;
    else {
    throw new FinderException("Multiple objects found with name = " + name);
    else {
    throw new ObjectNotFoundException("Cannot find object with name = " + name);
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (rs != null) rs.close();
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * setEntityContext method
    public void setEntityContext(EntityContext context) {
    this.context = context;
    * unsetEntityContext method
    public void unsetEntityContext() {
    context = null;
    * ejbFindAll method
    * Find all the beans.
    * @return java.util.Enumeration Enumeration of all beans
    public Enumeration ejbFindAll(){
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
    con = this.getConnection();
    stmt = con.createStatement();
    rs = stmt.executeQuery("select * from TESTMEN");
    Vector keys = new Vector();
    while (rs.next()) {
    keys.addElement(new PersonKey(rs.getString("name")));
    return keys.elements();
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (rs != null) rs.close();
    if (stmt != null) stmt.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * ejbActivate() method
    public void ejbActivate() {}
    * ejbPassivate method
    public void ejbPassivate() {}
    * ejbLoad method
    public void ejbLoad() {
    PersonKey pk = (PersonKey) context.getPrimaryKey();
    Connection con = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("select * from TESTMEN where name = ?");
    ps.setString(1, pk.name);
    rs = ps.executeQuery();
    if (rs.next()) {
    name = pk.name;
    rank = rs.getInt("rank");
    power = rs.getString("power");
    rating = rs.getDouble("rating");
    else {
    throw new EJBException("No record found in ejbLoad()");
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (rs != null) rs.close();
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * ejbStore method
    public void ejbStore() {
    Connection con = null;
    PreparedStatement ps = null;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("update TESTMEN set " +
    "name = ?, rank = ?, power =?, rating = ? where name = ?");
    ps.setString(1, name);
    ps.setInt(2, rank);
    ps.setString(3, power);
    ps.setDouble(4, rating);
    ps.setString(5, name);
    if (ps.executeUpdate() != 1) {
    throw new EJBException("Failed in updating database in ejbSotre().");
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();
    * ejbRemove method
    public void ejbRemove() {
    Connection con = null;
    PreparedStatement ps = null;
    try {
    con = this.getConnection();
    ps = con.prepareStatement("delete from TESTMEN where name = ?");
    ps.setString(1, name);
    if (ps.executeUpdate() != 1) {
    throw new EJBException("cannot remove by name = " + name);
    catch (javax.naming.NamingException ne) {
    throw new EJBException (ne);
    catch (SQLException sqle) {
    throw new EJBException(sqle);
    finally {
    try {
    if (ps != null) ps.close();
    if (con != null) con.close();
    catch (SQLException sqle) {
    sqle.printStackTrace();

  • When To Use Inbound and Outbound Interfaces?

    I use an Inbound message type when i am receiving some data and outbound message type when i push data out of the XI box??Is this correct..
    And how to decide when to use a Inbound and Outbound Interface?

    Hi Barik,
    <b>I use an Inbound message type when i am receiving some data and outbound message type when i push data out of the XI box??Is this correct..</b>
    WRONG!!!
    outbound message->XI->Inbound message...
    (sender system)->XI->(reciever system)
    remeber: when u r sending some data to XI u send it using outbound interface.
    and when u r sending some data from Xi to other system u use inbound interface...
    Hope ur doubt is clear!!
    regards
    BILL
    Use a Good Subject Line, One Question Per Posting - Award Points

  • Changing exception clause in method signature when overwriting a method

    Hi,
    I stumbled upon a situation by accident and am not really clear on the details surrounding it. A short description:
    Say there is some API with interfaces Foo and Bar as follows:
    public interface Foo {
       void test() throws Exception;
    public interface Bar extends Foo {
       void test();
    }Now, I find it strange that method test() for interface Bar does not need to define Exception in its throws clause. When I first started with Java I was using Java 1.4.2; I now use Java 1.6. I cannot remember ever reading about this before and I have been unable to find an explanation or tutorial on how (or why) this works.
    Consider a more practical example:
    Say there is an API that uses RMI and defines interfaces as follwows:
    public interface RemoteHelper extends Remote {
       public Object select(int uid) throws RemoteException;
    public interface LocalHelper extends RemoteHelper {
       public Object select(int uid);
    }As per the RMI spec every method defined in a Remote interface must define RemoteException in its throws clause. The LocalHelper cannot be exported remotely (this will fail at runtime due to select() in LocalHelper not having RemoteException in its clause if I remember correctly).
    However, an implementing class for LocalHelper could represent a wrapper class for RemoteHelper, like this:
    public class Helper implements LocalHelper {
       private final RemoteHelper helper;
       public Helper(RemoteHelper helper) {
          this.helper = helper;
       public Object select(int id) {
          try {
             return (this.helper.select(id));
          } catch(RemoteException e) {
             // invoke app failure mechanism
    }This can uncouple an app from RMI dependancy. In more practical words: consider a webapp that contains two Servlets: a "startup" servlet and an "invocation" servlet. The startup servlet does nothing (always returns Method Not Allowed, default behaviour of HttpServlet), except locate an RMI Registry upon startup and look up some object bound to it. It can then make this object accessible to other classes through whatever means (i.e. a singleton Engine class).
    The invocation servlet does nothing upon startup, but simply calls some method on the previously acquired remote object. However, the invocation servlet does not need to know that the object is remote. Therefore, if the startup servlet wraps the remote object in another object (using the idea described before) then the invocation servlet is effectively removed from the RMI dependancy. The wrapper class can invoke some sort of failure mechanism upon the singleton engine (i.e. removing the remote object from memory) and optionally throw some other (optionally checked) exception (i.e. IllegalStateException) to the invocation servlet.
    In this way, the invocation servlet is not bound to RMI, there can be a single point where RemoteExceptions are handled and an unchecked exception (i.e. IllegalStateException) can be handled by the Servlet API through an exception error page, displaying a "Service Unavailable" message.
    Sorry for all this extensive text; I just typed out some thoughts. In short, my question is how and why can the throws clause change when overwriting a method? It's nothing I need though, except for the clarity (e.g. is this a bad practice to do?) and was more of an observation than a question.
    PS: Unless I'm mistaken, this is basically called the "Adapter" or "Bridge" (not sure which one it is) pattern (or a close adaptation to it) right (where one class is written to provide access to another class where the method signature is different)?
    Thanks for reading,
    Yuthura

    Yuthura wrote:
    I know it may throw any checked exception, but I'm pretty certain that an interface that extends java.rmi.Remote must include at least java.rmi.RemoteException in its throws clause (unless the spec has changed in Java 1.5/1.6).No.
    A method can always throw fewer exceptions than the one it's overriding. RMI has nothing to do with it.
    See Deitel & Deilte Advanced Java 2 Platform How To Program, 1st Ed. (ISBN 0-13-089650-1), page 793 (sorry, I couldn't find the RMI spec quick enough). Quote: "Each method in a Remote interface must have a throws clause that indicates that the method can throw RemoteException".Which means that there's always a possibility of RemoteException being thrown. That's a different issue. It's not becusae the parent class can throw RE. Rather, it's because some step that will always be followed is declared to throw RE.
    I later also noticed I could not add other checked exceptions, which made sense indeed. Your explanation made perfect sense now that I heard (read) it. But just to humour my curousity, has this always been possible? Yes, Java has always worked that way.
    PS: The overwriting/-riding was a grammatical typo (English is not my native language), but I meant to say what you said.No problem. Minor detail. It's a common mistake, but I always try to encourage proper terminology.

  • CR2008: parameters ignored when using the PrintToPrinter method

    Hi all,
    Currently I'm using Crystal Reports in all my add-ons and my algorithm is has follows:
    - Create a New Report object;
    - Load the Reports;
    - Set the reports Parameters and SelectionFormula;
    - Set the server/database connection info and login into every table;
    - Load Form OR Send to Printer
        - Load Form procedure:
            - Create a New Windows Form with a ReportViewer control;
            - Set the ReportViewer's ReportSource;
            - Invoke the Refresh method of the ReportViewer control;
            - Invoke the ShowDialog method of the Report object.
        - Send To Printer procedure
            - Invoke the PrintToPrinter method of the Report object...
    When I use the Load Form procedure, everything works has it should: the SelectionFormula filters the correct records and the Parameters hide/show the fields that they are supposed to.
    If I use the Send To Printer procedure, the SelectionFormula works correctly but some Parameters are ignored. I've checked the object properties at runtime, and all the parameters I define are correct...
    My question is: is there some sort of Refresh method that I can call before calling the PrintToPrinter method that forces the report to check the parameter fields values? Or am I doing something wrong?
    My code is posted bellow.
    Thanks in advanced,
    Regards,
    Vítor Vieira

    ' procedure that creates a new ConnectionInfo object with the login credentials to the SQL server.
        Private Sub SetDBConnection()
            Try
                rptConnectionInfo = New ConnectionInfo()
                rptConnectionInfo.DatabaseName = OONE_CompanyDB
                rptConnectionInfo.UserID = OONE_CompanySQLUserId
                rptConnectionInfo.Password = OONE_CompanySQLPass
                rptConnectionInfo.ServerName = OONE_CompanyServer
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("Error(SetDBConnection): " & ex.ToString)
            End Try
        End Sub
        ''' procedure that creates a new ReportDocument object
        Private Sub SetReportDocument()
            Try
                rptDocument = New ReportDocument
                rptDocument.Load(rptPath)
                SetParameters()
                rptDocument.DataDefinition.RecordSelectionFormula = SelectionString
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("Error(SetReportDocument): " & ex.ToString)
            End Try
        End Sub
        ' procedure that makes the login to the table in the ReportDocument object
        Private Sub SetDBLogonForReport()
            Try
                Dim myTables As Tables = rptDocument.Database.Tables
                Dim myTableLogonInfo As TableLogOnInfo
                For Each myTable As Table In myTables
                    myTableLogonInfo = myTable.LogOnInfo
                    myTableLogonInfo.ConnectionInfo = rptConnectionInfo
                    myTable.ApplyLogOnInfo(myTableLogonInfo)
                Next
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("Error(SetDBLogonForReport): " & ex.ToString)
            End Try
        End Sub
        ' procedure that loads a windows form with the report
        Private Sub SetCrystalForm(ByRef Titulo As String)
            Try
                rptCrystalForm = New CrystalForm()
                rptCrystalForm.Text = Titulo
                rptCrystalForm.oCrystalReportViewer.ReportSource = rptDocument
                rptCrystalForm.TopMost = True
                rptCrystalForm.oCrystalReportViewer.Refresh()
                If rptSendToPrinter Then
                    rptCrystalForm.oCrystalReportViewer.PrintReport()
                Else
                    rptCrystalForm.ShowDialog()
                End If
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("Error(SetCrystalForm): " & ex.ToString)
            Finally
                ReleaseMemory()
            End Try
        End Sub
        ' Send the report directly to a printer without showing it.
        Private Sub SendReportToPrinter()
            Try
                rptDocument.PrintToPrinter(rptPageSettings.PrinterSettings, rptPageSettings, False)
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("Error(SendReportToPrinter): " & ex.ToString)
            Finally
                ReleaseMemory()
            End Try
        End Sub
        ' Procedure that releases memory.
        Private Sub ReleaseMemory()
            Try
                rptParameterField = Nothing
                For Each oTable As Table In rptDocument.Database.Tables
                    oTable.Dispose()
                Next
                If rptSendToPrinter Then
                    rptPageSettings.PrinterSettings = Nothing
                    rptPageSettings = Nothing
                End If
                rptConnectionInfo = Nothing
                rptDocument.Database.Tables.Dispose()
                rptDocument.Database.Tables.Reset()
                rptDocument.Database.Dispose()
                rptDocument.Close()
                rptDocument.Dispose()
            Catch ex As Exception
                System.Windows.Forms.MessageBox.Show("ReleaseMemory: " & ex.ToString)
            End Try
        End Sub

  • When should one use final arguments?

    Hi all,
    When should one use final arguments?
    I have searched the forum for this, but couldnt find a precise answer. I am specifically looking for cases where they are:-
    1. the only way to acheive something
    OR
    2. the stylistic way to acheive something.
    Thanks,
    Binil

    My $0.02 - I don't think (practically) you ever need
    final method parameters (it's not like they prevent
    subclassing or anything). However, I think (stylistically)
    you should make method parameters final wherever you
    can - it makes the code a more explicit (the contract
    between the invoker and the invokee is clearer).
    I seem to recall something about JVMs being able to
    optimize methods with final parameters better too, but that might just be moonshine or more people would
    (probably) be going on about it.

  • I have Video camera movies that are HD format.. I am doing editing work on them using Final Cut Pro, but using DV PAL format for the projects I am editing. When I then tried to copy my work done in FCP Project that's originally DV PAL , into a new FCP Pro

    I have Video camera movies that are HD format.. I am doing editing work on them using Final Cut Pro, but using DV PAL format for the projects I am editing. When I then tried to copy my work done in FCP Project that's originally DV PAL , into a new FCP Project that is HD, and tried reconnect media with original HD movies (video), the sequence project got distorted for all the text, shapes used and all.. everything changed its orientation and scale.. Is there a way by which I can preserve my work done on DV PAL and switch it preserving its proportions, scale and orientation, but on a HD project sequence?? Appreciate your help and advice..

    Yes.  A couple of ways that might work.
    First Way
    What you need to do is load one of your hd clips in the viewer and edit into a new HD sequence.  Does it display correctionly? 
    OK, select the clip in the hd timeline and copy (command-c).  Now go to the HD sequence with the material that's distorted.  Select all (command-a) and paste attributes (option-v) and choose basic motion and distort.  That should maek things work.  What won't work is anything that you've adjusted as far as basic motion or distort in your PAL sequence.  That I'm pretty sure you'll have to redo.
    Second Way. 
    Choose your original PAL sequence and do a Media Manage changing the sequence preset to the appropriate HD paramenters with the media offline.  You then should be able to reconnect these clips with your original HD media.

  • There is no printer output when using the PrintOut method

    I have a VB6 app with CR XI, and a customer found a situation that when printing a report directly to the printer using the PrintOut method, there is no printer output or error message.
    Some reports using the same code print normally, but a report that is preceded by another print call, presents this behavior.
    And when the output is directed to the screen, we can see the report.
    Could someone give me an idea of what is the problem?
    Thanks,
    Isis
    SP - Brazil
    The code used is below:
                       Set rpt = applic.OpenReport(App.Path & "SEFoto" + TipoRPT + ".rpt")
                       rpt.FormulaSyntax = crCrystalSyntaxFormula
                       rpt.FormulaFields.GetItemByName("Empresa").Text = "'" + Company + "'"
                       rpt.FormulaFields.GetItemByName("Idioma").Text = "'" + Idioma + "'"
                       rpt.FormulaFields.GetItemByName("Versao").Text = "'" + Versao + "'"
                       ' ... Some lines to compose the selection formula
                       rpt.RecordSelectionFormula = Cond
                       ' To evaluate the image length:
                       Arq = rsTMP3!FT_Arquivo
                       ImageScaling = FatorDeReducao(Arq, "F")
                       ' To reduce the image length:
                       AchouOLE = False
                       For Each oSection In rpt.Sections
                           For Each oObject In oSection.ReportObjects
                               If oObject.Name = "PictureFoto" Then
                                  Set oOleObject = oObject
                                  AchouOLE = True
                                  Exit For
                               End If
                           Next oObject
                           If AchouOLE Then Exit For
                       Next oSection
                       With oOleObject
                            .Suppress = True
                            .XScaling = ImageScaling    ' 0.5 = 50%, 1 = 100%
                            .YScaling = ImageScaling
                            .Suppress = False
                       End With
                       Aguarde.Show 1
                       If DestinoRel = 9 Or DestinoRel = 1 Then ' Padrão ou impressora
                          rpt.PrintOut True              ' <<<---- Here using true or false nothing happens
                       Else
                          PrintRPTtela rpt, "Fotos"   ' <<<--- Here it works fine
                       End If

    Hi Isis,
    Not sure if you have applied any service Packs to CR? If please do so and test again. Then you can upgrade to CR XI R2 for free, use your XI Keycode and download Service Pack 4 from this link:
    https://smpdl.sap-ag.de/~sapidp/012002523100011802732008E/crxir2_sp4_full_build.exe
    You'll find the distribution files for your app also from that same download area.
    If you don't want to upgrade to XI R2 then download all patches from XI and test again. This issues rings a bell that it may have been fixed.
    Thank you
    Don

  • My current os x is 10.9.5, using final cut express vers. 4.0.1.  I have imported .mov clips created with a older mac os x (lion) and converted them to import into fce. after doing this as well as putting clips on the fce timeline when playing back t.h

    My current os x is 10.9.5, using final cut express vers. 4.0.1.  I have imported .mov clips created on a older mac os x (lion) and when I wanted to import them into fce, a quicktime conversion window opened up and converted them (I haven't experienced this in the past). I then imported the converted quicktime clips into my fce project.  After doing this I took selected clips and put those edited clips on the fce timeline.  When playing the video back in the fce timeline,I noticed
    1) the video wasn't playing back smoothly like the original content
    2) when looking at the timecode reading of the timeline, the timecode was sputtering as well as the video and audio.  I exported to quicktime just to see if that was consistent, it was.
    When I play the converted quicktime content independently of fce,  it plays normally (no sputtering of timecode, video and audio.  Need help to resolve the sputtering playback of converted video content in the fce timeline.  I've never experienced this before.  Any suggestions?

    When you say you converted the clips before importing them into FCE, did you convert to AIC or DV and do the converted clips match your FCE Sequence settings exactly?  If not, go back and convert the original files again, using the intended Sequence settings as a guide.
    -DH

  • HT5148 i am using final cut pro x. i have imported some images and video in my timeline. when i play back my video it looks fuzzy. but, when i pause it, it looks clear. how do i get my video to play clear.

    i am using final cut pro x. i have imported some images and video in my timeline. when i play back my video it looks fuzzy. but, when i pause it, it looks clear again. how do i get my video to play clear and not fuzzy?

    Same reply.

  • I have the current Mac Pro the entry level with the default specification and i feel some slow performance when applying after effects on my videos using final cut pro and also rendering a video takes long time ? what upgrades do you guys suggest?

    i have the current Mac Pro the entry level with the default configuration   and i feel lack of  performance when applying after effects on my videos using final cut pro and also rendering a video takes long time ? what upgrades do you guys suggest i could do on my Mac Pro ?

    256GB SSD  it shipped with will run low and one of the things to watch.
    Default memory is 12GB  also something to think about.
    D500 and FCP-X 10.1+
    http://macperformanceguide.com/index_topics.html#MacPro2013Performance
    Five models of 2013 Mac Pro running Resolve, FCPX, After Effects, Photoshop, and Aperture

  • Getting Security Error when trying to use bitmapdata.draw method on youtube videos

    Hi All ,
    I am playing youtube videos in UIComponet of flex, but when I trying to capture the image using bitmapdata.draw() method it gives me an secutity error on server  , It works well locally in flex editor.
    Is any one knows how to resolve this bug??
    Thanks in advance
    sujit Rai

    Try nesting the clips and then adding the warp stabiliser to the nest.

  • Adobe XI when i use signature option i try to use rectangle, it gives option of certificate signature, does not give me webcam or digital signature or any other option to sign

    when i use signature option i try to use rectangle, it gives option of certificate signature, does not give me webcam or digital signature or any other option to sign, have downgraded to Adobe X, no options show. Have upgraded back to XI no change. Free software I am using currently.

    There are two types of signatures in PDF: electronic signatures, which are just images (stamps, text, image) and digital signatures.
    If you want to use electronic signatures in Acrobat XI go to Fill&Sign->Place Signature. If a drag rectangle for the digital signature dialog comes up, you have selected digital signatures and Acrobat/Reader remembered it. Cancel it, go back to Fill&Sign->Place Signature and click a triangle to the left of "Place Signature". Then click on "Changed Saved Signature" and select the electronic signature type you want to use.
    If you want to use digital signatures you can create custom digital signature appearance. Go to Edit->Preferences->Signatures->Creation&Appearance->More. In the "Appearances" section click "New". You will be presented with the dialog that allows you to create a custom appearance. If you want to put there your picture or image of your ink signature, you need to prepare this image as a file beforehand, select "Image" radio button, browse to the location of your image file. In Reader you can use only PDF as your image file. In Acrobat you can use many more file formats: JPEG, PNG, etc.

  • When to use join method

    Hi,
    recently i have been studying Threading, and quite fascinated by it. however i am struggling to understand in what circumstance a programmer will be using a join method on a thread.
    what i understand from reading docs is, if i call join() on a thread "thread1", then whenever this call happens the "current thread" will stop its execution till "thread1" finishes its execution i.e. DIE.
    when code is executing no one has control over which thread will be the current thread when the join is called.
    can someone please explain with a real life scenario?
    Thanks in advance

    recently i have been studying Threading, and quite fascinated by it. however i am struggling to understand in what circumstance a programmer will be using a join method on a thread.
    what i understand from reading docs is, if i call join() on a thread "thread1", then whenever this call happens the "current thread" will stop its execution till "thread1" finishes its execution i.e. DIE.
    There are plenty of examples and documentation on the internet about multithreading and the use of 'join'.
    As the doc quote suggests, and at the risk of stating the obvious, it is used when you want a thread to stop its own execution until another thread has finished its own execution.
    That is a form of 'serialization' that ensures that certains steps of a process are done in a desired order.
    The generic 'multi-threading' use case is that the threads can executing in parallel and have NO dependencies on each. For example, 10 threads each loading a specific file into the database.
    But there are times when one process is dependent on another. Rather than bind those two processes together (e.g. by using method calls from within a single thread) a more modular approach is to launch each process in a thread but cause the second process to wait, using 'join', until the first process/thread has completed.
    when code is executing no one has control over which thread will be the current thread when the join is called.
    I have NO IDEA what that even means.
    Again, stating the obvious, a thread can NOT execute the 'join' method unless that thread is active so if that thread is active is IS the 'current' thread. When it executes the 'join' it will be suspended until the 'joined' thread terminates. The thread that it is 'joining' may not become 'active' right away and it make take several thread rotations before it completes execution and reactivates the thread that 'joined' it.

  • When starting Final Cut Pro 7.0.3 I am all of a sudden getting a message that says "One or more of the scratch disks don't have read/ write access" and now the app won't operate - how do I fix this so I can use Final Cut Pro?

    When starting Final Cut Pro 7.0.3 I am all of a sudden getting a message that says "One or more of the scratch disks don't have read/ write access" and now the app won't operate - how do I fix this so I can use Final Cut Pro?

    Glad you found the answer.  But something seems wrong.  FCP should be able to assign the scratch disk to your startup drive.  It's not advisable, but it should be possible.  You might want to try and figure out what's going on before what ever's going on cause other problems.

Maybe you are looking for

  • Multiple Apple ID's - How to merge?

    I currently have 2 Apple ID's that i want to merge together so they both fall under 1 account and not 2, how do i merge these together?

  • How do I rename a lot of files from an excel worksheet?

    Hello all! I have 2k+ files in a folder named sequentially from 0001.wav to 24xx.wav. I have their contents referenced in an .xls. This is a library made for Windows when it didn't accept very long names, so you couldn't just name the file accordingl

  • Flashplayer 10.4-10.5 plug-in crashes Safari

    Hi there, I am used to Safari crashing periodically because of Flash but it's becoming more and more frequent. I get the following error message: "The application Safari quit unexpectedly. The problem may have been caused by the FlashPlayer 10.4-10.5

  • Change Boolean state when switching between cases

    I have a case structure with a true and false case.  In the false case I have two boolean I can turn on and off by clicking on them.  When changing to the true case I disabled the two booleans using a property node.  However when switching to the tru

  • Spacing between columns

    Hi, In the forms ,I need to vary the width of columns and then rearrange it with proper spacing, is there any other way rather than manually doing it. or in other word is there way to give the specified distance between two columns which can vary fro