I'm new to the use of Java with database connections, but am getting a NullPointerException using the following code:   import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList;   public ArrayList&lt;UserVO&gt; getAllUsers(Connection connection) throws Exception {             ArrayList&lt;UserVO&gt; userList = new ArrayList&lt;UserVO&gt;();             try {                 PreparedStatement ps = connection.prepareStatement("SELECT * FROM user");                 ResultSet rs = ps.executeQuery();                 while (rs.next()) {                     UserVO uservo = new UserVO();                     uservo.setUsername(rs.getString("username"));                     uservo.setPassword(rs.getString("password"));                     userList.add(uservo);                 }                 return userList;             } catch (Exception e) {             throw e;             }         }      }   At  PreparedStatement ps = connection.prepareStatement("SELECT * FROM user");   the code throws an exception for java.lang.NullPointerException.I don't know why this is happening, as a   System.out.println("isClosed = " + connection.isClosed());   before the PreparedStatement declaration returns false, and I can print out the connection info.   Any idea of the cause or how to properly compose a statement before query execution? Thanks!  EDIT: Full(ish) stack trace - it's very long  java.lang.NullPointerException     at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:649)     at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:587)     at com.mysql.jdbc.PreparedStatement.toString(PreparedStatement.java:4068)     at java.lang.String.valueOf(String.java:2994)     at java.lang.StringBuffer.append(StringBuffer.java:263)     at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)     at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)     at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)     at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)     at com.mysql.jdbc.Connection.registerStatement(Connection.java)     at com.mysql.jdbc.Statement.&lt;init&gt;(Statement.java:270)     at com.mysql.jdbc.PreparedStatement.&lt;init&gt;
What are Null Pointer Exceptions (java.lang.NullPointerException) and what causes them?  What methods/tools can be used to determine the cause so that you stop the exception from causing the program to terminate prematurely?
PHP generate file for download then redirect Does a non-abelian semigroup without identity exist? White space below footer How to only substitute lines that match several patterns in sed? $ echo -e 'CH12\nCH23au' | sed '/^CH/s=^=&lt;b&gt;=' &lt;b&gt;CH12 &lt;b&gt;CH23au   I know I can match lines starting with CH by ^CH but how can I match multiple patterns?   Example:  Input:  CH12 CH23au   Output:  CH12 &lt;b&gt;CH23au   How to only put &lt;b&gt; where there is ^CH and au in the line? Install Java JDK and JRE on Debian 8 Why do electrons move towards anode in the Photoelectric effect experiment? Consider a Photoelectric effect experiment apparatus as shown in Figure 11.1    The variation of photocurrent with the voltage applied across $\mathrm{A}$ and $\mathrm{C}$ is as shown in Figure 11.3.    My question –     Why is the current non-zero even if the voltage is zero?    Consider a situation in which the voltage across the plates is zero. Photons of sufficient frequency strike the outermost surface of the cathode, emitter plate $\mathrm{C}$. Electrons become free from the attraction of nucleus as their net energy becomes positive.  Why I think that there should be no net current?  As soon as photons strike the outermost surface of the cathode(assumed to be $1$ to $10$ atomic diameters thick), electrons become free. Now, as the electrons have kinetic energy, they'll come out of that outermost surface. Now, the electrons(with kinetic energy) should have an equal probability of going in every direction of the surface. So, around half of the electrons should go in the right direction towards the anode and strike it and half should go to the left, trying to penetrate the inner surfaces of the cathode plate.   Now, the electrons which will go to the right will face some field due to the space charge present in the tube but nevertheless, some electrons will definitely reach the anode plate. After they strike with the anode plate, they'll face some resistance but still, some electrons will reach the low resistance copper wires connected to the anode plate and milliammeter.  Now, consider the electrons which go towards left. They'll definitely face resistance from cathode plate but some will still reach the copper wire.  Now, as there is no potential difference applied between $\mathrm{A}$ and $\mathrm{C}$, there is no need of commutator and voltmeter. So, the ammeter is connected in series with the anode plates and cathode plates with copper wires.  Now, if there is steady state current in the circuit, electrons emitted to any one of the sides should dominate over the other. But the number of electrons emitted on both the sides is same, and all the electrons should face the same resistance as the current(electrons) should flow in a closed loop. But if the number and velocity of electrons coming from both the sides are same, there should be no net current. But there is. Why?  Edit –  From the answers of anna v and mmainville, it can be seen that the emission of electrons is dependent on the angle of emission of light.  But still, the question remains. If the electrons emitted towards anode have enough energy to complete the circuit and again reach the holes in cathode despite the resistance in between, the electrons emitted to the left should have enough energy to come to anode plate via copper wires and again get ejected through anode plate by the virtue of their kinetic energy and reach the cathode plate. In this case too, the current should be zero which is not true. Why? The equation $y^2 = x^3 + k$ for $k = (4n-1)^3 - 4m^2$, with $m, n \in \mathbb{N}$ and no prime number that p is congruent to 1 modulo 4 divids m, doesn't have any answer and its proof can be obtained by using quadratic reciprocity law.  Do you know answers of this equation for two or three different values of $k$? In addition, do you know any reference about that? What software do you use to keep up to date on literature, and if Google Scholar, how do you avoid information overload? Why is electric field lines away from (+) and toward (-)? I have a questions about the electric field lines.   Well in the basic learning, we know that:   The electric field lines extend away from a positive charge They move forward a negative charge   Let's take parallel plates, which make a uniform electric field.If we take the basic learning, which I mentioned, in accounts, it's very easy to understand that this is the direction of a positive charge object if we put the object between the plate (move away the positive charged plate and toward negatively charged plate).  The problem is if we put a negative charged object between. Isn't the electric field reversed ? Not enough space on /tmp I'm not able to run update manager as I get an error saying that there is not enough free space in the /tmp directory. I've practically cleaned out the tmp directory but the error persists.  here's df-h  /dev/loop0       13G   11G  952M  92% / udev            2.0G  4.0K  2.0G   1% /dev tmpfs           785M  920K  784M   1% /run none            5.0M     0  5.0M   0% /run/lock none            2.0G  584K  2.0G   1% /run/shm /dev/sda6        20G   14G  6.4G  68% /host  overflow        1.0M   16K 1008K   2% /tmp Man clones himself to have the clone do things he doesn't enjoy I read a short story about four years ago and can't remember the title or author. The only thing I know is that it is relatively old -- like Huxley or Asimov era. Can anyone help me?   The basic synopsis is this: a man clones himself and has his clone do the parts of his life that he doesn't enjoy. He deceives his wife about this; she doesn't know he has a clone. Whenever the man and the clone are both home, the clone is locked in the "toolbox" in the basement. The clone starts to treat the man's wife better than he had previously. His wife starts to fall in love the clone, and the man decides he needs to get rid of the clone. When he tries to do so, the clone overpowers the man and locks him in the toolbox in the basement!  I'm hoping to share this story with my English class this school year. Any help is appreciated! cron ignores variables defined in ".bashrc" and ".bash_profile" I have defined "SHELL" variable in /etc/crontab file:  [martin@martin ~]$ grep SHELL /etc/crontab  SHELL=/usr/local/bin/bash [martin@martin ~]$ file /usr/local/bin/bash /usr/local/bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 8.0 (800107), stripped [martin@martin ~]$    In addition, all my scripts in /etc/crontab file are started under user "martin". However /home/martin/.bash_profile(for login shell) and /home/martin/.bashrc(for non-logging shell) contain some variables which are ignored in case of cron job, but are used in case I log into machine over SSH or open new bash session. Why cron ignores those variables? Isn't cron simply executing "/usr/local/bin/bash my-script.sh" with permissions for user "martin"? How does the Eco-Cooler air conditioner really work? describes a device for developing countries which apparently cools the air by 5 °C without electricity. According to , it works by lowering the pressure to drag in the ambient air. Wouldn't the ambient air be at the same temperature?  Does the constriction compress the air and temporarily increase the pressure and so temperature, which then dissipates heat because it is hotter than surroundings; then after passing the constriction, the pressure returns to almost ambient but the temperature drops to below ambient?  How does the Eco-Cooler air conditioner actually work, if at all? Filter users by country This was talked about a few podcasts ago. And they referenced some other site that does this.  Currently location is a string but adding a country dropdown (and for the usa a state drop down) could be a great addition to the site.  Then allow for user filtering by country / state. How do I fix Outlook only showing the first line of every message? I'm experiencing a strange problem with Outlook 2019. When viewing a message it only shows the first line. On an HTML message, it stops at the first close paragraph tag. On a plaintext message, it stops at the first newline character. This is true if viewing a message in the reading pane as well as if double-clicking the message to open in its own window. I have the preview pane set to show 3 lines and it does show more of the message so it seems like Outlook can see more of the message than it's rendering in the reading pane. If I use View Source, the underlying data seems fine and the whole message is there. I've tried the following:  Deleting and re-creating the user's mail profile Uninstalling &amp; re-installing Office Creating a new Windows account &amp; connecting Outlook to a different Exchange account than the one that originally exhibited the problem Checked for Windows updates Checked for Office updates  Any ideas what might be causing this? I feel like I've tried everything obvious &amp; I'm striking out on Google. I write financial applications where I constantly battle the decision to use a double vs using a decimal.  All of my math works on numbers with no more than 5 decimal places and are not larger than ~100,000. I have a feeling that all of these can be represented as doubles anyways without rounding error, but have never been sure.  I would go ahead and make the switch from decimals to doubles for the obvious speed advantage, except that at the end of the day, I still use the ToString method to transmit prices to exchanges, and need to make sure it always outputs the number I expect. (89.99 instead of 89.99000000001)  Questions:   Is the speed advantage really as large as naive tests suggest? (~100 times) Is there a way to guarantee the output from ToString to be what I want? Is this assured by the fact that my number is always representable?   UPDATE: I have to process ~ 10 billion price updates before my app can run, and I have implemented with decimal right now for the obvious protective reasons, but it takes ~3 hours just to turn on, doubles would dramatically reduce my turn on time. Is there a safe way to do it with doubles? Dealing with rust on a steel frame How do I play Minecraft with people online, besides using a server? The generic off-topic flag reason has different wording in the Android app How can I prevent my mail from being classified as spam? When sending or forwarding emails using a personal or company domain using a  website or email client, how do I prevent the email from being incorrectly marked as spam?