Java
汽水儿要加冰
这个作者很懒,什么都没留下…
展开
-
Java值传递以及引用的传递、数组的传递
https://blog.csdn.net/niuniu20008/article/details/2953785原创 2018-10-08 19:58:15 · 323 阅读 · 0 评论 -
打印素数
大于1,约数只有1和其本身。exp:判断是否为素数private static boolean isPrime(int x){ if(x==2||x==3) return true; if(x==1||x%2==0) return false; for(int i=3;i*i<=x;i+=2) if(x%i==0)...原创 2018-10-06 21:23:31 · 109 阅读 · 0 评论 -
由hashCode()引发的一系列知识延伸
public native int hashCode();hashCode()作为Object类的一个方法,返回对象的hashCode值——这个值与JVM相关,通常是对象相关信息映射成的一个数值。hashCode()一般用于散列容器,比如HashMap。HashMap的put方法源码如下:public V put(K key, V value) { if (ke...原创 2018-09-29 20:41:11 · 135 阅读 · 0 评论 -
java内存区域管理
JVM在执行Java程序时,将其管理的内存区域划分成若干个不同的数据区域。各个区域用途不同,有各自的创建和销毁时间;有些区域随着JVM的启动存在,而有些区域依赖用户线程的启动和结束而建立和销毁。程序计数器(线程隔离 / 线程私有)定义:当前线程所执行字节码的行号指示器。工作时,通过改变此计数器的值来改变选取下一条需要执行的字节码指令。 特点:多线程执行时,为了线程切换后能恢复到正确的...原创 2018-10-25 10:23:10 · 93 阅读 · 0 评论 -
java中String StringBuilder 以及 StringBuffer比较
1.速度快慢为:StringBuilder > StringBuffer > String原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。2. 线程安全StringBuilder是线程不安全的,而StringBuffer是线程安全的。...原创 2018-10-23 09:38:51 · 99 阅读 · 0 评论 -
枚举类
enum关键字1. 定义 public enum Season{ SPRING,SUMMER,AUTUMN,WINTER; Season(){}}2.性质 2.1 enum默认继承了java.lang.Enum,而不是默认继承Object类,因此不能显示继承其他父类。 2.2 非抽象的枚举类默认使用final修饰,因此枚举类不能派生子类 2....原创 2018-10-31 10:58:04 · 85 阅读 · 0 评论 -
Java对象创建流程、对象内存布局
JVM碰到new指令1. 检查此指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析、初始化。 符号引用:编译时每个java类会被编译为一个class文件,但编译时JVM不知道所引用类的地址,所以以符号引用来代替,解析时转化为真正的地址。2. JVM为新生对象分配内存 内存分配方法:“指针碰撞”——内存规整,以指针作为分界点; ...原创 2018-11-01 09:22:26 · 122 阅读 · 0 评论 -
Java抽象类VS接口
Java抽象类public abstract class Shape{ //抽象方法使用abstract来修饰,没有方法体 public abstract double calPerimeter(); public Shape(){} { System.out.println(" ") }}特点:1. 抽象类无法实例化...原创 2018-10-30 22:05:55 · 112 阅读 · 0 评论 -
前端编译器(javac)
.java —— .class1. 解析与填充符号表解析包含:词法分析、语法分析 词法分析:源代码字符流——标记(Token)(标记为编译过程的最小元素,如int不可再拆分) 语法分析:Token序列——抽象语法树(每个节点代表一个语法结构,如包、类型、修饰符)填充符号表 由一组符号地址和符号信息构成的表格2. 插入式 注解处理器注解...原创 2018-12-14 21:34:32 · 348 阅读 · 0 评论