自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 资源 (8)
  • 问答 (2)
  • 收藏
  • 关注

原创 【设计模式】简单工厂模式

可维护性差,如果要改+的逻辑,就会牵一发而动全身;扩展性差,如果这个时候新增开平方的逻辑怎么办?这一题看上去很简单,但如果面试时你写的是下面这种代码,那大概率是过不了的。上面代码也能实现题目的功能,但是代码没有错就是好的吗?简单写一个计算器,输入2个数和运算符,得到结果。:用一个类来创造实例的过程。

2023-08-16 17:42:16 1334 1

原创 RPC框架(一):扫盲

您可以让RPC的Selector/Processor使用单个线程运行服务的具体实现(这意味着上一个客户端的请求没有处理完,下一个客户端的请求就需要等待)、您也可以为每一个RPC具体服务的实现开启一个独立的线程运行(可以一次处理多个请求,但是操作系统对于“可运行的最大线程数”是有限制的)、您也可以线程池来运行RPC具体的服务实现(目前看来,在单个服务节点的情况下,这种方式是比较好的)、您还可以通过注册代理的方式让多个服务节点来运行具体的RPC服务实现。l:两端都能识别的、共同约定的消息格式。

2023-06-27 13:45:51 495

原创 DDD架构落地战略

DDD架构落地

2023-03-02 18:44:37 150

原创 【算法】滑动窗口

使用说明输入是一个数组或字符串,求解的结果是具有某种特质的子数组或者子字符串。可以用两个指针标识窗口的边界。窗口的长度是固定的,也可以是可变的。维护一个或者一组和窗口相关联的状态变量,减少while循环,能有效降低计算量和算法复杂度。数组定长问题leetcode209.长度最小的子数组...

2023-01-05 22:19:49 109

原创 Apollo分布式配置中心原理

Apollo分布式配置中心原理一、执行流程二、工作原理1 各模块职责2 分步执行流程3. 核心概念三、发布原理1. 服务端设计3.1.1 发送ReleaseMessage的实现方式3.1.2 NotificationControllerV2通知客户端配置更新一、执行流程操作流程如下:用户修改和发布配置是通过portal调用AdminService,把配置变更保存在数据库中。客户端通过长轮询访问ConfigService实时监听配置变更。默认超时时间是90秒。如果在超时前有配置变更,就会立即

2022-05-30 01:15:07 1472

原创 【面试必看】多线程

多线程概述1.1. 多线程编程存在的问题与风险线程安全(Thread safe)问题.多线程共享数据时,如果没有采取正确的并发访问控制措施,就可能会产生数据一致性问题,如读取脏数 据(过期的数据), 如丢失数据更新.线程活性(thread liveness)问题.由于程序自身的缺陷或者由资 源稀缺性导致线程一直处于非 RUNNABLE 状态,这就是线程活性问题, 常见的活性故障有以下几种:(1) 死锁(Deadlock). 类似鹬蚌相争.(2) 锁死(Lockout), 类似于睡美人故事.

2021-12-23 19:52:54 357

原创 【DDD架构】

