自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 京东面试心得(部门是京东物流)

首先上来先讲一下项目,用到了那些技术,你感觉系统亮点在哪(谨慎小心,面试官会根据你讲的,对他来说比较感兴趣的东西深挖。)我先说老系统同用到了severlet。面试官就说怎样配置severlet,并且说一下severlet的底层实现原理和逻辑(一不小心自己挖了个坑,还跳不出来了)接下来是各种盘问:1.springMVC的实现原理,请求进来之后,怎样流转的2.spring,springMVC,sprigBoot各自的应用场景和主要配置。3.spring中bean的生命周期。4.SpringBoot的

2020-12-01 19:53:11 5439

原创 Redis主从架构模式和工作原理

Redis主从架构redis主从架构就是在原有的主节点中新增一个从节点,达到数据备份的作用。#mermaid-svg-m2yQ9nyiNnZYPCcS .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-m2yQ9nyiNnZYPCcS .label text{fill:#333}#mermaid-svg-m2y

2020-11-09 20:54:24 353

原创 Redis的数据持久化中的RDB和AOF

Rdeis数据持久化策略共分为两种:RDB快照和AOF1.RDB快照1>save 默认情况下,Redis将内存中的数据库快照按照名为dump.rdb的二进制文件保存进磁盘命令:#save 60 1000含义:每60秒内有1000个键被改动,处罚自动保存一次。2>bgsave(COW写时复制机制)生成快照的同时,仍然不妨碍redis的正常工作。原理是从fork主线程中生成一个子线程来生成dump.rdb文件。当主线程执行读操作时,主线程和bgsave子线程互不影响;当fork线程执行写

2020-11-09 20:27:27 164

原创 JVM中GC的基本概念

1.简述java垃圾回收机制java中是虚拟机自行执行垃圾回收。在JVM中,有一个垃圾回收线程,是低优先级的。在虚拟机空闲或者当前内存空间不足的时候,扫描没有被引用的对象,并将其添加到要回收的集合中,进行垃圾回收。2.GC是什么?为什么要GCGC是垃圾回收的意思。java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。垃圾回收机制有效的防止了内存泄漏,可以有效的使用内存。垃圾回收器通常作为一个单独的低级别的线程运行,在不可预知的情况下对内存堆中已死亡的或者很长时间没有用过的对

2020-10-27 20:58:53 373

原创 JVM的主要组成部分及作用

JVM主要组成部分及作用JVM主要包含两个子系统和两个组件:子系统:类加载系统,执行引擎组件:运行时数据区,本地方法接口类加载系统:根据给定的类的全限定类名(java.lang.obejct)将字节码文件加载到运行时数据区的方法区。执行引擎:执行classes中的指令运行时数据区:即是我们常说的jvm内存。里边包含了线程共享区(方法区,堆),线程独占区(本地方法栈,程序计数器,虚拟机栈)本地方法接口:连接本地方法库,是与其他编程语言交互的接口。java程序运行机制详解:1>IDE工具

2020-10-26 19:26:27 894

原创 JVM中栈(stack)与堆(heap)的区别

java程序是在JVM上运行的,所以此处说的堆和栈是指JVM内存区域的堆和栈。区别如下: 1、物理地址 堆的物理地址是不连续的,性能相对较慢,是垃圾回收区工作的区域。在GC时,会考虑物理地址不连续,而使用不同的算法,比如复制算法,标记-整理算法,标记-清楚算法等。 栈中的物理地址是连续的,LIFO原则,性能较快。 2、内存分别 堆因为是不连续的,所以分配的内存是在运行期确认的,因此大小不固定,一般堆大小远远大于栈。 栈是固定大小的,所以在编译期就确认了。 3、存放内容 堆中存放的是对象实例.

2020-10-20 22:05:04 1040 1

原创 线程中run()方法和start()方法区别,为什么在调用start()时,会执行run()方法

