随笔分类 -  JavaSE

摘要:arraylist :线程不安全 动态数组 修改元素慢\访问性能好 可用作列表 源码分析: 数据结构:数组 数组元素类型:object类型,可以存放所有类型数据 构造方法: 1.无参构造 默认容量10 2.有参构造 自定义 add方法: 先判断size+1,数组是否放得下 容量不足,增大为1.5倍( 阅读全文
posted @ 2019-09-18 20:31 hhhl 阅读(130) 评论(0) 推荐(0)
摘要:字符串转字符数组 char[] schar=s.toCharArray(); 返回t中的下标 k=t.indexOf(String.valueOf(schar[i]),index); 阅读全文
posted @ 2019-07-20 21:47 hhhl 阅读(110) 评论(0) 推荐(0)
摘要:1.如何理解面向过程和面向对象 面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤实现,使用的时候一个一个调用。优点:性能比面向对象高,因为类的调用需要实例化,开销大;多用在单片机,嵌入式开发。缺点:没有面向对象容易维护、复用和扩展 面向对象:把构成问题的事务分成各个对象,通过属性和方法来描 阅读全文
posted @ 2019-07-11 22:04 hhhl 阅读(217) 评论(0) 推荐(0)
摘要:clinit:类构造器方法。在jvm进行类加载-验证-解析-初始化中的初始化阶段jvm会调用clinit方法对静态变量,静态代码块进行初始化。 init:对象构造器方法。在new一个对象调用构造方法时执行,对非静态变量初始化。 阅读全文
posted @ 2019-07-02 08:58 hhhl 阅读(261) 评论(0) 推荐(0)
摘要:方法重载 类中创建多个方法,具有相同的名字,但是有不同的参数和定义 方法重写 1.父类与子类之间的多态性,对父类的函数进行重新定义。 2.新方法覆盖原方法。 3.返回值类型也必须与原方法相同。 阅读全文
posted @ 2019-07-02 08:50 hhhl 阅读(135) 评论(0) 推荐(0)
摘要:1.检查类是否被加载 如果没有,限执行下相应的类加载过程; 2.为新生对象分配内存 如果堆中内存是规整的,采用指针碰撞。(所有用过的内存放在一边,空闲的内存方法另一边,中间放一个指针作为分界点的指示器,那么分配内存就是把指针向空闲空间挪动一段与对象相等的距离) 如果堆中内存不规整,采用空闲列表。虚拟 阅读全文
posted @ 2019-07-02 08:43 hhhl 阅读(768) 评论(0) 推荐(0)
摘要:区别: 1.抽象类可以有构造方法,接口中没有; 2.抽象类可以有普通成员变量,接口中没有; 3.抽象类可以包含静态方法,接口中没有; 4.一个类可以实现多个接口,但是只能继承一个抽象类; 相同点: 1.都可以被继承; 2.都不能实例化; 3.都可以包含方法声明; 4.派生类必须实现未实现的方法。 阅读全文
posted @ 2019-07-02 08:25 hhhl 阅读(878) 评论(0) 推荐(0)
摘要:运行机制 异常 线程 Java程序运行的时候底层也是多线程,除了main,gc也在同时运行。 线程状态: 线程同步(多个线程要访问同一份资源) 1. 同步块 Synchronized(引用类型){} 2. 同步方法 Public synchronized test(){} 线程安全:hashtabl 阅读全文
posted @ 2019-06-30 10:57 hhhl 阅读(153) 评论(0) 推荐(0)