自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dubbo框架详解(附源码)

本文介绍了dubbo框架主要组成部分,包括服务生产暴露消费等内容,穿插hystri知识点,全文附源码了解更清晰。

2023-05-20 22:54:39 2046

原创 数组算法题型小结

1.使用二分法解题,题目一般包含有序数组等条件,解题重点是左右边界一定要定义好1.1普通二分法查找数据,分清左右区间就行1.2二分法找重复元素范围,这个需要分左右区间,1.3找数组中两个元素和等于指定数据。(1)先排序Arrays.sort(),(2)双指针查找2.快慢指针问题:由于数组的元素地址是连续的,不能删除数据,只能覆盖, 所以涉及到删除元素时,使用快慢指针用快指针元素覆盖慢指针元素3.双指针法:从数组两端向中间查找找到指定元素4.滑动窗口法:当问题中涉及到找满足条件的子数组,就要考虑滑

2021-08-10 00:36:44 388

原创 剑指offer 深度优先遍历(DFS)和广度优先遍历(BFS) 题解一

深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是图论中两种非常重要的算法,生产上广泛用于拓扑排序,寻路(走迷宫),搜索引擎,爬虫等,算面试高频考点常见的 DFS : 先序遍历、中序遍历、后序遍历;常见的 BFS : 层序遍历(即按层遍历)。1.剑指 Offer 27. 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \

2021-07-31 23:12:22 568

原创 剑指offer中位运算几题解法

