During the type erasure process, the Java compiler erases all type parameters and replaces each with its first bound if the type parameter is bounded, or Object if the type parameter is unbounded.  But when we refer methods withing compiled class, compiler ensures type check at compile time.  For. e.g. if I use generics on class A compile it and then refer it through a class B, during compilation it will ensure type checking.  If java erases type on compilation, then how does the compiled class file ensures type checking?
I read about Java's type erasure .  When does type erasure occur? At compile time or runtime? When the class is loaded? When the class is instantiated?  A lot of sites (including the official tutorial mentioned above) say type erasure occurs at compile time. If the type information is completely removed at compile time, how does the JDK check type compatibility when a method using generics is invoked with no type information or wrong type information?  Consider the following example: Say class A has a method, empty(Box&lt;?&nbsp;extends&nbsp;Number&gt;&nbsp;b). We compile A.java and get the class file A.class.  public class A {     public static void empty(Box&lt;? extends Number&gt; b) {} }     public class Box&lt;T&gt; {}   Now we create another class B which invokes the method empty with a non-parameterized argument (raw type): empty(new Box()). If we compile B.java with A.class in the classpath, javac is smart enough to raise a warning. So A.class has some type information stored in it.  public class B {     public static void invoke() {         // java: unchecked method invocation:         //  method empty in class A is applied to given types         //  required: Box&lt;? extends java.lang.Number&gt;         //  found:    Box         // java: unchecked conversion         //  required: Box&lt;? extends java.lang.Number&gt;         //  found:    Box         A.empty(new Box());     } }   My guess would be that type erasure occurs when the class is loaded, but it is just a guess. So when does it happen?
Running two MySQL servers that use the same data directory $G$ is non abelian simple group of order $<100$ then $G\cong A_5$ Time ordering operator if commutator is $c$-number function If $E/F$ is algebraic and every $f\in F[X]$ has a root in $E$, why is $E$ algebraically closed? Is there a way to switch the mesh selection mode by a shortcut? Is there a shortcut for switching between these three modes? What wand was used by Mr Graves at the time of Fantastic Beasts? We know that the movie Fantastic Beasts is set in 1926. From the movie, we learn that at this time, Dumbledore is a teacher at Hogwarts and Grindelwald is lose after escaping a previous arrest. In the movie we learn that      Mr Graves is in fact Grindelwald in disguise. Grindelwald is shown to be at least in his forties, maybe fifties so he should already be the owner of the wand since he stole it from Gregorovitch as a teen.   We know that Dumbledore won the wand from Grindelwald after defeating him in their historic duel. That duel is always described as being “the end of the dark wizard Grindelwald” so I’m assuming that it didn’t happen prior to the movie and that he didn’t escape after that duel, please correct me if you have cannon evidence stating the contrary.      In the movie, we see Graves’ wand a few time and it isn’t the (very recognizable) one used in DH as the Elder Wand. This could of course be a prop error but since David Yates was also the director on DH and a lot of the visuals are similar I’m assuming it wasn’t. Graves could of course be using another wand in the fear that someone could recognize it but he would still be the rightful master of the Elder Wand. At the end of the movie, Newt is the one that disarms Graves/Grindelwald.   In all logic, he should have been made the new owner of the wand, whether Grindelwald was actually using it or not. That would have made it impossible for Dumbledore to win it from Grindelwald later.  So my question is: What wand is that character using at that specific time? Is he already the owner of the Elder Wand?      And if so, why wasn’t Newt made the new owner of the wand? Technically, NULL = NULL is False, by that logic no NULL is equal to any NULL and all NULLs are distinct. Shouldnt this imply that all NULLs are unique and a unique index should allow any number of NULLs? # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package.  # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022  # if running bash if [ -n "$BASH_VERSION" ]; then     # include .bashrc if it exists     if [ -f "$HOME/.bashrc" ]; then     . "$HOME/.bashrc"     fi fi  # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then     PATH="$HOME/bin:$PATH" fi   Can anyone explain the contents of the ~/.profile file? So when you enter into the ~/.profile file what does all the writing mean? Custom Button on Lightning Experience I created a custom button Send Email in Lightning Experience. The problem is that button in visible in feed section layout, but I want to put it in the upper right corner of page layouts near Edit, Clone, Delete ecc....  How Can I do that? Thanks  I add an image that explain the situation.    EDIT: I would like to explain you better my problem.  I have created three custom quick action:   I have added them to the case page Layout as you can see    I would like to understand the reason why I don’t see these three custom action in the Page Layout in the section in the top right persist port routing from 80 to 8080 I use amazon EC2 instance which works via ubuntu. By default according security restrictions I can't bin my application to port 80, so I just bind it port 8080 and then set routing redirect from port 80 to 8080 via the following command:  iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080   But I found that when I reboot the server this settings no longer active untill I invoke this command again.  So my question is how to enable port's redirect work even if system was rebooted? Can't run a shell script So I have this script:  #!/bin/bash # Flips the screen (hopefully)  syntax_error=0 orientation=0  current_orientation="$(xrandr -q --verbose | grep 'connected' | egrep -o  '\) (normal|left|inverted|right) \(' | egrep -o '(normal|left|inverted|right)')" case $current_orientation in         normal)                 current_orientation=0         ;;         left)                 current_orientation=1         ;;         inverted)                 current_orientation=2         ;;         right)                 current_orientation=3         ;; esac  if [ $current_orientation -eq 0 ]; then         orientation=2 fi  if [ $current_orientation -eq 2 ]; then         orientation=0 fi method=evdev  # LENOVO S10-3t CHANGE ==&gt; Hard Coded my device number to 11!!!!!!!!  device=11  swap=0 invert_x=0 invert_y=0 real_topx=0 real_topy=0 real_bottomx=4020 real_bottomy=4020  case $orientation in         0)                 swap=0                 invert_x=0                 invert_y=0                 topx=$real_topx                 topy=$real_topy                 bottomx=$real_bottomx                 bottomy=$real_bottomy         ;;         1)                 swap=1                 invert_x=1                 invert_y=0                 topx=$real_topx                 topy=$real_topy                 bottomx=$real_bottomy                 bottomy=$real_bottomx         ;;         2 )                 swap=0                 invert_x=1                 invert_y=1                 topx=$real_topx                 topy=$real_topy                 bottomx=$real_bottomx                 bottomy=$real_bottomy         ;;         3 )                 swap=1                 invert_x=0                 invert_y=1                 topx=$real_topx                 topy=$real_topy                 bottomx=$real_bottomy                 bottomy=$real_bottomx         ;; esac  if [ $method = "evdev" ]; then         xinput set-prop "$device" "Evdev Axes Swap" $swap         xinput set-prop "$device" "Evdev Axes Swap" $swap         xinput set-prop "$device" "Evdev Axis Inversion" $invert_x $invert_y         xinput set-prop "$device" "Evdev Axis Calibration" $topx $bottomx $topy $bottomy         if [ $orientation = 2 ]; then                            xrandr -o inverted         fi         if [ $orientation = 0 ]; then                 xrandr -o normal         fi fi  #   It's for flipping screen in my Lenovo S10-3t. I copied it from the netbook's wiki page, and added the #!/bin/bash at the top. The filename is flipscreen.sh. How can I make it work? I'm trying to remember the name of a series of books about a boy who works with dragons.  Dragon's blood (or maybe it was slobber?) is acidic, and the children who wrangle these dragons often end up with deep pock marks.  On this world, days are like ours but nights get very cold, requiring anyone stuck outside to find a shelter until dawn (not the false dawn)  The other thing I remember is that in one of the books by slicing open a dragon and spending the night, the character emerged with special dragon powers. In X-Men Origins: Wolverine,      Wolverine is shot through the head with what appears to be a vibranium bullet by William Stryker. He remarks that the brain will grow back but the memories won't.   So the projectile penetrated the adamantium skull and damaged the brain. Adamantium is an inorganic substance. It will survive anything that would otherwise destroy the rest of Wolverine's body. But if anything (such as vibranium) manages to damage the adamantium, it is not covered by Wolverine's healing abilities.  Does this mean that Wolverine has an Achilles' heel on his forehead? If so, how did he take a bullet to the exact same spot in X-Men: United (at Ice Man's home)? Starcraft Installation asks for a mythical Disk 2 Eclipse Shortcut to Split Long Strings I swear I've seen someone do this, but I can't find it in the various lists of shortcuts.  Given:  String s = "A very long ............................ String";   Is there an Eclipse shortcut to turn it into:  String s = "A very long ............................ "      + "String"; Can I enter the UK with a Schengen visa? Let K={(1),(12)(34),(13)(24),(14)(23)} show that K is a normal subgroup of the alternating group of degree A4 and find all the members of A4/K and write down the group table for A4/K.   i know that K is the Klein four group and i have already proven it is a normal subgroup but i need a start on approaching the A4/K part of this question no direct answers are necessary,just ideas thank you! :) I'm using a vanity country code top level domain (ccTLD), can I persuade Google to geotarget a different region? Because I'm still living like it's 2008, I run a website with a .in TLD. The website has nothing to do we India and does not target Indian users.  Unfortunately, when I go to Google Webmaster Tools I see that Google have locked my geotargeting status to India:    On the , Google state that:     Sites with country-coded top-level domains (such as .ie) are already associated with a geographic region, in this case Ireland. In this case, you won't be able to specify a geographic location.   This seems implausibly inflexible, so I want to know if there are any sneaky ways of removing auto-geotargeting, or changing it to a more appropriate region? I want to use symbols from wasysym and marvosym packages:  \usepackage{wasysym} \usepackage{marvosym}   but it gives an errors as both packages have the command of \CheckedBox. I do not want to use this command, but since both packages have it, it makes confusion for latex. How can I ignore one command to have both packages? SQL to find the number of distinct values in a column I can select all the distinct values in a column in the following ways:   SELECT DISTINCT column_name FROM table_name; SELECT column_name FROM table_name GROUP BY column_name;   But how do I get the row count from that query? Is a subquery required?