1. synchronized和reentrantlock异同 相同点 都实现了多线程同步和内存可见性语义 都是可重入锁 不同点 实现机制不同 synchronized通过java对象头锁标记和Monitor对象实现 reentrantlock通过CAS.ASQ(AbstractQueuedSynchronizer)和locksupport(用于阻塞和解除阻塞)实现 synchronized依赖jvm内存模型保证包含共享变量的多线程内存可见性 reentrantlock通过ASQ的volatil…
java 基础 八种基本数据类型的大小,以及他们的封装类  答:八种数据类型分别是byte(1字节)-128~127.short(2字节)-32768~32767.char(2字节).int(4字节).long(8字节).float(4字节).double(8字节).boolean(本来是1bit的,但是计算机处理最小的单位是1字节),参数传递时候用的是参数传递,方法的修改并不能改变它.   引用数据类型   答:类.接口类型.数组类型.枚举类型.注解类型.String    使用的是引用传递(…
几个大厂的面试题目目录: java基础(40题)https://www.cnblogs.com/television/p/9397968.html 多线程(51题) 设计模式(8点) JVM(12题) 数据结构与算法(17题) 数据库(22题) Spring (13题) Netty(7大题) 缓存(9题) 技术框架(8题) 技术深度(12题) 分布式(33题) 系统架构(18题) linux(9大题) TCP/IP(19点) 软能力(12点) java 基础 八种基本数据类型的大小,以及他们的封…
数据库 事务四大特性(ACID)原子性.一致性.隔离性.持久性 事务:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.begin transaction  原子性:指事务是不可再分的最小操作单位,事务中的操作要么都发生,要么都不发生. 一致性:关系型数据库在事务开始和结束之后不能破坏关系表之间关系的完整性和一致性,从一个一致性状态到另一个一致性状态. 隔离性:多个事务同时运行时互不干扰(事务之间的相互影响分为几种,分别为:脏读,不可重复读,幻读,丢失更新…
多线程 什么是线程?     进程概念:进程是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间),比如用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间.当用户再次点击左面的IE浏览器,又启动了一个进程,操作系统将为新的进程分配新的独立的地址空间.目前操作系统都支持多进程.      线程概念:是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全…
一:java基础1.简述string对象,StringBuffer.StringBuilder区分string是final的,内部用一个final类型的char数组存储数据,它的拼接效率比较低,实际上是通过建立一个StringBuffer,让后台调用append(),最后再将StringBuffer toSting(),每次操作Sting 都会重新建立新的对象来保存新的值.这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.StringBuffer也是final,线程安全的,中采用一个c…
1. Java基础部分....................................................... 4 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.. 4 2.Java有没有goto?................................................. 4 3.说说&和&&的区别............................................…
目录 目录 string基础 Java String 类 创建字符串 StringDemo.java 文件代码: String基本用法 创建String对象的常用方法 String中常用的方法,用法如图所示,具体问度娘 三个方法的使用: lenth() substring() charAt() 字符串与byte数组间的相互转换 ==运算符和equals之间的区别: 字符串的不可变性 String的连接 String.String builder和String buffer的区别 String类的…
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com Java中的线程 Java之父对线程的定义是: 线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源).java.lang.Thread对象负责统计…
类加载器的关系 类加载器的分类 JVM支持两种类加载器,一种为引导类加载器(Bootstrap ClassLoader),另外一种是自定义类加载器(User Defined ClassLoader) 引导类加载器是由C/C++编写的无法访问到 Java虚拟机规定:所有派生于抽象类ClassLoader的类加载器都划分为自定义加载器 最常见的类加载器只有三个(如上图所示) 用户自定义的类会被系统类加载器所加载,核心类库的类会被引导类加载器所加载 public class ClassLoaderTe…