自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网易一面凉经

网易一面凉经今天7.30 面试了网易,说一下整体情况吧,感觉这次面试,自己也有很多东西都不会,面试官问的问题我几乎全答不出来,感觉自己还是比较菜的,菜的无敌无敌爆炸。一开始面的还行,后面一直问到不会的。我后面答题就没有信心了,然后回答问题全乱了,全部想不起来。然后就乱了心,啥都不会了。我来总结一下问题吧,可能有些问题我表述不清楚或者忘记了,请见谅。一句话总结就是问到你不会为止。前面都是比较基础的问题,主要还是抗压能力还不够,有些问题我答出来了,但是面试官 说了一句啊?笑了一下我就以为是错的不过面了这

2021-09-01 23:48:38 275

原创 阿里健康一面面经

今天刚刚面了阿里健康,不知道为什么我阿里笔试0分,也可以约面试,但是我感觉问的问题比较难。1.自我介绍2.项目中的重难点3.happen-before用来干嘛的?4.快排基本流程5.并发编程,那些是设计好的,给上层架构用的6.Mysql中B+树的数据结构7.Mysql中B+树为什么要用B+树,为什么不用红黑树8.Mysql中如何保持数据不丢失?(二次读写和日志)反问环节,面试官建议我多看看源码, 感觉理解的东西都比较概念,没有真的很深入的去理解面试时长30分钟感觉挂掉了,难度太难了

2021-08-05 20:06:00 643 3

原创 Java IO模型

IO模型BIO同步并阻塞(传统型阻塞),服务器实现模式为 一个连接一个线程,即客户端 有链接请求时服务器就需要 启动一个线程进行处理,如果这个连接不做任何事情就会造成不要的线程开销。NIO同步非阻塞,服务器实现模式是 为一个 线程处理多个请求,即客户端发送的连接请求都会注册到 多路复用器上,多路复用器 轮询到连接有IO请求就进行处理AIO(又称为NIO2.0)异步非阻塞,服务器实现模式为 一个有效请求一个线程,客户端的IO请求都是由OS先完成了再通知服务器应用去启动线程进行出出力, 一般适用

2021-07-29 15:06:31 224

原创 垃圾回收器(简单概述)

垃圾回收器(简单概述)GC分类与性能指标垃圾回收器概述垃圾收集器没有在规范中进行过多的规定,可以由不同厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性语法层面:Lambda表达式、switch、自动拆箱装箱、enum、泛型API层面:Stream API、新的日期时间、Optional、String、集合框架底层优化:JVM优化、GC的变化、元空间、静

2021-07-29 15:04:45 518

原创 垃圾回收概述(垃圾回收算法)

垃圾回收概述Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C++语言没有垃圾收集技术,需要程序员手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进中,不同大小的设

2021-07-29 15:04:13 729 1

原创 JVM(类加载子系统)

