![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 72
又要改名
这个作者很懒,什么都没留下…
展开
-
List接口(ArrayList,LinkedList,Vector)
ArrayList:·以大小可变的“数组”来实现List接口。·容量能够动态增长。1)ArrayList实际上是通过数组保存数据,构造ArrayList时,若使用默认构造函数,则ArrayList的默认初始容量大小为10;2)当ArrayList容量不足以容纳全部元素时,ArrayList会重新设置容量:新的容量=“(原始容量x3)/2 + 1”。所以数组容量动态增长的数量变化:10—>16...原创 2018-04-20 22:37:31 · 150 阅读 · 0 评论 -
synchronized与lock
可重入性从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的。两者都是同一个线程再进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。可重入锁:一个线程中可以多次获得同一把锁。锁的实现:Synchronized是依赖于JVM实现的,而ReenTrantLock是JDK实现的,有什么区别,说白了就类似于操作系统...原创 2018-05-31 21:29:32 · 351 阅读 · 0 评论 -
。
MVC:MVC(model-view-controller)是一种软件设计典范,它分离了表现与交互,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。三个核心部件:模型model、视图view、控制器controller 视图:用户看到并与之交互的界面 ...原创 2018-05-27 17:40:07 · 372 阅读 · 0 评论 -
JVM
JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Usi...原创 2018-05-26 00:56:44 · 1101 阅读 · 1 评论 -
Java 关键字(this、static、final)
this:·在类定义的方法中有时需要引用正在使用该方法的对象时,可以用关键字this表示该对象,即表示当前类对象。·格式: this.<变量名> //引用全局变量,解决可能在全局变量和局部变量之间发生的任何同名的冲突 this.<方法名[参数列表]>·在同名构造方法中使用this,可以调用其他同名的构造方法。在构造方法中this...原创 2018-04-29 18:40:35 · 246 阅读 · 0 评论 -
Java 继承与多态
继承继承:·在多个类之间存在相同的属性和方法时,可从这些类抽象出一个通用类,该通用类可以定义一系列的一般特性,再被其他更具体的类继承,每个具体的类都可以增加一些自己特有的属性和方法。继承性可以使子类拥有父类的成员变量和成员方法。·重要原则: (1)Java只支持单重继承,不支持多重继承。 (2)子类只继承父类中的非private成员变量。 (3)子类的成员变量和父类的成员变量同名时,父类的成...原创 2018-04-26 17:16:55 · 175 阅读 · 0 评论 -
Java 重载(Overload)与重写(Override)
重载:·重载,又可称为静态多态性,即同一个类中允许多个同名方法,对这些同名方法区分的要点是:参数的个数不同,或者是参数类型不同,或者是参数的顺序不同。·不能把返回类型作为方法重载的依据:public double area(float a,float b){ return a*b;}public int area(float a,float b){ return ...原创 2018-04-26 15:00:14 · 140 阅读 · 0 评论 -
Java 抽象类与接口
抽象类:·抽象类就是专门设计用来让子类继承的类,用abstract修饰。·抽象类提供一个类的部分实现,其内部可以有成员变量、构造方法、具体方法和抽象方法。抽象类包含的抽象方法以分号结束,且不含方法体,它是必须被子类覆盖的方法。·格式:abstract class<类名>{ 成员变量; 返回类型 方法名(参数列表){方法体} //定义一般方法 ab...原创 2018-04-26 10:51:45 · 173 阅读 · 0 评论 -
Java 线程
进程与线程:·进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动。进程是系统进行资源分配和调度的一个独立单位。·线程:进程的一个实体,是CPU调度的基本单位。是比线程更小的能够独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。·进程与线程的关系:线程是属于进程的,...原创 2018-04-25 18:46:03 · 111 阅读 · 0 评论 -
String,StringBuffer,StringBuilder
String:·字符串常量,线程安全的。·String类是final类,是通过char数组来保存字符串的。·String对象创建之后不可更改。在每次对String类型进行改变的时候,其实是生成了一个新的String对象,然后将指针指向新的String对象,原来的String对象因为没有引用指向它,会被JVM的垃圾回收机制(GC)给回收掉。所以执行速度比较慢。·实例化字符串时的优化:字符串常量池。在...原创 2018-04-21 21:40:19 · 125 阅读 · 0 评论 -
Map集合(HashMap,HashTable,LinkedHashMap,TreeMap,ConcurrentHashMap)
HashMap:·实现了Map接口,并继承 AbstractMap 抽象类。·底层是散列表(哈希表)结构,以Key-Value的形式存在,存储的对象是 Entry (同时包含了 Key 和 Value) 。·HashMap会根据hash算法来计算Key-Value的存储位置并进行快速存取。HashMap只允许一条Entry的键(Key)为null,允许 多条Entry的值(Value)为...原创 2018-04-21 18:44:21 · 505 阅读 · 0 评论 -
Set接口(HashSet,LinkedHashSet,TreeSet)
HashSet:·采用散列表(哈希表),基于HashMap来实现,map是整个HashSet的核心。·线程不同步。·特点:元素无序和不重复。·保证元素唯一性:通过元素的hashCode()和equals()方法。 调用add()方法向集合中存入对象的时候,首先通过hashCode方法计算该对象的hash值,然后比较与原有对象的hash值是否有 一样的,如果没有一样的hash值就直接存入;如果存...原创 2018-04-20 23:42:19 · 151 阅读 · 0 评论 -
Java内存模型
Java内存模型的主要目标:定义程序中各个变量的访问规则。Java的并发采用的是共享内存模型Java线程之间的通信由Java内存模型(JMM)控制。JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory),本地内存中存储了该...原创 2018-06-01 16:29:28 · 121 阅读 · 0 评论