剑指 Offer 15. 二进制中1的个数1.编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。解题思路根据 与运算 定义,设二进制数字 nn ,则有:若 n & 1 = 0,则 n 二进制 最右一位 为 0 ;若 n & 1 = 1 ,则 nn二进制 最右一位 为 1 。根据以上特点,考虑以下 循环判断 :判断 nn 最右一位是否为 11 ,根据结果计数。将 nn 右移一位(本题要求把数字 nn

2021-07-22 22:19:13 212

转载 java集合3

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day19】—— 集合框架3 _陈哈哈 2021-07-05 13:48:29 ...

2021-07-17 19:13:17 145

转载 Java集合2

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day12】—— 集合框架2(HashMap) _陈哈哈 2021-06-21 00:49:16 ...

2021-07-17 19:00:29 308

转载 Java集合1

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day3】 —— 集合框架1 _陈哈哈 2021-06-03 20:36:15 ...

2021-07-17 18:58:52 239

转载 MySQL事务解析

车票 面试题1:正经回答:先说一下什么是MySQL事务吧深入追问:追问1:说一下你对ACID四大特性的理解追问2:可以从原理上聊一下ACID具体是怎么实现的么? 面试题2:并发场景下事务会存在哪些数据问题?正经回答:深入追问:追问1:那Innodb是如何解决幻读问题的呢? 面试题3:说一下MySQL中你都知道哪些锁?正经回答:深入追问:追问1:那你来谈一谈你对表锁、行锁的理解吧。追问2:那全局锁是什么时候用的呢?追问2:那你再说一下按锁级别划分的那几种锁的使用场景和理解吧?...

2021-07-15 19:32:41 130

原创 如何保持redis缓存和mysql数据库操作数据的一致性

1.为什么需要保持读写一致性在高并发的业务场景下,一般需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。来解决数据访问的响应问题一般来说数据的访问流程如下读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。不管是先写MySQL数据库,再删除Redis缓存;还是先删除缓存,再写库,都有可能出现数据不一致的情况。举一个例子:1.如果删除了缓存Redis,还没有来得及写

2021-07-06 15:08:31 227

原创 几种常用算法详解

二分查找public class 二分查找 { //二分查找是对一个有序数组进行查找 /* 思路: 1.首先确定该数组的中间下标 mid=(left+right)/2; 2.然后让需要查找的数findval和arr[mid]比较 2.1 findval>arr[mid],说明你要查找的数在mid右边,因此需要递归向右查找 2.2 findval<arr[mid],说明你要查找的数在mid左边,因此需要递归向左查找

2021-07-01 20:14:39 299

转载 并发编程知识点一

车票 面试题1:简单说下你对线程和进程的理解?正经回答:深入追问:追问1:那进程和线程有哪些区别呢? 面试题2:守护线程和用户线程的区别?正经回答: 面试题3:什么是线程死锁?正经回答:深入追问:追问1:形成死锁的四个必要条件是什么?追问2:我们该如何避免死锁?追问3:死锁避免和死锁预防有啥不同? 每日小结   本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMappin...

2021-07-01 19:30:53 56

原创 二叉树相关算法总结

删除节点原理示意图public class BinaryTree<Key extends Comparable<Key>,Value> { //记录根节点 private Node root; //记录树中元素个数 private int N;//节点类private class Node { //存储键 public Key key; public Value value; public Node le

2021-07-01 19:14:37 122

原创 多线程、线程池总结

以下是关于多线程和线程池比较好的文章链接多线程添加链接描述线程池:Java中开辟出了一种管理线程的概念,这个概念叫做线程池,从概念以及应用场景中,我们可以看出,线程池的好处,就是可以方便的管理线程,也可以减少内存的消耗。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中包含了多个可以同时运行的线程第一步,是用new Thread()的方法新建一个线程,在线程创建完成之后,线程就进入了就绪(Runnable)状态,此时创建出来的线程进入抢占

2021-06-30 18:37:58 62

原创 基本数据结构简单总结

数组:数组是可以在内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过下标进行访问,范围是0–a.length-1;优点:1.查询快,2遍历方便缺点:数组大小固定后无法扩容数组只能存储一种类型的数据添加,删除操作慢,因为要自动其他元素堆:堆是一种比较特殊的数据结构,,可以被看作一棵树的数组对象,具有以下性质:堆中某个节点的值总是不大于或者不小于其父节点的值堆总是一颗完全二叉树完全二叉树:除了树的最后一层结点不需要是满的,其它的每一层从左到右都是满的,如果最后一

2021-06-30 18:28:49 2331

转载 网络编程2

网络编程2 _陈哈哈 2021-06-23 22:22:30 2003 ...

2021-06-28 11:01:41 101

转载 网络编程1

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day6】 —— 网络编程1 _陈哈哈 2021-06-08 10:22:11 ...

2021-06-28 10:02:24 80

原创 排序算法详解

1.冒泡排序排序原理:比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值。代码实现方法1public class BobbleSort { public static void main(String[] args) { int[] array={3,17,14,9,2,39}; int temp=0; //外循环是为

2021-06-23 20:46:11 92

原创 SSM整合开发流程

ssm整合开发springmv:视图层,界面层,负责加收请求,显示处理结果spring:业务层,管理service,dao,工具类对象mybati:持久层,访问数据库用户发起请求—>springmvc接收----->spring中的service对象------>mybatis处理数据1.第一个容器springMVC容器,管理Controller控制器对象2.第二个容器spring容器,管理service,dao,工具类对象我们要做的是把使用对象交给合适的容器创建,管理类=。

2021-06-22 21:39:59 66

原创 Spring知识点总结

什么是springSpring 被称为 J2EE 的春天,是一个开源的轻量级的 Java 开发框架, 具有控制反转(IoC)和面向切面(AOP)两大核心。Java Spring 框架通过声明式方式灵活地进行事务的管理,提高开发效率和质量Spring框架是个轻量级的Java EE框架。所谓轻量级,是指不依赖于容器就能运行的。Struts、Hibernate也是轻量级的。Spring以IoC、AOP为主要思想,其中IoC,Inversion of Control 指控制反转或反向控制。在Spring框架.

2021-06-22 21:34:15 639

原创 SQL基本语句使用总结

1.什么是SQLStructured Query Language:结构化查询语言其实就是订一块操作所有关系型数据的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”2.SQL通用语法:1.SQL语句可以单行或者多行书写,以分号结尾2.可使用空格和缩进来增强语言的可读性3.MYSQL数据库的SQL语句不区分大小写,关键字建议大写4.有3种注释(1)单行注释:(–空格)注释内容(2)(#空格)注释内容(MySQL特有)(3)多行注释:/注释内容/3.SQL分类1.DDL(dat

2021-06-22 15:09:48 713

原创 基于SpringBoot实现简单增删改查

1.创建实体类public class User { private Integer id; private String username; private String password; public User() { } @Override public String toString() { return "User{" + "id=" + id + ",

2021-06-21 22:33:44 1576

原创 mybatis学习笔记一

mybatismybatis优点1.JDBC相比,减少了50%代码量2.mybatis是最简单的持久化框架,小巧,简单易学3.mybatis相当灵活,不会对对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里面,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用。4.提供XML标签,支持编写动态SQL语句5.提供映射标签,支持对象与数据库的ORM字段关系映射缺点1.SQL语句的编写工作量大,尤其是字段多、关联表多是,更是如此,对开发人员编写SQL语句的功底有一定要求。

2021-06-21 22:12:28 153

原创 JavaScript学习笔记

**JavaScript**JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。功能:用来增强用户和html页面的交互过程,可以用来控制html元素,让页面有一些动态的效果,增强用户体验。JavaScript=ECMAScript+BOM+DOMECMAScript1.基本语法:1.与html结合方式(1)内部js定义<script>,标签体内

2021-06-21 21:57:15 228 2

原创 html,css学习笔记

HTML(Hyper Test Markup Langhage)超文本标记语言超文本:用超链接的方式,将各种不同空间的文字信息组织在一起的网状文本标记语言:不是编程语言,写出来就会读取Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容:我的第一个标题我的第一个段落。例子解释 与 之间的文本描述网页 与 之间的文本是可见的页面内容 与 之间的文本被显示为标题 与 之间的文本被显示为段落Java

2021-06-21 21:43:18 156

空空如也

空空如也

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

TA关注的人

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