摘要:
?基础知识 -- 编译时 编译器将源代码翻译成机器能够读懂的代码,如java中就是翻译成jvm能够读懂的字节码文件。简单说,编译时就是机器帮我们检查代码是否有出现语法错误,关键字写错之类的,是为之后的类加载做好准备,所以,在这个过程中并不会出现什么分配内存之类的操作。 -- 运行时 这个过程是指将编 阅读全文
摘要:
抽象类 在面向对象的概念中,熟知的对象都是通过的类来描述的,但是有时也会存在一些并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类 ?基本格式 ? 知识点 抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类, 阅读全文
摘要:
前言 今天面试被问到了,我们都知道final修饰的东西是不可变的,那么是值不可变还是其地址不可变?一脸懵逼,回来查阅一番,总结一下 final与数据 在日常行为下,一般数据指的都是基本数据变量或者常量。当final修饰的是一个基本的数据变量时,那么该变量的值就相当于一个常数不可变,当final修饰的 阅读全文
摘要:
基本类型 与 包装类型 Java 中预定义了八种基本数据类型,包括:byte,int,long,double,float,boolean,char,short。基本类型与对象类型最大的不同点在于,基本类型基于数值,对象类型基于引用。 基本类型的变量在栈的局部变量表中直接存储的具体数值,而对象类型的变 阅读全文
摘要:
基础知识 String是final类, 并且其方法都被final修饰 String通过char数组来保存字符串 对String对象的任何操作都不会影响到原来的String对象, 所有的改变都会创建新String对象 创建与内存场景分析 ? 常量赋值 代码: 内存图: 分析:对于常量赋值来说, 变量s 阅读全文
摘要:
>数据库分类 数据库可分为关系型数据库(Sql)和非关系型数据库(NoSql) Sql: mysql、sqlserver、oracle NoSql: 1)键值对数据库:redis、memcache 2)列存储数据库:hbase 3)文档型数据库:mongdb 4)图形数据库:graph ? 区别 1 阅读全文
摘要:
>HashMap 在java1.7中,hashmap的数据结构是基于数组+链表的结构,即我们比较熟悉的Entry数组,其包含的(key-value)键值对的形式。在多线程环境下,HashMap进行put操作会引起死循环,是因为多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成环形数 阅读全文
摘要:
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载机制 类加载的大致过程 类的加载的过程一共分为三个步骤:加载、链接和初始化 加载:是类加载的一个阶段,由类加载器执行,查找字节码,并创建一个Cl 阅读全文
摘要:
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 在数据库中,为了要维护数据的完整性,以及一些数据的校验和逻辑性处理,常常需要用到约束 常见的约束一共有五种:not null、unique、 primary_key、foreign_key、check (1)not null 称为非空约束 阅读全文
摘要:
(1)LIMIT子句(MySql) LIMIT 子句用于规定要返回的记录的数目,一般和Order By一起使用 经常用于数据的分页查询,但是一旦数据量一大,limit的性能就会急速下降 格式:select * from table limit m,n 其中m代表表的某一行数据,n表示的是要查找的多少 阅读全文