自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式架构项目的衡量指标及其目标

分布式架构项目的衡量指标及其目标1.衡量网站的性能指标:•响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间。•并发数:指系统同时能处理的请求数量。•并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量•请求数:也称为QPS(Query Per Second) 指每秒多少请求.•并发用户数:单位时间内有多少用户•吞吐量:指单位时间内系统能处理的请求数量。•QPS:Query Per Second 每秒查询数。•TPS:Transacti

2021-10-11 16:25:05 392

原创 JVM之GC垃圾回收器

JVM之GC垃圾回收器垃圾回收器分类1.按线程数分类​ 1.串行垃圾回收器​ 串行垃圾回收是在同一时间段内只允许单个cpu执行垃圾回收,其他工作线程stop​ 2.并行垃圾回收器​ 多个cpu同时执行垃圾回收,其他工作线程stop,提高了吞吐量2.按照工作模式分​ 1.并发誓垃圾回收器​ 运行后,与应用线程交替执行,让用户感觉不到工作线程停止​ 2.独占式垃圾回收器​ 运行后,停止所有工作线程,直到垃圾回收截至3.按工作内存区间分​ 1.年轻代垃圾回收器​ 2.老年代垃圾

2021-09-08 16:12:57 202

原创 JVM对象引用之强软弱虚

JVM对象引用之强软弱虚java中引用的强度分为4种分别为强软弱虚1.强引用​ 最传统的引用定义,时最普遍的引用赋值,如Object obj=new Object();只要强引用存在垃圾回收器就不会回收引用的对象,宁可OOM溢出,也不会回收强引用.Object object=new Object();2.软引用​ 在系统将要OOM之前将会把弱引用的对象列入第二次回收种。如果内存还是溢出,则会报OOM异常Object object=new Object();//表明是个软引用SoftRe

2021-09-08 11:28:25 173

原创 JVM之垃圾回收

JVM之垃圾回收1.什么是垃圾垃圾是指没有被任何其他对象引用的对象。不及时回收会导致内存溢出。2.java垃圾回收特点1.自动内存管理​ 降低内存泄漏和内存溢出的风险2.哪些区域重点关心垃圾回收​ 1.堆和方法区​ 堆:​ 频繁回收年轻代​ 少回收老年代​ 方法区:基本不回收方法区3.垃圾回收机制1.垃圾标注阶段标注垃圾:垃圾标注阶段主要是为了判断对象是否存活标注方式​ 1.引用计数法​ 2.可达性分析算法1.引用计数法​ 引用计数法对每一个对象保存一个

2021-09-08 10:13:39 182

原创 JVM之执行引擎

JVM之执行引擎​ 1.是什么,怎么用​ 执行引擎是JVM的核心组成部分之一,JVM负责装载字节码到其内部,java字节码不等同于机器指令,需要再次编译转换为机器指令(这也是同一套代码可以直接运行到不同的操作系统上的原因)。执行引擎就是解释和编译java字节码为本地机器指令。简单来说就是机器语言的翻译官。​ 区分​ 1.前端编译:程序员——字节码过程​ 2.执行引擎两种行为:一种解释执行,一种编译执行**(后端编译)**2.什么是解释器?什么是JIT编译器? 解释器:java虚拟机根

2021-09-07 11:33:39 91

原创 JVM之本地方法接口

JVM之本地方法接口​ 1.何为本地方法​ 本地方法:java调用非java代码的接口,它是这样的一个java方法**,底层非java方法实现**。​ 2.为什么使用native方法​ java使用方便,但有些层次任务java实现起来显得尤为不容易。​ 1.与java环境外交互​ 如需要与某些硬件交互​ 2.与操作系统交互...

2021-09-07 11:05:17 87

原创 JVM之运行时数据区

JVM之运行时数据区1.运行时数据区概述​ JVM的运行时数据区包括5个部分,程序计数器、java虚拟机栈、本地方法栈、java堆、方法区(元数据区)2程序计数器​ 程序计数器是一块特别小的内存空间,主要职能就是记录程序运行到第几行。​ 原理:由于操作系统每个线程轮流执行,当轮换时程序计数器就是用来记录当前线程执行到哪一行​ 特点:​ 1.运行速度快,存储很小、几乎忽略不计​ 2.线程私有,生命周期和线程生命周期的存在​ 3.程序计数器记录线程java方法的JVM指令地址,如果为na

2021-09-07 10:54:44 312

原创 JVM结构之类加载

JVM结构之类加载1.java代码编译到字节码过程首先分析此法和语法的正确性,再对代码进行编译,编译为字节码(.class结尾的文件)2.类加载子系统作用​ 类加载子系统负责从文件或者网络中加载class文件,class有特定的标识(字节码文件都以CA FE BA BE 标识开头)​ 1.由classLoader负责class文件的加载​ 2.由ExecutionEngine负责看他是否可运行​ 3.加载类的信息存放在方法区(元数据区)​ 4.方法区存放运行时常量池,存常量静态变量

