自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 java-4年-集度一面面经

emmm 一面挂,话不多说,看下问题吧集度一面:1.主从同步机制原理,主库索引倾斜但是从库没有这是为什么?2.项目还用到了哪些技术?3.mysql用了哪种存储引擎?4.innodb出了支持事务还有别的特性吗?或者说你觉得它哪些特性做得比较好5.什么时候会触发行锁?(这也是innodb特有的)加索引就会触发行锁6.间隙锁有了解过吗?间隙锁还解决过什么问题吗?可重复读和读已提交是通过什么来解决?7.刚刚说的innodb说一个支持事务一个支持表锁,行锁,另外一个是日志方面它有binlog,但是其他

2022-05-03 13:27:20 3333 2

原创 java-4年-猿辅导面经

猿辅导面经:一面面试体验非常好,面试官上来就先做了自我介绍,非常友好自我介绍 主要介绍最近的两段工作经历,我主要用了在工作中解决了哪些问题,涉及一些常见技术问题, 取得了什么样的成绩;注意将最近的项目成绩做一个总结面试官根据自己的项目介绍问了一些问题(耗时最长,灵活的涉及了一些八股文)做个算法题 lru缓存设计一个RPC框架,会从那几点考虑猿辅导二面面经1.自我介绍,离职原因,自我介绍提到了技改类,质量提升类专项,问到做这些专项的流程是什么样的,先做的什么,后做的什么?组织架构与服务划

2022-05-03 13:24:09 1222

原创 Java两年-京东面经

电话+在线编程1、自我介绍2、在线编程:有效括号+二叉树层序遍历+动态规划三选二3、说一下双亲委派模型4、线程的生命周期5、线程同步的原理,synchronized锁的原理6、平时用过线程池么?什么场景下用的线程池?线程池的大小是怎么设置的?线程池的原理?7、设计模式有了解么?spring的单例模式的原理?8、mq有了解么?9、mysql的默认隔离级别?mysql的优化经历?怎么查看是否有用到索引?explain的参数大致说一下?表的数据量?有接触过分库分表么?怎样分的?10、redi

2020-10-17 19:22:34 289

原创 Java两年经验-滴滴面试

1、自我介绍2、项目介绍3、Java集合有哪些?平时工作中怎么用到它们4、hashmap 有了解么 hash冲突时是头插还是尾插?是怎么resize的?查找的时间复杂度是多少 set的时间复杂度是多少5、

2020-09-25 20:47:34 314

原创 2020-09-07-中国人寿两年java岗位一面

视频面试,一面挂了,主要是看简历,问简历上相关的东西 要求对技术有自己的架构理解1、先介绍一下最近正在做的项目吧2、介绍一下简历上的第二个项目面试官反馈:项目介绍下来,一个是改造,一个维护,没有什么技术亮点,都是在做一些运维性的东西3、看你简历上有用到mongdb,说说对mongdb的理解(因为简历上有提到正在做的项目有mongdb)4、mongdb与mysql的区别,或者说是nosql和sql的区别5、介绍一下redis6、依次介绍一下java中集合、多线程、线程安全吧7、有什么要问的怎

2020-09-07 19:23:49 1311

原创 2020/06/16-阿里两年java岗位面试

是的,同志们,我又去面阿里了。整体面试体验良好,面试官超级友好,而且在尽力提示我。。。恨自己为啥这么菜鸡1、自我介绍+项目介绍2、spring的两大特性包括IOC和AOP,那么为什么要有IOC ?AOP平时用过吗?知道AOP是通过哪项技术实现的吗?答出动态代理之后,知道动态代理有哪几种方式吗?3、平时工作中用什么监控系统?答出cat后,知道cat为什么能够实现监控吗?4、平时项目中怎么和其他系统交互的?答出rpc方式后,知道rpc调用其他接口的过程中会涉及到哪些组件么?zk+代理5、知道怎么看C

2020-06-16 21:29:59 327

原创 实战之throwable和exception