JVMJVM的整体结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KIRlxghn-1627542127576)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210307211553743.png)]PS:执行引擎里面有:解释器和JIT(即时编译器)JAVA代码执行流程文字概括:首先java源码(.java文件)进入java编译器然后生成字节码文件(.class)文件JVM(j

2021-07-29 15:02:34 164

原创 并发编程(下)

不可变对象设计(String保护性拷贝)、final的使用、享元模式不可变类设计String如果一个对象在不能够修改器内部状态(属性),那么它就是线程安全的,因为不存在并发修改类用final修饰保证了该类中的方法不能被覆盖,防止子类无意间破坏不可变性不可变如果一个对象在不能够修改其内部状态(属性),那么它就是线程安全的,因为 不存在并发修改。日期转换的问题问题提出下面代码在运行时,由于SimpleDateFormat不是线程安全的``package com.finaltest

2021-07-29 15:01:51 216

原创 Java并发编程:CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe

Java并发编程:CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe共享模型之无锁Java中 synchronize 和 ReentranLock等独占锁就是 悲观锁思想的实现在Java中 java.util.concurretn.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式乐观锁的来实现并发控制1、 问题提出有如下需求,保证account.w

2021-07-29 15:00:41 920

原创 Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、

Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、共享模型之内存多线程的三大特性(原子性、可见性、有序性)之前将的synchronize底层Monitor主要关注的是访问共享变量时,保证临界区代码的原子性。下面进一步深入学习共享变量在多线程间的可见性问题与多条指令执行时的有序性问题Java内存模型(重点)JMM 即Java Memory Model,它从Java层面定义了主存、工作内存抽象概念,底层对应着 CPU寄存器、缓存、硬件内存、CPU指令优化等。JMM体

2021-07-29 14:59:14 255

原创 # 死锁、ReentranLock(锁重入、锁超时、可中断、公平锁、条件变量)、同步模式之顺序控制

死锁、ReentranLock(锁重入、锁超时、可中断、公平锁、条件变量)、同步模式之顺序控制多把锁小故事一间大屋子有两个功能:睡觉、学习,互不相干。现在小南要学习、小女要睡觉,但如果只用一间屋子(一个对象锁)的话,那么并发度很低小南获取锁之后,学完习之后,小女才能进来睡觉。解决方法时准备多个房间(多个对象锁)@Slf4j(topic = "guizy.BigRoomTest")public class BigRoomTest { public static void m

2021-07-29 14:58:38 370

原创 # wait和notify原理

wait和notify原理wait和notify(重点)小故事[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CDMyQx9F-1627541763521)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210407112231826.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wwjn2wY-1627541763535)(C:\Users

2021-07-29 14:56:49 310

原创 Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)

Java 对象头 (重点)对象头对象头包含两部分: 运行时元数据(Mark Word)和类型指针(Klass Word)运行时元数据:哈希值(HashCode),可以看出是 堆中对象的地址GC分代年龄(年龄计数器) (用于新生代from/to区晋升老年代的标准, 阈值为15)锁状态标志(用于JDK1.6对synchronize的优化->轻量级锁)线程持有的锁偏向线程ID(用于JDK1.6对synchronize的优化->偏向锁)偏向时间戳类型指

2021-07-29 14:55:31 799 2

原创 端点科技 面经

一面端点面试,电话面试,面了大概40分钟+(1) 自我介绍(2) Zookeeper分布式锁怎么实现(监听+Znode 、项目上写的)(3)Zookeeper怎么保证事务一致性(2PC)(4)Zookeeper怎么实现ID生成器(5)HashMap八股文 (扩容机制、结构)(6) 问了一个红黑树基本定义(说了一遍)(7)HashMap八股文与CourrentHashMap八股文(也问了ConcurrentLinkedList不太会)(8)gc的整体流程(9)调用System.gc(),

2021-07-21 17:02:13 1124 2

原创 递归总结

递归最近刷算法刷到了递归和回溯我总结了一下一篇博客首先,要了解递归就要知道递归是什么?递归是什么?**程序调用自身的编程技巧称之为递归。一个函数在运行中直接或者间接的调用自身就称之为一种方法。**它通常把一个大型复制的问题一层一层转为一个与原问题相似较小问题来解决简单地来说,递归就是运行时自己调用自己,当满足一定的条件的时候就会跳出去不过构成递归需要具备的条件:子问题必须和原问题为同样的问题不能无限的调用本身,须要有一个出口。说了这么多可能都绕晕了 那我们看一个例子:输入一个

2021-05-14 21:10:21 171

原创 Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/localhost.pid).

Starting MySQL… ERROR! The server quit without updating PID file (/data/mysql/localhost.pid).今天遇到一个linux安装mysql错误,启动mysql的时候报:Starting MySQL… ERROR! The server quit without updating PID file (/data/mysql/localhost.pid).解决步骤:你可以先去 /etc/my.cnf查看错误日志看到错误

2021-05-11 20:29:36 795

原创 CAS概念

CAS概念、原子操作类(乐观锁思想)、LongAddr和AtomicLong、Unsafe共享模型之无锁Java中 synchronize 和 ReentranLock等独占锁就是 悲观锁思想的实现在Java中 java.util.concurretn.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式乐观锁的来实现并发控制1、 问题提出有如下需求,保证account.withdraw取款

2021-04-26 19:34:21 296

原创 Spring源码分析

Spring IOC容器初始化主体流程Spring IOC 的容器体系IOC容器是Spring的核心模块,是抽象了对象管理、依赖关系管理的框架解决方案。SPring提供了很多的容器,其中BeanFactory是顶层容器(根容器),不能被实例化,它定义了所有IOC容器必须遵从的一套原则,具体的容器实现可以增加额外的功能,比如我们常用到的ApplicationContext,其下更具体的实现如ClassPathXmlApplicationContext包含了解析xml等一系列的内容,AnnotationC

2021-04-26 19:32:09 158

原创 Spring解决循环依赖

Spring如何解决循环依赖想彻底弄清楚spring的循环依赖问题,首先得弄清除循环依赖是如何发生的,Spring又是如何检测循环依赖的发生的。其次再探究Spring如何解决循环的依赖的问题最后我们总结循环依赖解决的2个关键因素,提前曝光和曝光时机,缺一不可循环依赖检查<bean id="a" class="A"> <property name="b" ref="b"><bean/><bean id="b" class="B">

2021-04-26 19:30:27 163

原创 nested exception is java.lang.IllegalArgumentException: ContextPath must start with ‘/‘ and not end

Unable to start web server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘undertowServletWebServerFactory’ defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/Serv

2021-04-25 20:16:53 756

原创 Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest

Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=…) with your test错误信息如下当我们用SpringBoot整合junit时候注意test中的包名和启动入口报名一致这是测试类这是启动类注意两者报名应该一致都应该改成一样的包名,程序就可以正常运行了...

2021-04-24 20:00:10 214

原创 SpringBoot实现热部署

Spring热部署的操作前言在实际开发工程中,每次修改代码都得将项目手动重启,手动部署,需要花费大量的时间吗。对于我来说,手动重启过程实在难受。以此我们将Spring项目配置热部署来自动重启。步骤一:在pom.xml加入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools&l

