自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录自己使用Netty手写一个RPC框架

在自己大四的实习中,对于计算机知识的理解有了更大的认知,对于网络协议、数据传输这块有了一定的认知,在快过22年的春节的时候,公司在年前的工作比较少,我闲来手写一个RPC框架来学习学习。在选取网络传输技术上层API的时候,刚开始我打算使用NIO来调用socket从而去调用传输层的TCP协议,但是鉴于我在面试过程中遇到了面试官问我Netty的知识点,并且我从来没有使用过Netty,那么我这次的手写RPC我就是用Netty来做,当然Netty其实也是NIO框架,原理是一样的,只是Netty框架简化了开发。在这

2022-02-04 14:04:23 596

原创 Redis的持久化

持久化的意义因为Redis是内存数据库,他将自己的数据库状态储存在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库也会消失不见。Redis的持久化有两种:RDB持久化:将当前数据生成快照保存到磁盘中 AOF持久化:记录每次对数据的操作到磁盘上下面我们分别去介绍这两种持久化方式:RDB持久化RDB持久化功能可以将Redis在内存中的数据库储存在...

2022-01-15 20:40:07 321

原创 设计模式之工厂模式

工厂模式中有三种:简单工厂模式、工厂方法模式、抽象工厂模式。简单工厂模式简单工厂模式其实不是一个设计模式,应该说是一个编程的习惯。UML图:这个是一个做披萨的例子,是Head First书中的例子。简单工厂模式就是将new 的方法放入一个工厂的类中,下面我们给出代码:package com.jd.factory.staticFactory;public class Pizza { public void prepare(){ System.out.p

2022-01-06 15:43:53 135

原创 设计模式之单例模式

经过前面的Spring的学习,我认为首先要学习设计模式之后,再来研究Spring的源码。首先我们先来学习一下单例模式。1、意图保证一个类仅有一个实例,并提供一个访问它的全局访问点。2、动机让类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法,这就是Singleton模式。3、适用性当类只能有一个实例而且客户可以从一个总所周知的访问点访问它时。 当这个唯一实例应该是通过子类可扩展的,并且客户应该无须更改代码

2022-01-04 14:46:07 291

原创 IO模型总结

一、操作系统的IO交互模型二、操作系统中的IO模型三、Java中的IO模型

2022-01-01 21:53:38 400

原创 Java对象的内存布局

对象内存存储布局概述在JVM虚拟机中,对象的储存布局可以为分为三个部分,对象头(Object Header)、实例数据(Instance Data)和对齐填充(Padding)。下面我们来具体说一下各个部分。对象头(Object Header)虚拟机的头部分主要包括存储对象自身的运行时数据(Mark Word) 和 类型指针,在数组对象中这两个的基础上会多一个数组长度。这个是对象头包含的内容。Mark WordMark Word是用于存储对象自身的运行时数据。在32位和64位

2021-12-31 15:25:01 823

原创 Spring学习--Bean的依赖(属性)注入原理

上一篇文章Spring学习--IOC容器的初始化过程。附链接Spring学习--IOC容器的初始化过程_m0_47954009的博客-CSDN博客文章讲了IOC容器初始化的过程,是Bean的一个实例化过程,并没有对Bean的属性赋值。这篇文章我们就来讲讲Bean的依赖注入的源码,原理。依赖注入的概述IOC初始化过程完成的主要工作是IOC容器中建立BeanDefinition数据映射。在此过程中并没有IOC容器对Bean依赖关系进行注入。Bean依赖注入的过程是用户第一次向IOC容器索要B

2021-12-29 18:31:37 698

原创 Threadlocal学习

一、threadLocal简介ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前的线程。该变量对其他线程而言是隔离的,也就是说该变量是独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。二、threadlocal的底层实现原理每一个线程的Thread对象中都会有一个ThreadLocalMap对象,这个对象存储了一组以ThreadLocalHashCode为键,以本地线程变量为值的K-V健值对,Thr

2021-12-28 17:09:45 297

原创 Spring学习--IOC容器的初始化过程

IOC容器初始化概述IOC容器初始化是由refresh()

2021-12-24 20:17:54 1991

原创 回溯法题型总汇

本人在此声明,本人所使用的解题思路,大多来自于代码随想录。@代码随想录一、全排列1、力扣64:全排列解题思路:根据代码随想录的回溯三部曲进行解题,具体思路我会写到代码注释中。 //创建 LinkedList<Integer> path = new LinkedList<>(); List<List<Integer>> result = new ArrayList<>(); //全排列的话,需要一个布.

2021-11-11 22:41:27 4236

原创 数据结构算法题总汇

2021年10月25日数组练习题目一:leetcode136.只出现一次的数字给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解思路:1.拿到题目后第一反应是借..

2021-10-25 11:00:36 1566

原创 牛客SQL练习题11--获取所有员工当前的manager

题目描述有一个员工表dept_emp简况如下:第一行表示为员工编号为10001的部门是d001部门。有一个部门经理表dept_manager简况如下:第一行表示为d001部门的经理是编号为10002的员工。获取所有的员工和员工对应的经理,如果员工本身是经理的话则不显示,以上例子如下:题解SQL语句select e.emp_no,m.emp_nofrom dept_emp as ejoin dept_manager as mon e.dept_no = m.dept_nowhere

2021-06-14 19:03:46 193

原创 牛客SQL练习题10--获取所有非manager的员工emp_no

题目描述有一个员工表employees简况如下:有一个部门领导表dept_manager简况如下:建表语句如下:CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date

2021-06-13 20:32:04 186

原创 牛客SQL练习题--找出所有员工当前薪水salary情况

题目描述有一个薪水表,salaries简况如下:建表语句如下:CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));请你找出所有员工具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示,以上例子输出如下