2021-09-05 17:07:18 44

原创 JVM之概述

JVM之概述## 1.JVM是什么​ JVM(java Virtual Machine)也就是java虚拟机。2.虚拟机是什么​ 虚拟机顾名思义就是一台虚拟的计算机,是一款软件,用来执行一系列的虚拟计算机指令,虚拟机又分为系统虚拟机和程序虚拟机。​ VMware就属于系统虚拟机,是对于物理计算机的仿真。,提供了可运行完整操作系统的软件平台。​ 而JVM是程序虚拟机,它专门为执行某个单位计算机程序而设计,java虚拟机中的指令我们称之为java字节码指令,JVM把java字节码指令转换

2021-09-04 15:15:11 79

原创 MySql高级进阶之事务(MVCC及底层原理)

MySql高级进阶之事务(MVCC)1.概述​ 事务是在数据库一次执行一或多个操作时,要么一起成功,要么一起失败,保证了事务的原子性。2.事务的特性​ 事务有四个特性:ACID​ A(原子性)Atomicity: 一次操作加了事务后,就变成了操作成功的最小单位,要么所有的操作一起成功,要么一起失败。​ C(一致性)Consistency:操作的结果和预期结果达成一致。​ I (隔离性)Isolation:事务之间互相独立互不干扰,防止多个事务同时并发操作时,结果出现偏差。​ D(持久性)Du

2021-07-27 20:58:23 198

原创 三种重要的创建模式(SpringAop底层)

三种重要的创建模式(SpringAop底层)1.单例模式1.1简述​ 单例模式是指Java程序中的类只有能创建一个对象来保证内容和数据的统一①饿汉式单例在类初始化的时候就已经创建了实例所以这个类型的单例线程安全(满足只能创建一个对象)代码举例:``package danli.sington.ehan;/** * @program: mianshi * @ClassName Sington * @description:由于构造方法私有故不能new出来。线程安全 * @author

2021-07-23 14:36:20 151

原创 HashMap究极详细

HashMap底层详解1.简介​ HashMap是java种使用频繁的数据结构,其储存对象是无序的,以key,value的形式存放​ 1.key可以为null​ 2.key不能重复,如果key重复则会覆盖第一个key的value​ 3.一个key,对应一个value2.HashMap的常用方法方法解释put(key,value)存入一对键值对key,value,如果key已存在则用这个value覆盖掉以前的,不存在则加入get(key)通过key来获取值va

2021-07-22 21:10:33 750

原创 并发编程之ThreadLocal

并发编程之ThreadLocal1.简介​ ThreadLocal 中填 充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal 为变量 在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量,实现线程封闭的一种方式。例如:2.原理​ ThreadLocal是一个泛型类它可以接收任何数据类型的储存,其底层是用一个ThreadlocalMap来实现,每个线程会有一个ThreadlocalMap的对象,ThreadlocalMap是Map的一种,以key,value的

2021-07-22 19:51:47 81

原创 MySql高级进阶(1)

MySql高级进阶1.MySql引擎1.概述​ 数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控 制访问权限并快速处理事务,从而满足企业内大多数 需要处理大量数据的应用程 序的要求。​ 2.mysql数据库常用的引擎主要有MyIsam和InnoDB​MyIsamInnoDB存储限制256TB64TB支持事务NoYes支持全文索引YesYes支持数索引YesYes支持哈希索引NoNo支持数据缓存No

2021-07-22 19:13:02 238

原创 并发编程之线程池的创建及其底层原理

线程池的创建及其底层原理1.概述​ 当任务多且处理任务的时间比较短的时候,为了减少频繁创建线程产生的消耗创建了线程池2.ThreadPoolExecutor线程池的创建(java.util.concurrent包下、线程安全)构造方法:参数1.corePoolSize:核心线程数。​ 默认采用的创建线程的方法是,当任务来的时候才创建线程​ 可调用prestartAllCoreThreads()或者 prestartCoreThread()方法,去实现预所有核心数

2021-07-22 11:24:11 92

原创 java并发编程之锁

java并发编程的各种锁1.乐观锁​ 乐观锁并不是一种真正的锁,基于cas的思想,认为,并发操作不会修改数据的值。​ 适用于读比较多的场景(不阻塞线程,大大提效率)2.悲观锁​ 悲观锁认为并发操作会对数据进行修改,认为并发操作不加实际的锁会出现错误,​ 适用于写比较多的操作3.公平锁​ 在程序在并发操作时,一个加锁的线程工作,其他的线程会进入阻塞队列,当加锁的线程运行结束阻塞队列的下一个线程获得cpu。(优先给排队时间最长的线程)4非公平锁​ 非公平锁,当一个加锁线程在运行时,其他线程

2021-07-21 18:50:07 104

原创 并发编程之概述

并发编程1.并发与并行​ 并发:在一段时间内做了多件事(宏观上是同时进行,微观上是一个一个执行,只不过时间片交替时间短,看起来像同时执行)。​ 并行:在一个时间点有多件事情在执行(基于多核cpu,cpu在一个时间点只能做一件事情)2.java的内存模型​ 由于cpu和内存之间读写速度有很大差异,所以在cpu和内存之间加入了高速缓存3.并发编程后的三大问题以及解决方案1.可见性​ 由于cpu,工作缓存、主内存之间的速度差异,导致线程1在工作中的数据先读入工作内存(前提多核)这时如果有另一个

2021-07-21 18:49:02 73

原创 java中的对象克隆

java中的对象克隆1.简述​ 克隆;复制一个对象和当前对象一样,用来保存对象的信息。克隆分为深克隆和浅克隆2.浅克隆​ 只能克隆基本数据类型的属性,对于引用类型,则只能记住地址不能复制对象。​ 代码演示​package clones;/** * @program: mianshi * @ClassName User * @description: * @author: Mr.Yuan * @create: 2021-07-20 20:32 **/public cla