DDD(domain driven design)领域驱动设计模型一、DP(domain primitive)1、什么是DPdp是一种基本类型,包括type(数据类型)和class(类)。public class PhoneNumber { private final String number; public String getNumber() { return number; } public PhoneNumber(String num

2021-08-23 11:55:06 1172

原创 单测PowerMock

如何写一个单测(过程)1. 定义被测对象直接构建对象UserService userService = new UserService();利用Mockito.spyMockito提供一个spy功能,用于拦截那些尚未实现或不期望被真实调用的方法,默认所有方法都是真实方法,除非主动去模拟对应方法。所以,利用spy功能来定义被测对象,适合于需要模拟被测类自身方法的情况,适用于普通类、接口和虚基类。UserService userService = Mockito.spy(new User

2021-08-19 18:36:10 1570

原创 【Spring】IOC控制反转

什么是IOC?是一种思想、理论,把对象的创建、赋值、对象之间关系管理等工作都交给容器。控制:对象的创建、赋值等管理工作反转:将对象的控制权交给容器正转:由程序员对对象创建、赋值容器:一种框架,即Spring为什么用ioc?解耦合创建对象方式:1.构造方法2.反射3.序列化4.克隆5.IOC6.动态代理IOC技术实现:DI(依赖注入)什么是DI?只需在程序中提供要使用的对象名称即可,至于如何创建、赋值、管理对象则由容器内部实现spring底层创建对象实现:反射机制...

2021-07-27 21:58:32 123

原创 Spring体系结构

2021-07-27 21:27:59 66

原创 美团后端面试大全【附答案】

1.平时用什么技术栈啊 如实回答Java用的比较多2.Java集合了解吗 说说都有啥 List Set Map 如实说Set不咋用 面试官也没刁难我=。=3.说一下List和Map各自适用的场景4.ArrayList5.hashmap6.反射了解吗 (不太熟啊) 就说了spring的IOC和AOP是基于反射的7.那你就说说IOC和AOP吧 (挖坑神作)8.多线程了解吗 说说优缺点 主要 有啥缺点 那缺点怎么解决 (就死锁啥的 瞎bb了一通)9.synchronize讲一

2021-04-25 02:28:27 906

原创 前端面试重点总结

前端面试重点总结CSSflex布局一.容器的属性1.flex-direction2.flex-wrap3.flex-flow4.justify-content5.align-items6.align-content二.项目的属性1.order2.flex-grow3.flex-shrink4.flex-basis5.flex6.align-self寄生组合相比于组合继承的优势在什么地方promise基本原理是什么,主要解决什么问题,then为什么可以链式调用?深拷贝要注意什么地方大对象里面有个属性值又是一个

2021-04-25 02:27:02 447

原创 计算机网络面试重点【精简,适合时间不多的考前背诵】

TCPUDPHTTPhttp和tcp的关系http在应用层,tcp在传输层,http要基于tcp,tcp建立连接,http用来收发数据tcp如何保证可靠传输三次握手和四次挥手:syn,ack/syn,ack;fin,ack,fin,ack超时重传:设置重传计时器,时限内没有收到确认帧,就重新发送数据流量控制:控制发送方的发送速率,一对一拥塞控制:控制发送方的发送速率,多对一如何应对大量访问,恶意攻击,dos,洪泛攻击洪泛攻击就是攻击者发送大量的syn,服务器为每个syn分配一个特定的数

2021-04-25 02:26:03 335

原创 字节跳动后端面经大全【附答案】

作者:真不想背八股文了链接:https://www.nowcoder.com/discuss/630113?type=all&order=time&pos=&page=1&channel=-1&source_id=search_all_nctrack来源:牛客网一面 32min聊项目知道 Ping 命令用到的协议是什么吗?是哪一层的协议?使用的是ICMP协议,是“Internet Control Message Protocol”(Internet控制消息

2021-04-25 02:24:39 666

原创 中国移动后端面经总结

作者:JamieEcho链接:https://www.nowcoder.com/discuss/520878?type=post&order=time&pos=&page=1&channel=-1&source_id=search_post_nctrack来源:牛客网AOPhashCode()和equals()的关系如何判断一个类的两个对象的某个属性是否相同synchronized和Lock的区别什么情况下需要加锁,举个例子(大概题意)如果有多个线程

2021-04-23 15:12:28 436 1

转载 express框架

Express框架一、什么是Express框架二、安装Express三、框架的使用1.根据请求地址返回给前端内容一、什么是Express框架基于Node的一个框架,封装了读取html文件、css文件的操作,直接返回封装好的内容,让开发人员更加注重业务逻辑。二、安装Expressnpm install express三、框架的使用1.根据请求地址返回给前端内容//1.引入模块var express = require('express')//2.创建网址服务器,框架核心app对象var

2021-04-17 18:48:13 523 1

原创 Node.js

Node.jsNode基本概念模块化包(package)npm(Node Package Manager node的包管理器)文件系统(File System)fs模块Node基本概念Node是对ES标准一个实现,Node也是一个JS引擎通过Node可以使js代码在服务器端执行-node底层是使用c++的编写的node的中js引擎使用的chrome的v8引擎Node仅仅对ES标准进行了实现,所以在Node中不包含DOM 和 BOMNode中可以使用所有的内建对象Str

2021-04-17 02:47:04 158 1

原创 XML文件概述

XML文件概述1.什么是XML文件?2.约束文档(1).DTD(简单)(2)SCHEMA(高级)1.什么是XML文件?(1)extensible markup language可扩展标记语言,开发者在符合xml命名规则(约束文档dtd/schema)的基础上,根据自己的需求定义自己的标签。标记:一个标签就是一个命令可扩展:没有预先定义好的命令,想写什么标签就写什么标签。作用:在Java中使用XML文档来代替properties作为配置文件(2)xml与html的区别:xml可以看作是html的父

2021-04-16 23:00:48 159

原创 tomcat解读service.xml文件

<?xml version='1.0' encoding='utf-8'?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright own

2021-04-13 15:07:15 114

原创 java中包的命名规则

2021-04-11 13:29:53 464

原创 【leetcode】413等差数列划分——计数型

题目如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列:1, 3, 5, 7, 9 7, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组 (P, Q),P 与 Q 是整数且满足 0<=P<Q<N 。如果满足以下条件,则称子数组(P, Q)为等差数组:元素 A[P], A[p + 1], …, A[Q -

2021-04-11 03:51:57 132

原创 【leetcode】198打家劫舍——求最大最小值型

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2,7,9

2021-04-11 03:12:39 95

原创 【leetcode】70.爬楼梯——计数型

爬楼梯题目题解1.递归2.记忆化递归3.动态规划题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(LeetCode) 链接:http

2021-04-11 02:14:12 207

原创 动态规划

动态规划1.题目特点1.1计数1.2求最大最小值1.3求存在性2.组成部分2.1确定状态2.2转移方程2.3初始条件和边界情况2.4运算顺序3常见题型4优化5打印路径1.题目特点1.1计数1.2求最大最小值1.3求存在性2.组成部分2.1确定状态动态规划需要开一个数组,需要确定数组每个元素的意义——相当于数学问题中确定X,Y,Z的含义关键点:最后一步子问题此步骤也可以用递归做,但递归重复计算,效率低下,为了避免这种情况,我们存储已经运算的结果并改变运算顺序2.2转移方程eg l

2021-04-10 18:04:36 51

原创 ES6新性能

新的变量声明方式模板字符串传统字符串拼接:模板字符串:变量的结构赋值即对应着定义变量箭头函数扩展运算符reset运算符数组新增方法

2021-04-10 02:39:00 2231

原创 JSON

JSONJSON概述eval访问JSON概述eval访问

2021-04-09 14:14:43 73

原创 JS-BOM编程实例:设置顶级窗口

2021-04-09 13:22:47 120

原创 window.open()&window.close()

2021-04-09 13:05:10 191

原创 表单验证

要求代码实现在这里插入代码片

2021-04-09 02:34:17 80

原创 正则表达式

常见正则表达式

2021-04-08 20:57:17 80

原创 DOM编程:innerHTML&innerText操作div和span

innerHTMLinnerText

2021-04-08 15:28:59 448

原创 JS的控制语句

for…in用途一:遍历数组用途二:遍历对象的属性with

2021-04-08 13:55:57 69

原创 JS的运算符之void

表达式意义“”返回空字符串href=""仍会跳转到当前页面,“”代表当前路径void(表达式)不返回任何结果href="javascript:void(0)”不发生跳转

2021-04-08 13:37:14 162

原创 JS中的事件

常用事件注册事件的方式1.直接在标签中使用事件句柄2.纯JS代码实现代码的执行顺序

2021-04-08 13:23:48 66

原创 JS中的数据类型

多的一种叫symbol

2021-04-08 12:18:32 53

原创 JAVAScript学习笔记链接

JavaScript概述HTML中嵌入JS代码JS的变量

2021-04-08 01:40:55 163

原创 JS的变量

JS的变量变量的声明与赋值![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408010828161.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNzQ4NDAw,size_16,color_FFFFFF,t_70)函数的定义与调用局部变量和全局变量变量的声明与赋值函数的定义与调用

2021-04-08 01:40:08 72

原创 HTML中嵌入JS代码

方式一:内联方式二:脚本块方式第三种方式:引入外部独立JS文件第一种是事件触发时执行,第二种第三种是网页打开时执行

2021-04-07 23:16:11 136

原创 JavaScript概述

JavaScript概述JS与JAVA区别JS与JSP区别什么是JavaScriptJavaScript由三部分组成:1. ECMAScript(核心)2. DOM(文档对象模型)3. BOM (浏览器对象模型)什么是ES51. strict模式2. Array增加方法3. Object方法什么是ES61.块级作用域 关键字let, 常量const2.对象字面量的属性赋值简写(property value shorthand)3.赋值解构4.函数参数 - 默认值、参数打包、 数组展开(Default 、Re

2021-04-07 22:52:07 220

原创 Java学习路线&笔记链接

Java学习路线&笔记链接????JAVASE数据库mysql(或oracle)JDBCWEB前端HTMLCSSJavaScriptJavaWeb(web后端)ServletJSPweb进阶AJAXjQueryJavaWeb项目实战SSM三大框架(额外可选学SSH)MyBatisSpringSpringMVC互联网分布式JAVASEJava语言的基础,是Java的最基本的库。基础语法加常用类库。数据库mysql(或oracle)数据库是所有程序员都需要学习的,因为不管是C语言,还是C++,

2021-04-07 22:50:55 203 1

【面试必看】多线程笔记.pdf

只要半杯奶茶的钱,就能年薪百万!针对面试,将多线程相关知识进行梳理。

2021-12-23

【史上最全】【后端】【面试】必背大全.pdf

【不到一杯奶茶的价钱】史上最全后端面试所有问题总结,分为操作系统、计算机网络、数据库、数据结构与算法、设计模式、javase。共200个问题,67797个字,大全在手,offer我有!

2021-04-26

智能教育助手.docx

人工智能在教育领域的应用——智能教育助手 工智能技术的快速发展为进一步实现公平教育提供了技术支持。智能助手作为人工智能技术的一大应用场景,目前已形成相对成熟的生态,但是智能助手在教育方面尚在初始阶段。本文通过各类资料的收集、汇总、分析和比较,探讨了智能教育助手产业现状、趋势、教育应用情况及前景,旨在为相关人员提供参考信息。

2020-06-09

物联网技能赛笔记+源码【智能空调遥控器、智能保险箱】

物联网技能赛笔记+源码【智能空调遥控器、智能保险箱】 包括安卓端、PC端、底端嵌入式开发代码+笔记

2020-05-30

mongodb基础课件.zip

基于mongodb和c++的在线考试系统项目实践讲解ppt,贫民窟女子花了几十大洋买的,现公开,也不知道侵不侵权 附: 根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的 设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经 软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!谢谢

2020-04-30

Mongo java driver.jar v3.4.3 免费版.rar

Mongo java driver是java连接mongodb的需要驱动jar包,mongodb的java驱动。本包包括mongo-java-driver-2.5.jar和mongo-java-driver-3.4.3-javadoc.jar

2020-04-30

PlanetGame.rar

JAVA小游戏设计——以飞机大战为例(极简版)【附素材、源码、逐行注释讲解】 大家可以看着注释自己写一个

2020-04-03

junit-4.12.rar

junit-4.12及相关工具类 junit-platform-commons-1.3.1 junit-platform-engine-1.3.1 junit-platform-launcher-1.3.1

2019-09-04

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

TA关注的人

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