---
title: Java
category: Java
tag:
- Java
head:
- - meta
- name: keywords
content: Java
- - meta
- name: description
content: 12 Java JVM
---
> Hollis
>
> https://mp.weixin.qq.com/s/o4XdEMq1DL-nBS-f8Za5Aw
>
Java
Java class Java Java
##
**Syntactic Sugar** Peter.J.Landin

>
Java Java 7 Java Project Coin Java Java
## Java
**Java **
Java `javac``.java``.class` Java `com.sun.tools.javac.main.JavaCompiler``compile()``desugar()`
Java
[](https://mp.weixin.qq.com/s?__biz=MzI3NzE0NjcwMg==&mid=2650120609&idx=1&sn=5659f96310963ad57d55b48cee63c788&chksm=f36bbc80c41c3596a1e4bf9501c6280481f1b9e06d07af354474e6f3ed366fef016df673a7ba&scene=21#wechat_redirect) [Decompilers online](http://www.javadecompilers.com/) Class
### switch String
Java 7 Java Java 7 `switch``String`
Java `switch``int``char``int``char` ascii `switch``byte``short``char`(ackii )`int`
`switch``String`
```java
public class switchDemoString {
public static void main(String[] args) {
String str = "world";
switch (str) {
case "hello":
System.out.println("hello");
break;
case "world":
System.out.println("world");
break;
default:
break;
}
}
}
```
```java
public class switchDemoString
{
public switchDemoString()
{
}
public static void main(String args[])
{
String str = "world";
String s;
switch((s = str).hashCode())
{
default:
break;
case 99162322:
if(s.equals("hello"))
System.out.println("hello");
break;
case 113318802:
if(s.equals("world"))
System.out.println("world");
break;
}
}
}
```
** switch `equals()``hashCode()`** `hashCode()``int``long`
`switch``equals` `switch`
###
`Code specialization``Code sharing`C++ C#`Code specialization` Java `Code sharing`
> Code sharing `type erasue`
** Java `Map map`**
1. 2.
```java
Map map = new HashMap();
map.put("name", "hollis");
map.put("wechat", "Hollis");
map.put("blog", "www.hollischuang.com");
```
```java
Map map = new HashMap();
map.put("name", "hollis");
map.put("wechat", "Hollis");
map.put("blog", "www.hollischuang.com");
```
```java
public static > A max(Collection xs) {
Iterator xi = xs.iterator();
A w = xi.next();
while (xi.hasNext()) {
A x = xi.next();
if (w.compareTo(x) < 0)
w = x;
}
return w;
}
```
```java
public static Comparable max(Collection xs){
Iterator xi = xs.iterator();
Comparable w = (Comparable)xi.next();
while(xi.hasNext())
{
Comparable x = (Comparable)xi.next();
if(w.compareTo(x) < 0)
w = x;
}
return w;
}
```
**`Class``List.class``List.class``List.class`**
###
Java int Integer Integer int byte, short, char, int, long, float, double boolean Byte, Short, Character, Integer, Long, Float, Double, Boolean
```java
public static void main(String[] args) {
int i = 10;
Integer n = i;
}
```
:
```java
public static void main(String args[])
{
int i = 10;
Integer n = Integer.valueOf(i);
}
```
```java
public static void main(String[] args) {
Integer i = 10;
int n = i;
}
```
```java
public static void main(String args[])
{
Integer i = Integer.valueOf(10);
int n = i.intValue();
}
```
`Integer``valueOf(int)``Integer``intValue`
** valueOf xxxValue **
###
(`variable arguments`) Java 1.5
`print`
```java
public static void main(String[] args)
{
print("Holis", ":Hollis", "www.hollischuang.com", "QQ907607222");
}
public static void print(String... strs)
{
for (int i = 0; i < strs.length; i++)
{
System.out.println(strs[i]);
}
}
```
```java
public static void main(String args[])
{
print(new String[] {
"Holis", "\u516C\u4F17\u53F7:Hollis", "\u535A\u5BA2\uFF1Awww.hollischuang.com", "QQ\uFF1A907607222"
});
}
public static transient void print(String strs[])
{
for(int i = 0; i < strs.length; i++)
System.out.println(strs[i]);
}
```
###
Java SE5 -Java `enum`
`enum``enum``class`
```java
public enum t {
SPRING,SUMMER;
}
```
```java
public final class T extends Enum
{
private T(String s, int i)
{
super(s, i);
}
public static T[] values()
{
T at[];
int i;
T at1[];
System.arraycopy(at = ENUM$VALUES, 0, at1 = new T[i = at.length], 0, i);
return at1;
}
public static T valueOf(String s)
{
return (T)Enum.valueOf(demo/T, s);
}
public static final T SPRING;
public static final T SUMMER;
private static final T ENUM$VALUES[];
static
{
SPRING = new T("SPRING", 0);
SUMMER = new T("SUMMER", 1);
ENUM$VALUES = (new T[] {
SPRING, SUMMER
});
}
}
```
`public final class T extends Enum``Enum``final`
**`enum``final``Enum`**
###
**`outer.java``inner``.class``outer.class``outer$inner.class`**
```java
public class OutterClass {
private String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public static void main(String[] args) {
}
class InnerClass{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
```
class `OutterClass$InnerClass.class` `OutterClass.class` `OutterClass.class``Parsing OutterClass.class...Parsing inner class OutterClass$InnerClass.class... Generating OutterClass.jad` `OutterClass.jad`
```java
public class OutterClass
{
class InnerClass
{
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
private String name;
final OutterClass this$0;
InnerClass()
{
this.this$0 = OutterClass.this;
super();
}
}
public OutterClass()
{
}
public String getUserName()
{
return userName;
}
public void setUserName(String userName){
this.userName = userName;
}
public static void main(String args1[])
{
}
private String userName;
}
```
###
C CPP Java
```java
public class ConditionalCompilation {
public static void main(String[] args) {
final boolean DEBUG = true;
if(DEBUG) {
System.out.println("Hello, DEBUG!");
}
final boolean ONLINE = false;
if(ONLINE){
System.out.println("Hello, ONLINE!");
}
}
}
```
```java
public class ConditionalCompilation
{
public ConditionalCompilation()
{
}
public static void main(String args[])
{
boolean DEBUG = true;
System.out.println("Hello, DEBUG!");
boolean ONLINE = false;
}
}
```
`System.out.println("Hello, ONLINE!");``if(ONLINE)` false
**Java if Java if false Java C/C++ Java **
###
Java `assert` JAVA SE 1.4 Java `assert`Java `-enableassertions``-ea`
```java
public class AssertTest {
public static void main(String args[]) {
int a = 1;
int b = 1;
assert a == b;
System.out.println("Hollis");
assert a != b : "Hollis";
System.out.println("www.hollischuang.com");
}
}
```
```java
public class AssertTest {
public AssertTest()
{
}
public static void main(String args[])
{
int a = 1;
int b = 1;
if(!$assertionsDisabled && a != b)
throw new AssertionError();
System.out.println("\u516C\u4F17\u53F7\uFF1AHollis");
if(!$assertionsDisabled && a == b)
{
throw new AssertionError("Hollis");
} else
{
System.out.println("\u535A\u5BA2\uFF1Awww.hollischuang.com");
return;
}
}
static final boolean $assertionsDisabled = !com/hollis/suguar/AssertTest.desiredAssertionStatus();
}
```
assert ** if true false AssertError **`-enableassertions`\$assertionsDisabled
###
java 7
```java
public class Test {
public static void main(String... args) {
int i = 10_000;
System.out.println(i);
}
}
```
```java
public class Test
{
public static void main(String[] args)
{
int i = 10000;
System.out.println(i);
}
}
```
`_` **`_`**
### for-each
for `for-each` for
```java
public static void main(String... args) {
String[] strs = {"Hollis", "Hollis", "www.hollischuang.com"};
for (String s : strs) {
System.out.println(s);
}
List strList = ImmutableList.of("Hollis", "Hollis", "www.hollischuang.com");
for (String s : strList) {
System.out.println(s);
}
}
```
```java
public static transient void main(String args[])
{
String strs[] = {
"Hollis", "\u516C\u4F17\u53F7\uFF1AHollis", "\u535A\u5BA2\uFF1Awww.hollischuang.com"
};
String args1[] = strs;
int i = args1.length;
for(int j = 0; j < i; j++)
{
String s = args1[j];
System.out.println(s);
}
List strList = ImmutableList.of("Hollis", "\u516C\u4F17\u53F7\uFF1AHollis", "\u535A\u5BA2\uFF1Awww.hollischuang.com");
String s;
for(Iterator iterator = strList.iterator(); iterator.hasNext(); System.out.println(s))
s = (String)iterator.next();
}
```
**for-each for **
### try-with-resource
Java IO close
`finally``close`
```java
public static void main(String[] args) {
BufferedReader br = null;
try {
String line;
br = new BufferedReader(new FileReader("d:\\hollischuang.xml"));
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
// handle exception
} finally {
try {
if (br != null) {
br.close();
}
} catch (IOException ex) {
// handle exception
}
}
}
```
Java 7 jdk `try-with-resources`
```java
public static void main(String... args) {
try (BufferedReader br = new BufferedReader(new FileReader("d:\\ hollischuang.xml"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
// handle exception
}
}
```
`IOUtils``finally`
```java
public static transient void main(String args[])
{
BufferedReader br;
Throwable throwable;
br = new BufferedReader(new FileReader("d:\\ hollischuang.xml"));
throwable = null;
String line;
try
{
while((line = br.readLine()) != null)
System.out.println(line);
}
catch(Throwable throwable2)
{
throwable = throwable2;
throw throwable2;
}
if(br != null)
if(throwable != null)
try
{
br.close();
}
catch(Throwable throwable1)
{
throwable.addSuppressed(throwable1);
}
else
br.close();
break MISSING_BLOCK_LABEL_113;
Exception exception;
exception;
if(br != null)
if(throwable != null)
try
{
br.close();
}
catch(Throwable throwable3)
{
throwable.addSuppressed(throwable3);
}
else
br.close();
throw exception;
IOException ioexception;
ioexception;
}
}
```
****
### Lambda
lambda **Labmda JVM lambda api**
lambda list
```java
public static void main(String... args) {
List strList = ImmutableList.of("Hollis", "Hollis", "www.hollischuang.com");
strList.forEach( s -> { System.out.println(s); } );
}
```
class lambda
:
```java
public static /* varargs */ void main(String ... args) {
ImmutableList strList = ImmutableList.of((Object)"Hollis", (Object)"\u516c\u4f17\u53f7\uff1aHollis", (Object)"\u535a\u5ba2\uff1awww.hollischuang.com");
strList.forEach((Consumer)LambdaMetafactory.metafactory(null, null, null, (Ljava/lang/Object;)V, lambda$main$0(java.lang.String ), (Ljava/lang/String;)V)());
}
private static /* synthetic */ void lambda$main$0(String s) {
System.out.println(s);
}
```
`forEach``java.lang.invoke.LambdaMetafactory#metafactory` `implMethod` `lambda$main$0`
List
```java
public static void main(String... args) {
List strList = ImmutableList.of("Hollis", "Hollis", "www.hollischuang.com");
List HollisList = strList.stream().filter(string -> string.contains("Hollis")).collect(Collectors.toList());
HollisList.forEach( s -> { System.out.println(s); } );
}
```
```java
public static /* varargs */ void main(String ... args) {
ImmutableList strList = ImmutableList.of((Object)"Hollis", (Object)"\u516c\u4f17\u53f7\uff1aHollis", (Object)"\u535a\u5ba2\uff1awww.hollischuang.com");
List HollisList = strList.stream().filter((Predicate)LambdaMetafactory.metafactory(null, null, null, (Ljava/lang/Object;)Z, lambda$main$0(java.lang.String ), (Ljava/lang/String;)Z)()).collect(Collectors.toList());
HollisList.forEach((Consumer)LambdaMetafactory.metafactory(null, null, null, (Ljava/lang/Object;)V, lambda$main$1(java.lang.Object ), (Ljava/lang/Object;)V)());
}
private static /* synthetic */ void lambda$main$1(Object s) {
System.out.println(s);
}
private static /* synthetic */ boolean lambda$main$0(String string) {
return string.contains("Hollis");
}
```
lambda `lambda$main$1``lambda$main$0`
**lambda api lambda api **
##
###
****
```java
public class GenericTypes {
public static void method(List list) {
System.out.println("invoke method(List list)");
}
public static void method(List list) {
System.out.println("invoke method(List list)");
}
}
```
`List``List` `List``List` List
** catch**
Java catch JVM JVM `MyException``MyException`
****
```java
public class StaticTest{
public static void main(String[] args){
GT gti = new GT();
gti.var=1;
GT gts = new GT();
gts.var=2;
System.out.println(gti.var);
}
}
class GT{
public static int var=0;
public void nothing(T x){}
}
```
2
###
****
```java
public static void main(String[] args) {
Integer a = 1000;
Integer b = 1000;
Integer c = 100;
Integer d = 100;
System.out.println("a == b is " + (a == b));
System.out.println(("c == d is " + (c == d)));
}
```
```
a == b is false
c == d is true
```
Java 5 Integer
> -128 +127
>
>
### for
```java
for (Student stu : students) {
if (stu.getId() == 2)
students.remove(stu);
}
```
`ConcurrentModificationException`
Iterator mutex Iterator fail-fast Iterator `java.util.ConcurrentModificationException`
`Iterator` `Iterator` `remove()``Iterator.remove()`
##
12 Java JVM