2021-07-20 20:51:49 128

原创 Java的反射机制

Java的反射机制1.简述​ 类的地址通过反射机制获得类定义的信息,对于任何一个对象都可调用属性和方法​ Class类型​ Controller构造器​ Method方法​ Field属性2.分步介绍1.Class.forName(“类的地址”),Class.forName(“类的地址”)的作用是让JVM查找并加载指定的类,也就是说会执行其静态代码块。2.获取类的相关信息 Class c=Class.forName("reclect.Yuan");获取Class对象①获取无参构

2021-07-20 20:01:19 54

原创 Java中的枚举

Java中的枚举1.Java中枚举的引入​ 我们在日常编码中常常要返回一些值,例如Web项目返回状态码(200)message(成功)500,message(失败),这部分代码在我们的代码中多次出现,如果需要统一更改起来不太方便(例如:登录失效从201改为202),很不方便。​ 如果我们引入一个类专门储存静态代码例如package enumClass;/** * @program: mianshi * @ClassName ReturnCode * @description: * @

2021-07-20 19:18:21 344

原创 java 设计模式类型

Java设计模式1.简述​ 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性 和多态性以及类的关联关系和组合关系的充分理解。2.优点1.可以提高程序员的思维能力、编程能力和设计能力。2.使程序设计更加标准化、代码编制更加工程化,使开发效率大大提高,从而缩短软件的开发周期。3.使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性 强。java 设计模式类型根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型 模式和行为型模式 3 种。1.创建型模式:

2021-07-19 19:24:18 48

原创 Spring详解,底层原理深入探究(2)

Spring详解,底层原理深入探究(2)1.探究BeanFactory 和 ApplicationContext1.简介在 spring 容器中,BeanFactory 接口是 IOC 容器要实现的最基础的接口,定义 了管理 bean 的最基本的方法,例如获取实例、基本的判断等ApplicationContext也间接继承了BeanFactory,如果说BeanFactory是Sping 的心脏,那么 ApplicationContext 就是完整的身躯了。它们都可以当做 Spring 的容器,Sp

2021-07-18 20:19:20 99

原创 Spring详解,底层原理深入探究(1)

Spring详解,底层原理深入探究(1)1.简介​ Spring 是目前主流的 Java Web 开发框架,该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力。由 Rod Johnson 创立,2004 年发布了 Spring 框架的第一版,其目的是用于简化企业级应用程序开发的难度和周期。2.核心①控制反转(IOC)和面向切面编程(Aop)②将类交由Spring框架统一管理,自动注入并复制③系统级服务不用手工写,避免其混杂入业务代码(例如关闭事务),改由Spring织入3.优点①轻量级

2021-07-18 19:45:50 136

原创 redis与SpringBoot的集成及原理

redis与SpringBoot的集成及原理1.概述​ redis是一款非关系型数据库,是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写。企业开发通常采用Redis来实现缓存。redis支持的5款数据类型有如,字符串(strings), 散列(hashes), 列 表 ( lists ) , 集 合 ( sets ) , 有 序 集 合 ( sorted set)。​ 传统的数据库缺点:​ 1.磁盘 I/O 是并发的瓶颈***(内存的运行速度远远超过磁盘)***​

2021-07-17 08:27:54 395

原创 关于品优购大型电商开发问题解答以及开发知识点,day6、day7难点(7)

关于品优购大型电商开发问题解答以及开发知识点,day6、day7难点(7)day6、day7主要要是对于AngularJs的使用的巩固、以及对后端代码的练习并无很多知识点、只要以熟练为主。有一些重点难点和新鲜的思维在这跟大家解释下,还有一些逻辑较难理解的知识给大家做一期讲解新鲜点1.深克隆和浅克隆(前端)1.浅克隆被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所拷贝的对象,而不复制它所引用的对象。2深克隆被复制对象的所有变量

2021-07-04 17:02:36 141

原创 Mybatis详解(1)

Mybatis详解(1)1.概述​ MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。Mybatis 中文官网 :到官网去2.原理通过Mybatis配置,连接数据库,配置数据库连接池,支持事务,通过配

2021-07-02 16:00:28 50

原创 关于品优购大型电商开发问题解答以及开发知识点之图片上传(FastDFS )以及富文本编译器day5(7)

关于品优购大型电商开发问题解答以及开发知识点之图片上传(FastDFS )以及富文本编译器day5(7)1.FastDFS​ 简介:FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。​ 配置与安装在这里不做解释,主要讲原理`package cn.itcast.demo;import java.io

2021-07-02 11:25:28 75

原创 关于品优购大型电商开发问题解答以及开发知识点安全框架配置文件详解day4(6)

关于品优购大型电商开发问题解答以及开发知识点安全框架配置文件详解day4(6)今天的内容主要是第四天的安全框架配置其他为第四天知识点主要是对AngularJs的使用在这里不再提了,如果遇到麻烦请看day3(5)`<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns=“http://www.springframework.org/schema/security”xmlns:beans=“http://www.springf

2021-07-02 09:49:36 60

原创 关于品优购大型电商开发问题解答以及开发知识点如何改错day3(5)

关于品优购大型电商开发问题解答以及开发知识点如何改错day2(5)开发工具(Hbuilder,exlipse**, 火狐**(强烈推荐))注意:1.只要是前端页面的js更改都需要清除浏览器缓存2.运行时开着F12开发者模式(便于更改代码)1.报错信息状态码​ ①404​ 服务器找不到页面(检查自己Controller的路径访问是否正确)​ ②304​ 服务器以缓存(清除缓存)​ ③500​ 1.后端java代码报错,一般情况下是逻辑错误,首先先检查数据是否发过去,再去检

2021-07-01 16:27:46 87

原创 关于品优购大型电商开发问题解答以及开发知识点详解day2(4)

关于品优购大型电商开发问题解答以及开发知识点详解day2(4)重点:anjularjs的使用及语法·AngularJs(工具Hbulider,浏览器建议:火狐(个人认为最好的开发者浏览器F12详细))1.MVC模式​ 主要的思想是操作变量,用变量和视图绑定,变量改变视图改变2.双向绑定​ 改控制器的值(通俗讲也就是通过***js代码改变变量***)——>变量——>组件的值(也就是***前端现实的值改变***)​ 改组件的值(也就是用户***改变前端界面的值***)——>控制器

2021-06-30 11:29:35 137

原创 关于品优购大型电商开发问题解答以及开发知识点详解day1(3)

关于品优购大型电商开发问题解答以及开发知识点详解day1(3)1.数据库的创建以及逆向工程​ 具体按照文档操作​ 两点问题​ 1.如果mysql版本为mysql8的同学需要导入在dao层换mysql8的jar包并去除mysql5的jar包​ 2.将pinyougou—parent的pom文件规定的版本改为mysql8版本(防止以后项目报错),如果不改连接不上数据库。​ 3.!!!逆向工程只可运行一遍,如果运行多遍会 .java文件不会受影响,而*Mapper.xml里的文件会写

2021-06-27 18:19:32 122

原创 关于品优购大型电商开发问题解答以及开发知识点详解(2)

关于品优购大型电商开发问题解答以及开发知识点详解(2)1.Dubbox框架的学习简介:​ Dubbox 是一个分布式服务框架,Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东东,就是个远程服务调用的分布式框架。安装Zookeeper(略)​ 请参考黑马程序员品优购项目视频安装,本篇只介绍***

2021-06-27 11:41:06 127

原创 1.关于品优购大型电商开发问题解答以及开发知识点详解(1)

1.关于品优购大型电商开发问题解答以及开发知识点详解(1)1.关于电商以及电商开发的解答b2b(Business to Business )​ 也就是商家对商家,也就是说公司卖向公司零售模式。c2b(Consumer to Business)​ 个人对企业的营销模式,是互联网经济时代新的商业模式。这一模式改变了原有生产者(企业和机构)和消费者的关系b2c(Business to Consumer )​ 也就是商家对顾客,也就是通常说的直接面向消费者销售产品和服务商业零售模式。B2B2C​

2021-06-26 17:17:13 194

空空如也

空空如也

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

TA关注的人

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