07 2020 档案

摘要:前言 为什么需要垃圾回收 首先我们来聊聊为什么会需要垃圾回收,假设我们不进行垃圾回收会造成什么后果,我们举一个简单的例子 我们住在一个房子里面,我们每天都在里面生活,然后垃圾都丢在房子里面,又不打扫,最后房子都是垃圾 我们是不是就没法住下去了。 所以JVM垃圾回收机制也是一样的,当我们创建的对象占据 阅读全文
posted @ 2020-07-31 20:15 前程有光 阅读(274) 评论(0) 推荐(0) 编辑
摘要:Arraylist源码分析 ArrayList 我们几乎每天都会使用到,但是通常情况下我们只是知道如何去使用,至于其内部是怎么实现的我们不关心,但是有些时候面试官就喜欢问与ArrayList 的源码相关的问题,今天我们就来看看和ArrayList 源码相关的问题。 一:整体架构 1.1、ArrayL 阅读全文
posted @ 2020-07-31 17:59 前程有光 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1.线程,进程和多线程 1.程序:指指令和数据的有序集合,其本身没有任何意义,是一个静态的概念 2.进程:指执行程序的一次执行过程,是一个动态的概念。是系统资源分配的单位(注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。即在一个cpu的情况下,在同一时间点,cpu只能执 阅读全文
posted @ 2020-07-30 20:12 前程有光 阅读(159) 评论(0) 推荐(0) 编辑
摘要:一、RabbitMq基础知识 0、概述 消息队列的作用就是接收消息生产者的消息,然后将消息发送到消费者 1、信道channel 我的理解是生产者/消费者和rabbitmq交互的一个通道,负责交换机、队列管理;消息发布和消费管理;事务管理等 2、交换机 四种交换机: direct:可以用一个或者多个k 阅读全文
posted @ 2020-07-30 14:01 前程有光 阅读(163) 评论(0) 推荐(0) 编辑
摘要:前言 最近学习一些排序算法,怕自己以后忘记就打算整理起来供自己复习 如有错误希望大佬指正,欢迎大家在评论区交流探讨。 1.冒泡排序 通过待排序的序列从前往后依次比较相邻的元素,若发现逆序则两两交换,直到下一趟排序下来没有进行交换,说明排序完成 冒泡排序每一趟会确定一个最大值(默认从小到大) impo 阅读全文
posted @ 2020-07-29 20:36 前程有光 阅读(149) 评论(0) 推荐(0) 编辑
摘要:前言 最近,金九银十在即,很多人都在准备面试,特别给大家总结了 Java 程序员面试必备题,这份面试清单是我从 去年开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平。下文主要是我个人的总结方法经验(面试学习和刷题笔 阅读全文
posted @ 2020-07-29 16:56 前程有光 阅读(678) 评论(0) 推荐(0) 编辑
摘要:一,HashTable 哈希表,它相比于hashMap结构简单点,它没有涉及红黑树,直接使用链表的方式解决哈希冲突。 我们看它的字段,和hashMap差不多,使用table存放元素 private transient Entry<?,?>[] table; private transient int 阅读全文
posted @ 2020-07-29 15:17 前程有光 阅读(182) 评论(0) 推荐(0) 编辑
摘要:前言 Servlet是服务器端的Java应用程序,可以生产动态Web页面。透过JSP执行过程可以知道JSP最终被编译成一个.class文件,查看该文件对应的Java类,发现该Java类继承自org.apache.jasper.runtime.HttpJspBase类,而HttpJspBase继承自H 阅读全文
posted @ 2020-07-28 21:02 前程有光 阅读(168) 评论(0) 推荐(0) 编辑
摘要:1. 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准 2. 阅读全文
posted @ 2020-07-28 14:06 前程有光 阅读(265) 评论(0) 推荐(0) 编辑
摘要:前言 话不多说,但先介绍一下自己还是要的,末流985大学本科,自动化方面专业,自学Java和后端。听朋友说字节今年后端投递的人非常多,竞争比较大,我本科不是CS,也只是做创新创业项目的时候接触过Java后端,后来看到有说客户端0经验的,就让别人帮忙内推了一下,没想到四面过了!!!哈哈哈 分享一下我的 阅读全文
posted @ 2020-07-27 21:24 前程有光 阅读(269) 评论(0) 推荐(0) 编辑
摘要:1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(他与Hashtable类似,但Hashtable是线程安全的,所以是同步的实现),此实现提供可选的映射操作,允许使用null值和null键,但他并非有序。 2. HashMap数据结构与实现原理: 在jdk1.7和jdk 阅读全文
posted @ 2020-07-27 13:54 前程有光 阅读(487) 评论(0) 推荐(0) 编辑
摘要:泛型 泛型:可以在类或方法中预支地使用未知的类型。 tips:一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。 通过我们如下代码体验一下: public class GenericDemo2 { public static void main(String 阅读全文
posted @ 2020-07-26 20:20 前程有光 阅读(162) 评论(0) 推荐(0) 编辑
摘要:1 List集合 1.1 List概述 在Collection中,List集合是有序的,可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。 在List集合中,我们常用到ArrayList和LinkedList这两个类。 关于Java List的一些重要观点是; Java L 阅读全文
posted @ 2020-07-26 14:06 前程有光 阅读(264) 评论(0) 推荐(0) 编辑
摘要:前言 首先说一下情况,我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等。也是有些辛苦。终于是在前不久拿到了阿里的offer,定级P7。现在我把我面试经历的东西整理出来分享给大家,希望对大家有所帮助!(文 阅读全文
posted @ 2020-07-24 20:20 前程有光 阅读(1148) 评论(0) 推荐(0) 编辑
摘要:什么是线程安全? 当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题。 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题,但是做读操作时不会发生数据冲突问 阅读全文
posted @ 2020-07-24 14:26 前程有光 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Spring 1.1.1.1 创建一个bean package com.zt.spring; public class MyBean { private String userName; private Integer userAge; } 1.1.1.2 配置Config 配置bean packa 阅读全文
posted @ 2020-07-23 21:09 前程有光 阅读(148) 评论(0) 推荐(0) 编辑
摘要:1.JDK8 新特性 Lambda 表达式-也是函数编程的一种方式(将函数做为参数)方法的应用,应用已有的java类对象的方法或者构造器。与Lambda表达式相结合,方法应用使得语言构造更加简洁,从而减少代码的冗余默认方法,默认方法就是一个在接口里边有了一个实现的方法新工具-新的编译工具,如:Nas 阅读全文
posted @ 2020-07-23 14:25 前程有光 阅读(189) 评论(0) 推荐(0) 编辑
摘要:前言 今天我们不聊技术,我们聊聊互联网,聊聊程序员,聊聊毕业后的自己。我已经毕业很久了,甚至已经慢慢记不清当时毕业后的情况了,知道前几天和粉丝聊天的时候一位刚毕业的粉丝问我,大佬你毕业后第一年是怎么熬过来的啊?我当时有点懵,从什么时候我们会用‘熬’这个字来形容自己的生活,自己的工作。毕业前的我们满怀 阅读全文
posted @ 2020-07-22 21:17 前程有光 阅读(278) 评论(0) 推荐(0) 编辑
摘要:接口概述: 接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8),额外增加私有方法(jdk9)。 接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.c 阅读全文
posted @ 2020-07-22 14:44 前程有光 阅读(221) 评论(0) 推荐(0) 编辑
摘要:前言 通过构造方法实例化通过静态工厂实例化通过实例工厂实例化通过FactoryBean实例化 RumenzA实体类 package com.rumenz; public class RumenzA { private String id; private String name; public st 阅读全文
posted @ 2020-07-21 20:35 前程有光 阅读(163) 评论(0) 推荐(0) 编辑
摘要:前言 前两天在和粉丝聊天的时候,粉丝跟我说之前在面试的时候被问到SpringBoot这一块的知识被问的有点懵,和我问了不少这方面的东西。事后我想了想不如把这些东西分享出来吧,让更多的人看到,这样不管是对自己知识的一个提升还是对面试的准备都有好处。好了,满满的干货都在下面了! 1.创建maven项目父 阅读全文
posted @ 2020-07-21 14:15 前程有光 阅读(301) 评论(0) 推荐(0) 编辑
摘要:前言 通过构造方法实例化通过静态工厂实例化通过实例工厂实例化通过FactoryBean实例化 RumenzA实体类 package com.rumenz; public class RumenzA { private String id; private String name; public st 阅读全文
posted @ 2020-07-20 20:51 前程有光 阅读(352) 评论(0) 推荐(0) 编辑
摘要:前言 最近收到很多粉丝的私信,有工作几年的,也有即将面临毕业的学生党。都是来跟我说金九银十马上到了,自己想去冲击面试一波大厂,问我有没有相关的面试题分享。听到后我也是赶紧为大家整理了一份,话不多说满满的干货都在下面了,友情提示,文章篇幅齐全,全是干货慢慢观看!!! Redis 什么是Redis? R 阅读全文
posted @ 2020-07-20 14:20 前程有光 阅读(282) 评论(0) 推荐(0) 编辑
摘要:1.简介 Stream流 最全的用法Stream 能用来干什么?用来处理集合,通过 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询,Stream API 提供了一种高效且易于使用的处理数据的方式 为什么用Java 8 Stream ?因为 操作简单为什么操作简单 阅读全文
posted @ 2020-07-19 20:37 前程有光 阅读(1400) 评论(0) 推荐(0) 编辑
摘要:微服务 微服务架构是一种以一些微服务来替代开发单个大而全应用的方法,每一个小服务运行在自己的进程里,并以轻量级的机制来通信, 通常是 HTTP RESTful API。微服务强调小快灵, 任何一个相对独立的功能服务不再是一个模块, 而是一个独立的服务。 微服务是一种生态,不是一种具体技术 微服务的特 阅读全文
posted @ 2020-07-19 15:16 前程有光 阅读(286) 评论(0) 推荐(0) 编辑
摘要:前言 前两天在和朋友吃饭的时候聊到时间这个东西是真的过的好坏啊,金三银四仿佛还在昨天。一眨眼金九银十又快到了,对程序员来说这两个是一年最合适的跳槽涨薪环节了,今年的你已经做好准备了吗?不妨看看这篇文章吧,基本的面试流程以及面试题全整理在下方了! 一、面试整体流程 1.简单的自我介绍2.简单介绍一下你 阅读全文
posted @ 2020-07-17 19:38 前程有光 阅读(141) 评论(0) 推荐(0) 编辑
摘要:前言 前两天和朋友探讨技术的时候有聊到JVM和JDK这一块,聊到这里两个人就像高山流水遇知音那是根本停不下来,事后我想着趁现在印象还比较深刻就把这些东西整理起来分享给大家来帮助更多的人吧。话不多说,满满的干货都整理在下面了! JVM探究 jvm的位置 jvm的体系结构 堆里面有垃圾,需要被GC回收 阅读全文
posted @ 2020-07-17 13:55 前程有光 阅读(751) 评论(0) 推荐(0) 编辑
摘要:springboot整合activeMq ActiveMq是Apache提供的开源消息系统采用java实现, 很好地支持JMS(Java Message Service,即Java消息服务) 规范 ActiveMq安装:http://activemq.apache.org/components/cl 阅读全文
posted @ 2020-07-16 20:26 前程有光 阅读(436) 评论(0) 推荐(0) 编辑
摘要:前言 前两天和一个同学吃饭的时候同学跟我说了一件事,说他公司有个做了两年的人向他提出要涨薪资,他就顺口问了一个问题关于spring依赖注入的,那个要求涨薪的同学居然被问懵了。。。事后回家想了想这一块确实有点难度的就写篇文章把我自己知道的和网上整理的分享给大家,至少大家在被问到这一块的时候能答上来,不 阅读全文
posted @ 2020-07-16 13:47 前程有光 阅读(221) 评论(0) 推荐(0) 编辑
摘要:前言 之前一直有小伙伴私信我问我高并发场景下的订单和库存处理方案,我最近也是因为加班的原因比较忙,就一直没来得及回复。今天好不容易闲了下来想了想不如写篇文章把这些都列出来的,让大家都能学习到,说一千道一万都不如满满的干货来的实在,干货都下面了! 介绍 前提:分布式系统,高并发场景商品A只有100库存 阅读全文
posted @ 2020-07-15 21:29 前程有光 阅读(2924) 评论(1) 推荐(0) 编辑
摘要:Spring之AOP 什么是AOP? AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 目的: 利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程 阅读全文
posted @ 2020-07-15 16:20 前程有光 阅读(199) 评论(0) 推荐(0) 编辑
摘要:1. lambda表达式 1.1 什么是lambda 以java为例,可以对一个java变量赋一个值,比如int a = 1,而对于一个方法,一块代码也是赋予给一个变量的,对于这块代码,或者说被赋给变量的函数,就是一个lambda表达式 //为变量赋值 int a = 1; //将代码块赋值给变量 阅读全文
posted @ 2020-07-14 19:56 前程有光 阅读(835) 评论(0) 推荐(0) 编辑
摘要:前言 首先说一下为什么发这篇文章,是这样的、之前和粉丝聊天的时候有聊到在采用Spring Cloud进行微服务架构设计时,微服务之间调用时异常处理机制应该如何设计的问题。我们知道在进行微服务架构设计时,一个微服务一般来说不可避免地会同时面向内部和外部提供相应的功能服务接口。面向外部提供的服务接口,会 阅读全文
posted @ 2020-07-14 13:33 前程有光 阅读(516) 评论(0) 推荐(0) 编辑
摘要:前言 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行等一系列问题与挑战。为此,在实践中提出了许多解决方案,以实现网站高性能、高可靠性、易伸缩、可扩展 阅读全文
posted @ 2020-07-13 21:01 前程有光 阅读(1397) 评论(0) 推荐(0) 编辑
摘要:1、您对微服务有何了解? 微服务:又称微服务 架构,是一种架构风格,它将应用程序构建为以业务领域为模型的小型自治服务集合 。通俗地说,你必须看到蜜蜂如何通过对齐六角形蜡细胞来构建它们的蜂窝状物。他们最初从使用各种材料的小部分开始,并继续从中构建一个大型蜂箱。这些细胞形成图案,产生坚固的结构,将蜂窝的 阅读全文
posted @ 2020-07-13 13:26 前程有光 阅读(484) 评论(0) 推荐(0) 编辑
摘要:1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各 阅读全文
posted @ 2020-07-12 20:22 前程有光 阅读(530) 评论(0) 推荐(0) 编辑
摘要:基本概念 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空 阻塞队列一共有7种 阅读全文
posted @ 2020-07-12 13:43 前程有光 阅读(246) 评论(0) 推荐(0) 编辑
摘要:前言 在这篇文章详细说了该如何去复习,之前也答应各位把面经整理一下,但是因为入职的事情耽搁了,现在整理出来回馈给大家! 美团 一面 0.自我介绍1.问项目(项目详细介绍、用到什么技术、有什么优化)2.线程池?创建线程池需要哪些参数?是否会存储内存溢出?3.常用的数据结构?4.栈跟队列的区别?5.编程 阅读全文
posted @ 2020-07-10 20:45 前程有光 阅读(469) 评论(0) 推荐(0) 编辑
摘要:Map接口 Map与Collection并列存在。用于保存具有映射关系的数据:key-valueMap中的key和value都可以是任何引用类型的数据Map中的key用set来存放,不允许重复,即同一个Map对象所对应的类,须重写 hashCode()和 equals()方法常用 String类作为 阅读全文
posted @ 2020-07-10 14:05 前程有光 阅读(169) 评论(0) 推荐(0) 编辑
摘要:前言 发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了一套Java面试题,希望对大家有帮助哈~ 打算这几天每天更新15~20题。(这样有助于你们阅读和理解!)我们先从简单的开始 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,ja 阅读全文
posted @ 2020-07-09 21:08 前程有光 阅读(420) 评论(0) 推荐(0) 编辑
摘要:内存分配机制 逐步分析 类加载检查: 虚拟机遇到一条new指令(new关键字、对象的克隆、对象的序列化等)时,会先去检查这个指令的参数在常量池中定位到一个类的符号引用,并且这个符号引用代表的类是否应被加载过,如果没有那么就去加载该类 分配内存 类加载完毕后会给对象分配内存空间。对象的所需的内存大小在 阅读全文
posted @ 2020-07-08 19:50 前程有光 阅读(339) 评论(0) 推荐(0) 编辑
摘要:前言 我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等。也是有些辛苦。终于是在前不久拿到了字节跳动的offer,现在我也来写面经,希望能帮助到大家! 面经 Java基础 0.HashMap的源码,实现原 阅读全文
posted @ 2020-07-08 16:17 前程有光 阅读(2888) 评论(0) 推荐(1) 编辑
摘要:前言 Spring中的循环依赖一直是Spring中一个很重要的话题,一方面是因为源码中为了解决循环依赖做了很多处理,另外一方面是因为面试的时候,如果问到Spring中比较高阶的问题,那么循环依赖必定逃不掉。如果你回答得好,那么这就是你的必杀技,反正,那就是面试官的必杀技,这也是取这个标题的原因,当然 阅读全文
posted @ 2020-07-07 13:35 前程有光 阅读(327) 评论(0) 推荐(1) 编辑
摘要:Java学习总结 SpringBoot整合Spring MVC 1.SpringMVC概述 MVC(Model–view–controller)是软件工程中的一种软件架构模式,基于此模式把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。目的是通过这样的 阅读全文
posted @ 2020-07-06 20:20 前程有光 阅读(418) 评论(0) 推荐(0) 编辑
摘要:1.多线程的基本概念 1.1进程与线程 程序:是为完成特定任务,用某种语言编写的一组指令的集合,即一段静态代码,静态对象。 进程:是程序的一次执行过程,或是正在运行的一个程序,是一个动态的过程,每个程序都有一个独立的内存空间 线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发 阅读全文
posted @ 2020-07-05 20:51 前程有光 阅读(317) 评论(0) 推荐(0) 编辑
摘要:前言 最近在和粉丝聊天的时候被粉丝问到jdbc和mybatis底层实现这一块的问题,而且还不止一个小伙伴问到,于是我似乎认识到了问题的严重性,我花了两天时间整理了一下自己的认识和网上查阅的资料写了这篇文章,话不多说,满满的干货都在下面了。 在说mybatis底层实现之前,先看下基本的知识点jdbc 阅读全文
posted @ 2020-07-05 13:55 前程有光 阅读(2772) 评论(0) 推荐(0) 编辑
摘要:内存区域 虚拟机栈生命周期与线程相同,描述的是Java 方法执行的内存模型,每个方法在执行的时候都会创建一个栈帧,用于存取局部变量表、操作数栈、动态链接、方法出口等信息本地方法栈与虚拟机栈作用相似,只不过本地方法栈是为虚拟机使用到的Native方法服务程序计数器内存空间较小,可以看做是当前线程所执行 阅读全文
posted @ 2020-07-03 21:26 前程有光 阅读(352) 评论(0) 推荐(0) 编辑
摘要:堆的核心概述 一个JVM实例只存在一个堆内存,堆也是java内存管理的核心区域Java堆区在jvm启动的时候被创建,其空间大小也就确定了。是jvm管理的最大一块内存空间。(堆内存的大小可以调节)《java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的所有的线程共享 阅读全文
posted @ 2020-07-03 13:37 前程有光 阅读(436) 评论(0) 推荐(0) 编辑
摘要:前言 最近花了两天时间,整理了一下String的源码。这个整理并不全面但是也涵盖了大部分Spring源码中的方法。后续如果有时间还会将剩余的未整理的方法更新到这篇文章中。方便以后的复习和面试使用。如果文章中有地方有问题还请指出。 简述 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于 阅读全文
posted @ 2020-07-02 13:59 前程有光 阅读(249) 评论(0) 推荐(0) 编辑
摘要:前言 我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等。也是有些辛苦。终于是在前不久拿到了阿里的offer,定级P7。 我现在也来写面经,把我还能记住的,写下来,反馈给大家: 一面 : mysql知道哪 阅读全文
posted @ 2020-07-01 20:23 前程有光 阅读(175) 评论(0) 推荐(0) 编辑
摘要:前言 前两天和粉丝聊天的时候,粉丝问了我一个挺有意思的问题,说他之前在面试的时候被问到线程池的线程复用原理,当时我跟他简单的说了一下,没想到过了几天又来问我这个问题了,说他最近又被问到了这个问题.......想了想,干脆写篇文章把这个东西讲清楚吧,满满的干货都放在下面了 1.什么是线程复用? 在线程 阅读全文
posted @ 2020-07-01 14:16 前程有光 阅读(1238) 评论(0) 推荐(0) 编辑