1、MySQL 中有哪几种锁?1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3.页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。2、MySQL 中有哪些不同的表格? 共有 5 种类型的表格:MyISAM Heap Merge INNODB ISAM3、简述在 MySQL 数据库中 ...
写在前面 早在2月份开始LZ就开始整理2020年Java常见面试题了,整理出来的这份文档里面的Java面试题都是LZ自己及朋友还有粉丝真实面试的面试题集锦。里面大部分面试题都是阿里、滴滴、美团、字节跳动等大型互联网公司必问的面试题。就在昨天终于把这些面试题及答案整理好了,今天就分享给各位老铁复习迎战面试。答案领取方式:整理不易,请各位老铁转发本文让更多的朋友看到LZ的这份心血,再给LZ点个关注,然后私信回复“面试”获得领...
本文原版链接为:https://www.cnblogs.com/rocomp/p/4833766.html 成果归作者享有,作者如有发现侵权请私信告知,本人收到通知必删。此处引用只为学习记录。 一、JDBC简介 ? ? ? ?JDBC(Java Data Base Connectivity)java数据库连接 ? ? ? ?SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习JDBC接口,并通过JDBC加载具体的驱动,就可以操作...
本篇是Java内存溢出系列第2小篇。1.OutOfMemoryError之Java heap space2.OutOfMemoryError之GC overhead limit exceeded3.OutOfMemoryError之Permgen space4.OutOfMemoryError之Metaspace5.OutOfMemoryError之Unable to create new native thread6.OutOfMemoryError之Out of swap space?7.OutOfMemoryError之Requested array size exceeds VM limit8.OutOfMemoryError之Kill process or sacrifice childJava运行时环境内置了 垃圾...
centos下Java项目完整部署系列文档,共5篇,第4篇—Nginx安装 系列文章介绍依赖库安装nginx 源码包安装 系列文章介绍Centos系统中,默认已安装OpenJDK,此系列文档中不在讲jdk的安装。文档一共分为5篇,部分内容参考于其它博客,5篇链接如下, 1.mysql安装 2.Tomcat安装 3.项目部署 4.Nginx安装 5.nginx配置依赖库安装 安装 gcc 环境,nginx 编译时依赖 gcc sudo yum -y install gcc gcc-c++ 安装 pcre,让 nginx 支持重写功能 sudo ...
前言 了解 JVM 是对 Java 开发人员的基本要求,JVM 的相关内容自然也成了现在 Java 程序员面试的重要考点。不过估计很多小伙伴和我一样,长时间醉心于 CRUD,却忘了去了解一下更底层、更基础的东西,殊不知这些才是决定你能在这条路上走多远的关键因素,那接下来我们就一起来深入学习一下看似神秘的 JVM 吧。JVM 总体来看内容还是很多的,我会把最重要的内容介绍给大家,不过如果你有时间和精力的话,还是推荐你去看一下《深入理解...
目录 Java垃圾回收概况Java内存区域Java对象的访问方式Java内存分配机制Java GC机制垃圾收集器 Java垃圾回收概况Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(Java Virtual Machin...
【原创】Java并发编程系列04 | Java内存模型详解 收录于话题#进阶架构师 | 并发编程专题12个点击上方“java进阶架构师”,选择右上角“置顶公众号”20大进阶架构专题每日送达 思维导图写在前面 前面讲解了并发编程的三大核心问题:原子性、可见性、有序性。文章见:【原创】Java并发编程系列03 | 重排序-可见性和有序性问题根源那么,作为从最开始就支持并发的语言,Java是如何解决这些核心问题的呢? 1. JMM抽象结构模型 JMM抽象结...
public class Demo09 {public static boolean flag = true;public static class T1 extends Thread {public T1(String name) {super(name);}@Overridepublic void run() {System.out.println("线程" + this.getName() + " in");while (flag) {;}System.out.println("线程" + this.getName() + "停止了");}}public static void main(String[] args) throws InterruptedException {new T1("t1").start();//休眠1秒Thread.sleep(1000)...
上节提到的:伪共享,今天我们来说说。 那什么是伪共享呢? 这得从CPU的缓存结构说起。以下如图,CPU一般来说是有三级缓存,1 级,2级,3级,越上面的,越靠近CPU的,速度越快,成本也越高。也就是说速度方面:1级>2级>3级。 说到这里,我们要理解一个很重要的概念:缓存行。什么是缓存行? 首先我们来看这几级缓存,其中,1,2级缓存是CPU核心私有的,也就是说每个核,之间不会共享1,2级缓存,那它们之间怎么通信或共享数据呢?...
#Java内存结构详解 相信大多数Javaer对Java的内存结构都有一定的了解,但如果对于Java的内存结构只停留的"堆","栈"中显然是不够的。今天来给大家详细谈一谈Java的内存区域结构,本文基于 JDK7 的内存结构做讲解,JDK8的内存结构加上了metaspace,有些许变动,想详细了解的同学请自行翻阅相关资料。文章结构 1.内存结构图 2.根据内存结构图各个区域做详细讲解##1 . 内存结构图图片说明方法区,堆区(标绿)为所有线程共享的内存区域,虚...
基于非常多原因,还是得说说java环境的搭建和配置。 1、下载JDK: jdk和jre的差别:jre表示执行环境。jdk除了执行环境,还带有调试开发环境。 地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 这边主要解说jdk7的安装。 此外http://www.oracle.com/technetwork/java/javase/downloads/index.html 这里面包括了非常多个版本号,有java8,假设你想安装java8也能够查看自己系统的位数:...
转自:https://www.cnblogs.com/zhguang/p/3257367.html 目录Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器Java垃圾回收概况Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理...
看到这里,我相信大家对于一个 Java 源文件是如何变成字节码文件,以及字节码文件的含义已经非常清楚了。那么接下来就是让 Java 虚拟机运行字节码文件,从而得出我们最终想要的结果了。在这个过程中,Java 虚拟机会加载字节码文件,将其存入 Java 虚拟机的内存空间中,之后进行一系列的初始化动作,最后运行程序得出结果。 那么字节码数据在 Java 虚拟机内存中是如何存放的 ?Java 虚拟机在为类实例或成员变量分配内存是如何分配的...
代码 #!/bin/bash # 一键安装jdk1.8cd ~ echo "选择安装版本:"; echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"; echo ">>>1. 部分安装功能不缺(一百兆左右)>>>"; echo ">>>2. 全部安装 (1G左右)>>>>>>>>>>>>>>"; echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"; read CHIOCE; if [ $# == 0 ]; then echo "==> 默认选择 ==> “1”";yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y elseif [[ $CHIOCE == '...