java基础
言必行 行必果
切勿得意忘形,保持谦虚
展开
-
java内部类创建的问题
[Java A] – is not an enclosing classpublic class A {public class B {}};需要实例B类时,按照正逻辑是,A.B ab = new A.B();那么编译器就会出现一个错误–“is not an enclosing class”再翻看相关的java代码,发现原来写法出错了!正确的做法是A a = new A();...原创 2019-10-18 09:13:56 · 141 阅读 · 0 评论 -
new一个对象程序所做的工作顺序
第一次new,则会加载对应的class到方法区,再次new则直接从方法区取对应的class。加载class的顺序:先父后子关注点:静态变量、静态代码块、非静态代码块、构造方法,执行的顺序public class TestOrder { public static void main(String[] args) { Child child = new Chi...原创 2019-06-27 23:08:59 · 181 阅读 · 0 评论 -
JVM内存分为哪几部分?各个部分的作用是什么?
JVM内存区域分为五个部分,分别是堆,方法区,虚拟机栈,本地方法栈,程序计数器。堆。 堆是Java对象的存储区域,任何用new字段分配的Java对象实例和数组,都被分配在堆上,Java堆可使用-Xms -Xmx进行内存控制,值得一提的是从JDK1.7版本之后,运行时常量池从方法区移到了堆上。 方法区。它用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据,方法区在...转载 2019-07-20 16:45:59 · 2533 阅读 · 0 评论 -
自定义对象为什么要重写hashcode()和equals()方法?
1.hashcode()和equals()方法是用于自定义比较两个对象是否是同一个对象的。2.当把自定义对象添加到去重集合时,如hashset,hashset会先调用hashcode()方法,判断新对象与已有对象的hashcode值是否相等,相等则继续调用equals判断,相等则是同一个对象,否则相反。3.注意: 同一个对象,hashcode值一定相等,但hashcode值相等并不...原创 2019-07-25 10:35:53 · 572 阅读 · 0 评论 -
Runnable、Callable、Executor、Future、FutureTask关系解读
转自:https://wallimn.iteye.com/blog/2065164在再度温习Java5的并发编程的知识点时发现,首要的就是把Runnable、Callable、Executor、Future等的关系搞明白,遂有了下述小测试程序,通过这个例子上述三者的关系就一目了然了。在java5以后,一个可以调度执行的线程单元可以有三种方式定义:Thread、Runnable、Calla...转载 2019-07-21 20:00:32 · 222 阅读 · 0 评论 -
http,websocket和socket详解
http,websocket和socket详解转载 2019-07-30 22:21:17 · 116 阅读 · 0 评论 -
Date类和LocalDate类
java使用预定义的类(通过Date类和LocalDate类解释)转载 2019-08-25 22:33:39 · 410 阅读 · 0 评论