1.线程中run()方法和start()方法区别run方法是线程中的一个普通方法体,可以重复调用。是线程里的一个函数,不是多线程,直接调用run方法,相当于调用一个普通函数,执行路径还是一条, 根本没有多线程的特征。而start方法是Thread中的线程启动方法,只能调用一次,且调用之后,线程就是就绪状态,时间片获取之后即可执行run方法中的内容。 start方法来启动一个线程,真正实现了多线程运算,调用start方法无需等待run方法运行完成,可以直接继续执行其他代码;run方法执行完毕,线程终止,然

2020-10-20 21:29:33 1063

原创 线程池的相关内容(常见的四种线程池类型,参数定义等)

一.什么是线程池java.util.concurrent.Executor接口的实现用于创建线程池。假设一个服务器完成一项任务所需的时间为:T1:创建线程时间T2:业务逻辑执行时间T3:线程销毁时间若T1+T3>>T2,此时考虑使用线程池。线程池能节省服务器资源,更大限度的降低处理器闲置时间。提高处理效率。作用:1.提高效率 使用线程时,直接从线程池中获取,节省了创建时间和销毁时间。提高了项目执行效率2.方便管理 线程池中固定的线程数,多余线程数的任务进入等待队列,等待队列满了

2020-10-20 21:11:50 686

原创 创建线程的四种方式和具体的实现原理

创建线程共有四种方式:1.继承Thread类2.实现Runnable接口3.实现Callable接口4.使用Executors工具类创建线程池具体实现方法如下:1.继承Thread类:定义一个MyThread子类,重写run方法,继承Thread类,调用子类实例的start()方法启动线程public class MyThread extends Thread { @Override public void run(){ System.out.println(Thr

2020-10-20 19:13:02 677 1

原创 接收邮件之后的java解析类

从服务器中获取到邮件的eml文件,在java代码中进行解析。包括了发件人地址,收件人(抄送人、密送人)地址,邮件主题和邮件发送时间以及邮件正文等信息,其中邮件正文信息是通过BodyPart bodyPart = multipart.getBodyPart(idx);中的bodyPart.isMimeType(***)来判断的。import lombok.extern.log4j.Log4j2;import javax.inject.Named;import javax.mail.*;impo

2020-10-14 16:00:35 330 1

原创 jpa操作数据库步骤

1>jpa操作数据库•加载配置文件,创建工厂(实体管理类工厂)对象。•Persistence:用于创建实体管理器工厂(EntityManagerFactory)•createEntityManagerFactory:根据持久化单元名称创建实体管理器工厂•EntityManagerFactory:用于创建实体管理器对象(EntityManager),创建比较浪费资源,线程安全对象。所以一般会以静态代码块的形式创建一个公共EntityManagerFactory对象。•createEntityM

2020-10-13 23:05:15 523

原创 什么是ORM和持久化?为什么要做持久化和ORM设计?JDBC操作数据库步骤

object-Relationl mapping作用是在关系型数据库中和对象之间做一个映射,我们在操作数据库的时候,可以通过直接操作对象来实现。持久化就是把数据(如内存中的对象)保存到可以永久保存的存储设备中(如磁盘,硬盘)。主要应用是将内存中的数据存储到关系型数据库中。持久层是将数据使用者和数据实体相关联。目前企业应用系统架构设计中,使用MVC的模式,model中包含了复杂的业务逻辑和数据处理逻辑(JDBC链接,SQL生成,Statement创建,还有ResultSet结果集的读取等)。将复杂的业务逻辑

2020-10-13 23:03:03 330 1

原创 JVM对象分配规则

1>对象优先分配在Eden区。如果没有足够空间,Eden去进行一次Minor GC。2>大对象直接分配在老年代,以避免Eden和Survivor区的大量内存拷贝(因为针对Eden区使用复制算法进行GC)3>长期存活的对象进行老年代。虚拟机为每个对象设定了一个年龄计数器,一次GC之后,由Eden进入Survivor。每次GC。年龄计数器加一,到达阈值后,进入老年代。4>动态判断对象年龄,Survivor区中相同年龄的对象大小的总和大于Survivor空间的一半,年龄大于或等于该年

2020-09-13 23:00:15 541 1

空空如也

空空如也

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

TA关注的人

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