2021-06-10 13:35:58 295

原创 牛客SQL练习题6--查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t

题目描述有一个薪水表,salaries简况如下:建表语句如下:CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));请你查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t,以上例子输出如下:题解SQL

2021-06-03 21:25:09 114

原创 牛客SQL练习题5--查找所有员工的last_name和first_name以及对应部门编号dept_no

题目描述有一个员工表,employees简况如下:有一个部门表,dept_emp简况如下:建表语句如下:CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT

2021-06-03 21:16:13 239

原创 牛客SQL练习题4--查找所有已经分配部门的员工的last_name和first_name以及dept_no

题目描述有一个员工表,employees简况如下:有一个部门表,dept_emp简况如下:建表语句如下:CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT

2021-05-31 18:43:48 158

原创 牛客SQL练习题3--查找当前薪水详情以及部门编号dept_no

题目描述有一个全部员工的薪水表salaries简况如下:有一个各个部门的领导表dept_manager简况如下:建表语句如下:CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));CREATE TABLE `dep

2021-05-30 15:58:46 337

原创 牛客SQL练习题2--查找入职员工时间排名倒数第三的员工所有信息

题目描述有一个员工employees表简况如下:建表语句如下CREATE TABLE `employees` (`emp_no` int(11) NOT NULL, `birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT NULL,PRIMARY KEY (`em

2021-05-29 17:54:05 404

原创 牛客SQL练习题1--请你查找employees里最晚入职员工的所有信息

题目描述有一个员工employees表简况如下:建表语句如下:CREATE TABLE `employees` (`emp_no` int(11) NOT NULL, `birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT NULL,PRIMARY KEY (`e

2021-05-22 21:33:32 743 1

原创 接口与抽象类

一、接口接口的概念在Java语言中,接口有两种意思:一是指概念的接口,即指系统对外所提供的所有服务。类的所有能被外部使用者访问的方法构成了类的接口。二是指用interface关键字定义的实实在在的接口,也称为接口类型。它用于明确地描述系统对外提供的所有服务,他能够更加清晰地把系统的实现细节与接口分离。在这里介绍的是接口类型。接口的基本特性接口中的成员变量默认都是public、static、final类型的,必须被显式初始化。并且接口中中只能包含public、static、final类型的

2021-05-22 20:44:59 479

原创 记录openstack-Queens的安装过程

前言:本次安装主要使用的软件以及工具:VMwareXshellWinSCPEdge浏览器参考的文档:openstack官方文档https://docs.openstack.org/install-guide/openstack官方中文文档(这个虽然不是Queens版本,但是还是可以参考的,英文看的迷糊朋友们的福利)https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/centos7部署openstack

2021-04-15 21:33:33 594

原创 LinkedList部分源码分析

一、LinkedList概述1.1 表ADT介绍ArrayList集合和LinkedList集合之前我们必须要对表ADT(抽象数据类型)有一定的了解。抽象数据类型(ADT)抽象数据类型是带有一组操作的一些对象的集合。表ADT我们将处理形如A0,A1,A2,……,An-1的一般的表。我们说这个表的大小是N。大小为0的特殊的表称为空表。对于除空表外的任何表,我们说Ai后继Ai-1并称Ai-1前驱Ai。表ADT的两种实现方式表的数组实现对于表的所有操作都可以通过使用数组来实现。表的链表实现

2021-04-08 21:29:48 99

原创 ArrayList部分源码分析

一、ArrayList概述1.1 表ADT介绍ArrayList集合和LinkedList集合之前我们必须要对表ADT(抽象数据类型)有一定的了解。抽象数据类型(ADT)抽象数据类型是带有一组操作的一些对象的集合。表ADT我们将处理形如A0,A1,A2,……,An-1的一般的表。我们说这个表的大小是N。大小为0的特殊的表称为空表。对于除空表外的任何表,我们说Ai后继Ai-1并称Ai-1前驱Ai。表ADT的两种实现方式表的数组实现对于表的所有操作都可以通过使用数组来实现。表的链表实现

2021-04-02 16:56:06 131

原创 SSM框架下商场项目中PageHelper插件的使用

本文章简单介绍了在SSM框架下商场项目中的PageHelper插件的使用。1.引入插件文件(1)、引入jar包,可以从下面的网站获取jar包 https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/(2)、使用Maven。在pom.xml中添加 <dependency> <groupId>com.github.pag...

2020-10-25 20:55:49 207 2

空空如也

空空如也

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

TA关注的人

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