2021-04-18 14:51:58 255

原创 Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、

Java内存模型(JMM-原子性、可见性、有序性)、volatile原理、共享模型之内存多线程的三大特性(原子性、可见性、有序性)之前将的synchronize底层Monitor主要关注的是访问共享变量时,保证临界区代码的原子性。下面进一步深入学习共享变量在多线程间的可见性问题与多条指令执行时的有序性问题Java内存模型(重点)JMM 即Java Memory Model,它从Java层面定义了主存、工作内存抽象概念,底层对应着 CPU寄存器、缓存、硬件内存、CPU指令优化等。JMM体

2021-04-18 13:44:19 324

原创 WebSocket版QQ(mysql+html+websocket+vue+webRTC)

WebSocket版QQ(mysql+html+websocket+vue+webRTC)因为之前写了一个java桌面级的QQ,后面想写一个web版本的QQ此版本是利用了(mysql+html+websocket+vue+webRTC)注意:webRTC必须是HTTPS协议不能用HTTP协议但是这个项目比较久远了,没有截图了。可以视频通话+多聊+私聊下面链接:链接:https://pan.baidu.com/s/1h44HZQn9CrLFBvc3N_Bp9Q提取码:giwh复制这段内容后打开百

2021-04-08 20:06:19 311 4

原创 SWT实现QQ(SWT+Oracle+Socket)

SWT实现QQ(SWT+Oracle+Socket)给大家分享一下我的刚刚学Java的项目吧,是用SWT和Oracle和Socket实现的QQ聊天系统可能界面不是很好看。下面来看看预览图实现了聊天,群聊,发表情包,发送文件下面附上链接链接:https://pan.baidu.com/s/171UUNh6RRAdA7VHTmg6vsQ提取码:ovfo复制这段内容后打开百度网盘手机App,操作更方便哦...

2021-04-08 20:01:25 360

原创 SWT中线程异步造成主界面假死解决方案

SWT中线程异步造成主界面假死今天帮同学调错的时候发现,它的SWT异步之后,主线程直接阻塞,导致用户界面无响应,找了好久,终于找到是下面的原因:下面我们来看正确的代码:// 显示时间 new Thread(new Runnable() { @Override public void run() { while (true) { Display.getDefault().asyncExec(new Runnable() { @Override

2021-04-08 19:45:01 618 2

原创 Spring AOP

AOP(底层原理)1.1 AOP底层是使用动态代理进行实现(1)有两种情况动态代理1、有接口情况 使用JDK动态代理创建接口实现类代理对象 增强类的方法[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cIxxxJEB-1617801756181)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210307153604401.png)]2、 没有接口情况 使用cglib动态代理创

2021-04-07 21:22:54 151 1

原创 Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)

Synchronize的底层优化(CAS,重量级锁,轻量级锁,偏向锁)Java 对象头 (重点)对象头对象头包含两部分: 运行时元数据(Mark Word)和类型指针(Klass Word)运行时元数据:哈希值(HashCode),可以看出是 堆中对象的地址GC分代年龄(年龄计数器) (用于新生代from/to区晋升老年代的标准, 阈值为15)锁状态标志(用于JDK1.6对synchronize的优化->轻量级锁)线程持有的锁偏向线程ID(用于JDK1.6对s

2021-04-07 11:18:51 369

原创 关于线程访问另外一个线程的变量问题

关于线程访问另外一个线程的变量问题之前帮别人调错,遇到一个错误,就是一个线程A访问另外一个线程B的成员变量,并且线程A在构造方法中有线程B的引用,但是无论线程A怎么获取线程B的成员变量都是 null,但是在线程B初始化中已经给成员变量赋值了。后面解决了很久,没解决出来,然后刚好看到了 指令重排序问题 ,下面我们来看一个例子public class Test { int a = 0; boolean flag = false; public void writer(){

2021-04-07 11:06:09 3330

原创 LeetCode算法题频率

LeetCode算法题频率最近开了个会员给大家看看各个标签的频率递归动态规划堆二分查找分值算法广度优先搜索哈希表链表排序设计深度优先搜索树数组1数组2双指针贪心算法位运算栈字符串...

2021-03-31 13:40:19 584 1

原创 从url输入到页面展示的过程

从url输入到页面展示的过程小白第一次发布文章,我就发最近写的一个常考面试题吧当我们在web浏览器的地址栏中输入: www.baidu.com,然后回车,到底发生了什么过程概览对www.baidu.com这个网址进行DNS域名解析,得到对应IP地址根据这个IP,找到对应的服务器,发起TCP的三次握手建立TCP连接之后发送HTTP协议服务器响应HTML代码,浏览器得到HTML代码浏览器解析html代码,并且将请求HTML代码的资源(如js、png等)(先得到html代码,才能找到这些资源

2021-03-24 21:30:25 223 1

空空如也

空空如也

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

TA关注的人

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