【java面试和笔试大全】教程文章相关的互联网学习教程文章

Java面试 第 6 章 数据库原理【图】

6.1 SQL 语言的功能有哪些 SQL 是结构化查询语言(Structured Query Language)的缩写。 基本的 SQL 语句有 select、insert、update、delete、create、drop、grant、revoke 等。其具体使用方式见表 6-1。 ======================= end点赞 收藏分享文章举报康冕峰发布了95 篇原创文章 · 获赞 20 · 访问量 6万+私信 关注

JAVA面试——Redis

1、Redis是什么?都有哪些使用场景?Redis是一个使用C语言开发的高速缓存数据库。Redis使用场景:1)记录帖子点赞数、点击数、评论数;2)缓存近期热帖;3)缓存文章详情信息;4)记录用户会话信息。 2、Redis有哪些功能?1)数据缓存功能;2)分布式锁的功能;3)支持数据持久化;4)支持事务;5)支持消息队列。 3、Redis和memcache有什么区别?1)存储方式不同:memcache把数据全部存在内存之中,断电后会挂掉,数...

Java面试知识点(六十六)关于Redis的面试题

1. 什么是 Redis? Redis 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value DB。 Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外单个 value 的最大限制是 1GB,不像 memcached 只能...

32个java面试考点:数据库【图】

知识点汇总 关系数据库 Oracle MySql MariaDB PostgreSQL NoSQL redis mongoDB hbase Cassandra pika NewSQL TiDB OceanBase 事务特性(ACID) 原子性 一致性 隔离性 持久性 事务类型 扁平事务 带保存点的扁平事务 链事务 嵌套事务 分布式事务 分布式事务解决方案: XA规范----2PC、3PC TCC 消息事务 GTS/Fescar 数据库范式 第一范式 第二范式 第三范式 巴斯-科德范式 第四范式 第五范式

JAVA面试——数据库【图】

基础:基本存储结构:页(大小16KB) 各个数据页组成双向链表,每个数据页的记录组成单向链表索引:数据库中一个或几个列以特定数据结构存储(B-Tree Hash),减少查找时间(将无序的数据变成有序)聚簇索引 & 非聚簇索引:按照数据存放的物理位置为顺序,提高多行检索速度 加快单行检索聚集索引 & 非聚集索引:聚集索引:以主键创建的索引 叶子节点存放表中数据非聚集索引以非主键创建的索引 叶子节点存放主键和索引列 覆盖索引:...

java面试一日一题:1.6/7/8Java内存区域有什么不同吗

问题:请讲下在JDK6 JDK7 JDK8中java内存区域有什么不同吗 分析:该问题主要考察对JVM运行时区域的了解,首先要了解最基本的内存区域划分,然后再去掌握其中的变化,再延申一点,为什么要这样变化; 回答要点: 主要从以下几点去考虑, 1、内存区域的基本划分是什么? 2、内存区域在不同的版本下是怎么变化的? 3、内存区域为什么会有这样的变化? jvm运行时区域分为堆、方法区、虚拟机栈、本地方法栈、程序计数器; 在不同版本的...

java面试一日一题:java内存区域

问题:请讲下java内存区域? 分析:该问题比较容易和jvm内存模型相混淆,内存模型说的是java的内存规范,规定的是多线程下访问主内存的规则;而内存区域,说的是java运行时的内存划分,换句话说就是java程序运行时内存分为哪几部分; 回答要点: 主要从以下几点去考虑, 1、内存区域说的是什么? 2、内存区域怎么划分的? 3、内存区域为什么这样划分? 上面说到内存区域,说的就是在java程序运行的时候,分配给java进程的内存是如何...

java面试一日一题:java内存模型

问题:请讲下java内存模型? 分析:该问题比较容易和jvm内存结构(java内存结构)这样的问题混淆,其实他们是两个概念,jvm内存结构指的是运行时的几块数据区域,包括堆、方法区、虚拟机栈、本地方法栈、程序计数器;而内存模型是另外的一个概念。 回答要点: 主要从以下几点去考虑,使用3W(why how what)法 1、java内存模型的作用,保证共享变量的可见性、有序性、原子性; 2、内存模型定义了什么,内存模型定义了多线程读写共享...

Java 面试集合(juc jvm linux)【代码】

Java 面试集合 JUC volatile 并行:同时做A,B两件事 并发:同时有很多线程访问某个资源 volatile: 是java虚拟机提供的轻量级的同步机制 保证可见性不保证原子性禁止指令冲排序 JMM Java内存模型:Java Memory Model,它描述的是一组规范或者规范定义了内存中各个变量。主内存是共享内存区域,线程对变量操作,会先把数据读取到自己的工作内存中,然后对变量进行操作,然后写回主内存,各个线程的工作内存中存储着主内存的变量副本...

JAVA面试之Linux【图】

1.linux体系结构3.如何找到特定的文件1)find / -name "target3.java" 全局精确查找2)find ~ -name "target*" 当前目录及子目录模糊查找3)find ~ -iname "target*" 忽略大小写模糊查找4)find ~ | grep "target" 当前目录及子目录文件名包含target的文件 4.如何检索文件内容1)grep "moo" target* 检索当前目录下以target开头的文件中包含moo字符串的文件2)grep -o 正则表达式筛选3)grep -v 过滤掉指定字符串 5.彩蛋

【Java面试】java线程、进程

什么是进程一个在内存中运行的应用程序。每个进程都有自己独立的一块空间,一个进程可以有多个线程,比如在windows系统中,一个运行的xx.exe就是一个进程 什么是线程进程中的一个执行任务,负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据 线程五种基本状态新建(new)、可运行(runnable)、运行(running)、阻塞(block)、死亡(dead) Thread和Runnable的区别如果一个类继承...

Java面试- JVM 内存模型讲解【代码】【图】

经常有人会有这么一个疑惑,难道 Java 开发就一定要懂得 JVM 的原理吗?我不懂 JVM ,但我照样可以开发。确实,但如果懂得了 JVM ,可以让你在技术的这条路上走的更远一些。JVM 的重要性 首先你应该知道,运行一个 Java 应用程序,我们必须要先安装 JDK 或者 JRE 。这是因为 Java 应用在编译后会变成字节码,然后通过字节码运行在 JVM 中,而 JVM 是 JRE 的核心组成部分。 优点 JVM 不仅承担了 Java 字节码的分析(JIT compiler)和...

java面试-内存溢出的原因及解决办法

内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。 引起内存溢出的原因有很多种,常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据; 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收; 3.代码中存在死循环或循环产生过多重复的对象实体; 4.使用的第三方软件中的BUG; 5.启动参数内存值设定的过小; 内存溢出的解决...