实战之throwable和exception最近项目合作中出现了一种线程异常结束的情况,因为是半路接入的, 废了大半天时间才搞定,这里记录一下.项目背景是A项目引入了B项目jar包, 并调用jar包提供的接口In2B, 但是出现满足某种业务条件时In2B无返回结果导致超时的情况,其中手动打的日志走到311行变直接结束了。调用代码部分:解决思路:提供jar包项目组B, 使用相同数据本地调试,正常返回无问题;调用方A, 使用相同入参本地调试调用接口正常返回无问题;增加jar包中接口日志,在313

2021-12-29 14:42:24 683

原创 记一次 mysql force index 引来的大坑

项目中不要用force index!项目中不要用force index!项目中不要用force index!特别是历经几年的老项目。首先说下结论,force index 策略先精确匹配,如果匹配不到,可以模糊匹配,前提是只存在一个模糊匹配的结果。例如CREATE TABLE `masterbasic1`.`student` ( `code` varchar(20) NOT NULL, `name` varchar(40) NULL, `sub_code` varchar(30) NU

2021-05-28 16:39:34 1617 2

原创 产品经理与众不同的思维方式与“职业病”

产品经理与众不同的思维方式与“职业病”做技术开发快三年了,最近总觉得自己思维不够发散,看问题的角度不够灵活,就尝试着看一些不同专业的书,帮助自己打破思维定势。作为ToB技术业务(wms系统)开发,工作中经常考虑的方面是技术实现上是否有难度,怎样才能使性能提高,系统怎样设计,代码风格怎样规范。中间换了一家公司之后,做相同的ToB业务,系统更加庞大,用户群体量增大了几十倍,研发要参与值班辅助用户更好地使用系统。在与系统用户直接接触了几个月之后我发现了自己作为技术研发上与用户沟通侧重点的不同。在排查问题时,技

2021-05-05 10:47:05 91

原创 客户端发现响应内容类型为“text/html;charset=utf-8”,但应为“text/xml” 解决办法

characterEncoding=utf8&{"客户端发现响应内容类型为“text/html;charset=utf-8”,但应为“text/xml”。\r\n请求失败,错误信息为:\r\n--\r\n<html><head><title>Apache Tomcat/6.0.44 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;...

2021-01-06 14:42:12 7388 1

原创 IDEA本地仓库存在jar包但maven引入仍然报红

IDEA本地仓库存在jar包但maven引入仍然报红一个项目下S分多个模块A\B\C\D,本地仓库是同一个,每个模块有自己的pom文件,其中一个子模块A引入了spring-test<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.2.6.RELEASE</v

2020-12-10 17:43:34 4483 2

原创 spring问题小记

一、@Value无法为静态变量赋值,需要通过非静态的set方式进行赋值原因:静态变量 / 类变量不是对象的属性, 而是一个类的属性, spring 则是基于对象层面上的依赖注入.

2020-07-30 20:00:00 103

原创 IDEA run/debug按钮变灰,没有反应

太坑了,怀疑了很多地方完全没有怀疑IDEA工具本身,我的IDEA版本是19/01版,更新成2019.3.5版本就解决了。。。参考:上上谦

2020-07-08 11:35:24 2219

原创 锁——《MySQL技术内幕》读书笔记

1、使用锁的目的是什么?数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。2、InnoDB锁InnoDB使用了表锁和行锁。InnoDB存储引擎实现了如下两种标准的行级锁:□ 共享锁(S Lock),允许事务读一行数据。□ 排他锁(X Lock),允许事务删除或更新一行数据。共享锁和排他锁的兼容性:(兼容是指对同一条记录锁的兼容性情况)InnoDB存储引擎支持多粒度(granular)锁定,这种锁定允许事务在行级上的锁和表级上的锁同时存在。InnoDB支持意向锁,意

2020-06-16 16:57:08 170

原创 线程安全与锁优化-《深入理解java虚拟机》读书笔记

一、线程安全的实现方法?互斥同步synchronized关键字,块结构同步语法。被其修饰的同步块对同一个线程来讲是可重入的,所以同一线程反复进入同步块也不会出现自己把自己锁死的情况。被其修饰的同步块在持有锁的线程执行完毕并释放锁之前,会无条件阻塞后面线程的进入。synchronized是一种重量级锁JUC包提供了Lock接口,在类库层面实现同步,重入锁和读写重入锁是Lock最常见的一种实现,以重入锁ReentrantLock为例,相比于synchronized增加了一些高级功能。等待可中断:

2020-06-11 14:50:35 199

原创 Java内存模型——《深入理解java虚拟机》读书笔记

1、TPS是什么?Transactions Per Second,每秒事务处理数,代表着一秒内服务端平均能响应的请求总数。2、java内存模型内存模型可以理解为在特定的操作协议下,对特定的内存或高速缓存进行读写访问的抽象过程。java内存模型的主要目的是定义程序中各种变量的访问规则,即关注虚拟机把变量存储到内存和从内存中取出变量值这样的底层细节。java内存模型规定了所有变量(不包括局部变量和参数)都存储在主内存中,每条线程还有自己的工作内存,该线程的工作内存中保存了被该线程使用的变量的主内存副本

2020-06-10 14:53:28 134

原创 Integer的IntegerCache

最近在看Integer源码的时候发现了一个比较有趣的地方。在Integer自动装箱的时候会默认调用这个静态方法,即Integer i1 = 2000;//相当于下面的Integer i1 = Integer.valueOf(2000);valueOf源码如下图所示:可以看到valueOf实现并不是简单的new一个新的Integer对象。那么这里面的IntegerCache是什么呢?根据截图可以看出IntegerCache相当于使用数组实现了一个缓存,默认范围时-128~127。其中最小值

2020-06-08 15:44:35 223

原创 虚拟机类加载机制——《深入理解java虚拟机》读书笔记

1、什么是类加载机制?答:Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机使用的java类型,这个过程即被称作java的类加载机制。Java中类型的加载、连接和初始化过程都是在程序运行期间完成的。2、类加载经过几个生命周期?其中加载、验证、准备、初始化、卸载这五个阶段的顺序是确定的,类型的加载过程必须要按这种顺序按部就班的“开始”,但不是“进行”或者“完成”。因为这几个阶段都是互相交叉的进行,会在一个阶段执行过程中调用、激活另外一个阶

2020-06-08 14:41:26 141

原创 垃圾回收GC详解——《深入理解Java虚拟机》读书笔记

1、java程序员为什么要去了解垃圾收集和内存分配?答:当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些”自动化“的技术实施必要的监控和调节——3.1概述2、哪些需要垃圾回收?答:前面的文章已经介绍了java虚拟机运行时数据区主要分为两大部分:程序计数器、java虚拟机栈和本地方法栈为线程隔离的数据区;java堆和方法区为所有线程共享的数据区。其中前者依赖用户线程的启动和结束而建立和销毁,因此不需要过多考虑如何回收的问题。后者则有着显著的不确定性,这部

2020-06-04 15:27:42 332

原创 HotSpot虚拟机对象——《深入理解Java虚拟机》读书笔记

进一步了解虚拟机内存中数据的其它细节,譬如它们是如何创建、如何布局以及如何访问的。对于这样涉及细节的问题,必须把讨论范围限定在具体的虚拟机和集中在某一个内存区域上才有意义以下介绍HotSpot虚拟机在java堆中对象分配、布局和访问的全过程。一、对象分配java虚拟机遇到一条字节码new指令时,1、检查指令参数能否在常量池中定位到一个类的符号饮用;2、检查符号饮用代表的类是否已执行过类加载过程;3、类加载检查通过后,分配内存。分配内存方式包括:1、指针碰撞2、空闲列表分配内存需要考虑线程

2020-06-03 15:09:32 211

原创 java内存区域——《深入理解java虚拟机》读书笔记

***对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题。***—— 2.1概述自动内存管理的优点:对应的开发人员不需要关注内存管理,通过自动的垃圾回收机制,在一定程度上可以防止内存泄漏,提高内存的使用率java虚拟机运行时数据区由所有线程共享的数据区:随着虚拟机进程的启动而一直存在;线程隔离的数据区:依赖用户线程的启动和结束而建立和销毁。java堆所有的对象实例以及数组都应当在堆上分配.

2020-06-03 11:43:23 161

原创 newFixedThreadPool(1)和newSingleThreadPool()的区别

最近在学习线程池遇到一个有意思的问题,在这里记录一下,若大佬们觉得不够精准欢迎留言私信!查看newSingleThreadPool()源码如下图:注释中被圈中的大概意思是指newSingleThreadPool()与newFixedThreadPool(1)的不同,前者线程池中的线程数量是不可重新配置的,也即不能去加入额外的线程。这具体是指什么意思呢?接下来我们看一下newFixedThreadPool(1)的源码如下图:对比两者的源码可以看出newSingleThreadPool的实现相当于

2020-05-28 15:06:03 1885 2

原创 java Integer溢出判断的两种方法

java中int是32位有符号整数类型,对应的包装类型提供了常量Integer.MAX_VALUE代表其最大值,Integer.MIN_VALUE代表其最小值,即int表示的整数范围在-2147483648 ~ 2147483647之间,超过这个范围会发生溢出,且不会抛任何异常。在实际编码过程中,怎样判断int或者Integer是否溢出呢?一、jdk8中提供的java.lang.Math已经帮我们实现了:import java.lang.Math;public class ArithmeticSol

2020-05-14 11:35:57 5534

原创 Arrays.asList易错点

asList的参数是类型T…的,泛型类型T不能表示基本类型int,因此它将表示最特定的对象类,刚开始我期望从int[]到Integer[]的自动转换,查了资料后发现,自动装箱只适用于基元类型,而数组不是基元类型。...

2020-05-11 23:46:49 309

原创 spring下的多线程

Spring下的多线程工作不到两年,大部分都在写业务代码,了解业务相关的知识。回顾一下发现平时并没有遇到过多线程的问题。最近看一些面试题发现对java后端来说,多线程部分的知识还是很重要的,这里记录一下。我平时主要用springMvc和springBoot这两个框架,整个框架的设计不涉及多线程。但是javaweb对于并发量还是有一定要求,就很好奇怎么实现的并发???参与的系统数据主要存储在...

2020-04-23 13:55:49 708

原创 Mvn编译报错

MVN编译报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project isms: Fatal error compiling: java.lang.ExceptionInInitializerError: com.s...

2020-04-17 17:28:29 658

原创 spring-boot-maven-plugin报红-pom引入不成功

spring-boot-maven-plugin报红换了新电脑之后要重新配置IDEA,经过一番折腾之后,springboot项目启动终于正常,但是发现pom文件中spring-boot-maven-plugin插件无法引入。解决办法,指定版本;为什么刚开始没有注意?由于本项目系统的pom文件中的版本号都是在parent中指定,所以刚开始没有在这方便想。原电脑不报红的原因是本地仓库在做其他系统...

2020-04-17 17:20:59 17344 21

原创 数据库与spring事务隔离级别

脏读:一个事务读取到另一个事务未提交的数据,出现脏读的本质是是因为操作(修改)完数据就立马释放掉锁,导致其他事务可以读取数据,而读取的数据是无用的或者错误的。不可重复读:一个事务读取到另外一个事务已经提交的数据,即一个事务可以看到其他事务所做的修改。幻读(虚读):一个事务内读取到了别的事务插入的数据,导致前后读取不一致。查看当前会话隔离级别:select @@tx_isolation;查看...

2020-04-14 17:23:30 584

原创 Spring事务与数据库事务之间的关系

Spring事务与数据库事务之间的关系 过去的一年里,使用的spring事务与数据库事务的关系一直很迷,今天记录一下。 spring事务本质上使用数据库事务,而数据库事务本质上使用数据库锁,所以spring事务本质上使用数据库锁,开启spring事务意味着使用数据库锁...

2020-04-14 16:02:07 779

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除