bbpp_社区达人页

个人头像照片
bbpp
已加入开发者社区1486

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布76篇文章
17条评论
已回答1个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
  • Java
  • 程序员
  • 开发者
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍

暂无精选文章
暂无更多信息

2024年05月

  • 04.10 21:02:49
    发表了文章 2024-04-10 21:02:49

    5. CHAR和VARCHAR的区别?

    `CHAR`和`VARCHAR`在数据库中有所不同:`CHAR`长度固定,用空格填充,存储效率高,英文占1字节,汉字占2字节;而`VARCHAR`长度可变,节省空间,英文和汉字都占2字节。
  • 04.10 21:02:15
    发表了文章 2024-04-10 21:02:15

    4. MYSQL内连接和外连接的区别 ?

    了解MYSQL中的连接类型:内连接只显示匹配项,左/右外连接分别显示驱动表所有数据,匹配项优先;全外连接显示所有不匹配数据;交叉连接产生笛卡尔积,结果是表数量的乘积。
  • 04.10 21:01:32
    发表了文章 2024-04-10 21:01:32

    3. Mysql 如何实现多表查询

    MySQL多表查询主要包括内连接和外连接。内连接有隐式和显式:隐式是通过`From 表A, 表B where 连接条件`,显式是`From 表A inner join 表B on 连接条件`。外连接包括左外连接(`left join`)、右外连接(`right join`)和全外连接(较少使用)。此外,还有交叉连接(`cross join`),但也较少使用。
  • 04.10 21:00:43
    发表了文章 2024-04-10 21:00:43

    Mysql查询语句的执行顺序

    Mysql查询语句的执行顺序
  • 04.10 20:59:52
    发表了文章 2024-04-10 20:59:52

    Mysql查询语句的书写顺序

    这是一个关于SQL查询语句的摘要,主要包括:`SELECT`(可选`DISTINCT`)字段从表1,可连接到表2,带`JOIN`和`ON`条件,`WHERE`过滤条件,`GROUP BY`按字段分组,`HAVING`进一步过滤,`ORDER BY`排序,及`LIMIT`指定返回结果的起始位置和数量。
  • 04.10 20:48:21
    发表了文章 2024-04-10 20:48:21

    Java基础—笔记—API篇

    这篇内容介绍了Java中的API相关知识,包括`Object`类作为所有类的父类,其核心方法`toString()`、`equals()`和`clone()`。`toString()`默认返回对象地址,重写后可返回内容;`equals()`默认比较地址,重写后比较内容。`clone()`用于对象克隆,提到了浅克隆与深克隆的概念。此外,还介绍了`Objects`工具类,它提供如`equals()`、`isNull()`和`nonNull()`等方法进行条件判断。
  • 04.10 20:47:18
    发表了文章 2024-04-10 20:47:18

    Java基础—笔记—内部类、枚举、泛型篇

    本文介绍了Java编程中的内部类、枚举和泛型概念。匿名内部类用于简化类的创建,常作为方法参数,其原理是生成一个隐含的子类。枚举用于表示有限的固定数量的值,常用于系统配置或switch语句中。泛型则用来在编译时增强类型安全性,接收特定数据类型,包括泛型类、泛型接口和泛型方法。
  • 04.10 20:45:13
    发表了文章 2024-04-10 20:45:13

    Java基础—笔记—接口篇

    接口是Java中的一个抽象概念,用于创建数据结构,类似于更纯粹的抽象类。定义包括常量(默认public static final)和抽象方法(默认public abstract)。接口通过子类实现,如`public class 子类 implements 接口1, 接口2...`。JDK8后增加了默认方法(通过子类对象调用)和静态方法(通过接口名调用)。JDK9引入了私有方法,仅在接口默认方法中调用。目的是在不修改子类的情况下扩展功能。一个类可以继承一个父类并实现多个接口,一个接口可继承多个接口。
  • 04.10 20:41:02
    发表了文章 2024-04-10 20:41:02

    Java基础—笔记—多态、final、抽象类、接口篇

    该文介绍了编程中的多态、final和抽象类、接口相关概念。多态允许子类重写父类方法,通过父类引用调用子类方法,实现解耦和提高代码灵活性,但也可能导致无法使用子类特有功能,需通过强制类型转换解决。final用于修饰不可变的类、方法或变量,防止继承、重写和多次赋值。抽象类是一种包含抽象方法的类,用于强制子类重写特定方法,实现多态,适用于模板方法设计模式,解决代码重复问题。
  • 04.10 20:39:05
    发表了文章 2024-04-10 20:39:05

    Java基础—笔记—继承篇

    该内容介绍了Java中的继承概念。继承允许子类从父类继承属性和方法,简化代码并提高复用性。格式是`public class 子类 extends 父类`。特点包括子类能访问非私有数据,方法可以被重写(@Override标记),但私有和静态方法不能重写。权限修饰符有private、缺省、protected和public。Java支持单继承和多层继承,所有类间接继承自Object类。继承后,成员访问遵循就近原则,this指代本类,super指代父类。子类构造器默认调用父类无参构造器,也可通过super调用有参构造器。
  • 04.10 20:37:18
    发表了文章 2024-04-10 20:37:18

    Java基础—笔记—static篇

    `static`关键字用于声明静态变量和方法,在类加载时初始化,只有一份共享内存。静态变量可通过类名或对象访问,但推荐使用类名。静态方法无`this`,不能访问实例成员,常用于工具类。静态代码块在类加载时执行一次,用于初始化静态成员。
  • 04.10 20:35:42
    发表了文章 2024-04-10 20:35:42

    Java基础—笔记—ArrayList篇

    ArrayList是Java中的一个集合类,用于存储同种类型的多个值,与数组相比,它的长度可变。集合只能存放引用数据类型,而数组可存任意类型。泛型如ArrayList<T>用于限定集合中元素的类型。常用方法包括增(add()、add(int,E))、删(remove(int)、remove(Object))、改(set(int,E))、查(get(int))以及获取大小(size())。
  • 04.10 20:34:24
    发表了文章 2024-04-10 20:34:24

    Java基础—笔记—String篇

    本文介绍了Java中的`String`类、包的管理和API文档的使用。包用于分类管理Java程序,同包下类无需导包,不同包需导入。使用API时,可按类名搜索、查看包、介绍、构造器和方法。方法命名能暗示其功能,注意参数和返回值。`String`创建有两种方式:双引号创建(常量池,共享)和构造器`new`(每次新建对象)。此外,列举了`String`的常用方法,如`length()`、`charAt()`、`equals()`、`substring()`等。
  • 04.10 20:32:27
    发表了文章 2024-04-10 20:32:27

    Java基础—笔记—面向对象篇

    该内容是关于面向对象编程的介绍,包括类(用于定义数据和处理方法)、对象(通过类创建,存储和处理数据)的创建和使用,`this`关键字(代表调用方法的对象,用于区分成员变量和局部变量),成员变量与局部变量的区别(定义位置、初始化值、内存区域、作用域和生命周期),构造器(无返回值、与类名相同的特殊方法,用于对象创建和初始化),以及封装的概念(数据隐藏和暴露控制)和实现步骤(私有化成员变量,提供公共的setter和getter,以及构造器)。
  • 04.10 20:27:32
    发表了文章 2024-04-10 20:27:32

    Java基础—笔记—方法篇

    该内容是关于编程中方法的介绍。方法是实现特定功能的代码块,主要好处是提高代码复用性和维护性。方法定义有三种形式:无参无返回值、有参无返回值和有参有返回值。方法重载是指在同一类中,方法名相同但参数类型或个数不同的多个方法,便于简化调用。参数传递时,基本数据类型在方法内修改不会影响外部,而引用数据类型(除String外)的修改会影响外部。
  • 04.10 20:25:03
    发表了文章 2024-04-10 20:25:03

    个人笔记—Java基础—数组

    该内容是关于数组的介绍。数组是一种容器,用于存储同类型的多个值。初始化有静态和动态两种方式:静态初始化是在创建时直接指定元素,有完整和简写格式;动态初始化则只指定类型和长度,不给定具体元素。访问数组元素通过索引,从0开始,修改元素是`数组名[索引] = 值`,数组长度是`数组名.length`。遍历数组通常用for循环。内存分配上,类信息和静态数据存放在方法区,栈内存负责方法执行和局部变量,堆内存用于new出的对象和数组,有默认初始值。
  • 04.08 18:20:54
    发表了文章 2024-04-08 18:20:54

    项目中异常是如何处理的

    项目中设定了全局异常处理器,统一处理预期和运行时异常。预期异常由程序员手动抛出,用于异常情况的接口返回;运行时异常为不可控错误,提供统一返回格式便于前端提示和后端排查。全局异常处理器借助@RestControllerAdvice和@ExceptionHandler注解,前者标识处理器,后者按异常类型定制前端响应,如预期异常直接返回,运行时异常则调整响应内容。
  • 04.08 18:19:10
    发表了文章 2024-04-08 18:19:10

    如何创建接口,设计过接口

    项目遵循Restful规范设计接口,请求路径基于资源命名,如查询用GET,新增用POST,修改用PUT,删除用DELETE。GET参数通过问号或路径传递,POST/PUT用JSON。统一的接口规范规定:返回数据多时,用VO过滤或整合数据。
  • 04.08 18:18:12
    发表了文章 2024-04-08 18:18:12

    项目的开发流程是什么?

    产品经理提出新需求,召集开发讨论,明确需求后评估技术与工作量。后端与前端商定接口,前端未及时可直接开发。确定接口和表结构后,进行技术调研。接着编码开发,自测无误提交测试环境,前端联调。测试人员进行功能测试,发现问题记录在bug管理工具中,后端修复后再次测试。
  • 04.08 18:14:36
    发表了文章 2024-04-08 18:14:36

    SpringCloud-Day2常见问题及解决方案

    SpringCloud常见问题及解决方案:项目启动时遇到"IllegalArgumentException: Could not resolve placeholder 'pattern.dateformat'"错误,原因可能是bootstrap.yml或yaml文件命名不正确。检查并确保文件名正确。另外,如果Nacos配置文件创建错误,可调试com.alibaba.cloud.nacos.client.NacosPropertySource#getSourceMap方法,检查参数propertySources是否为空,以判断是否需要重新创建配置文件。
  • 04.08 18:12:14
    发表了文章 2024-04-08 18:12:14

    Nacos集群搭建

    官方给出的Nacos集群图: 其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。
  • 04.08 17:50:45
    发表了文章 2024-04-08 17:50:45

    Nacos安装指南

    `Nacos`安装指南包括Windows和Linux两部分。在Windows上,下载Nacos服务端安装包,解压到非中文目录,修改配置文件(如需)并启动服务。通过`startup.cmd -m standalone`启动,然后在浏览器访问`http://127.0.0.1:8848/nacos`。Linux安装涉及安装JDK,上传Nacos安装包,解压并启动服务,使用`sh startup.sh -m standalone`命令。Nacos作为Spring Cloud Alibaba的依赖,需要在项目中引入相关依赖。
  • 04.08 17:32:00
    发表了文章 2024-04-08 17:32:00

    java_键盘录入、随机数

    本文介绍了Java中键盘录入和Random类的使用。键盘录入用于从用户那里获取数据,通过导入`java.util.Scanner`,创建`Scanner`对象,调用`nextInt()`或`nextDouble()`读取整数和小数,`next()`读取字符串。Random类用于生成随机整数,导入该类后创建对象,调用`nextInt(int bound)`生成[0, bound-1]范围内的随机数。在JDK17及以上版本,可以使用`nextInt(int start, int end)`生成[start, end)范围的随机数。常见应用包括猜数字游戏和随机点名。
  • 04.08 17:30:19
    发表了文章 2024-04-08 17:30:19

    Java_分支语句、循环语句

    该文段介绍了编程中的分支语句和循环语句。`switch`语句用于根据不同的值执行相应的代码块,支持byte, short, char, int, 枚举和String类型。每个`case`后的值必须唯一,且可利用`default`处理未匹配的情况。`if`语句用于单个或多个条件判断,有单分支、双分支(含`else`)和多分支形式。`for`、`while`和`do...while`循环分别适用于已知和未知循环次数的场景,`do...while`的特点是至少执行一次。此外,还提到了死循环的概念和循环嵌套,以及`break`和`continue`这两个跳转控制语句的作用。
  • 04.08 17:27:26
    发表了文章 2024-04-08 17:27:26

    Java_运算符

    该文档介绍了编程中的几种运算符。算术运算符包括加、减、乘、除和取余
  • 04.08 17:24:42
    发表了文章 2024-04-08 17:24:42

    Java_关键词、标识符、类型转换

    该文主要介绍了编程中的关键字、标识符和类型转换规则。关键字是全小写英文单词,在编译器中会被高亮显示。标识符用于命名变量和类,由数字、字母、_或$组成,不能以数字开头,不能与关键字同名,且区分大小写。变量命名遵循小驼峰原则,类命名采用大驼峰。类型转换中,表达式类型提升会将小类型提升至大类型,如byte、short、char提升至int。强制类型转换则可能造成精度丢失,例如小数转换为整数时会丢弃小数部分。
  • 04.08 17:21:28
    发表了文章 2024-04-08 17:21:28

    Java基础学习笔记——idea篇

    JDK由JRE(包含JVM和核心类库)和开发工具箱(如javac编译器和java运行工具)组成。Java项目结构包括Project、Module、Package和Class。IDEA快捷键包括:生成main方法(main psvm)、复制代码(Ctrl+D)、删除代码(Ctrl+Y/X)、格式化代码(Ctrl+Alt+L)、重命名(Shift+F6)等。

2024年04月

  • 发表了文章 2024-05-15

    Spring Security整合JWT

  • 发表了文章 2024-05-15

    Spring Security的授权管理器实现

  • 发表了文章 2024-05-15

    Spring Security的授权&鉴权

  • 发表了文章 2024-05-15

    Spring Security实现基于数据库实现认证

  • 发表了文章 2024-05-15

    定时任务spring task

  • 发表了文章 2024-05-15

    缓存框架-Spring Cache的使用

  • 发表了文章 2024-05-15

    RBAC模型介绍

  • 发表了文章 2024-05-15

    查询天气预报案例

  • 发表了文章 2024-05-15

    接口设计规范

  • 发表了文章 2024-05-15

    查询快递物流信息

  • 发表了文章 2024-05-15

    17- 数据库有1000万数据 ,Redis只能缓存20w数据, 如何保证Redis中的数据都是热点数据 ?

  • 发表了文章 2024-05-15

    11- Redis 和 Memcached 的区别有哪些?

  • 发表了文章 2024-05-15

    18- Redis分布式锁如何实现 ?

  • 发表了文章 2024-05-15

    09- Redis分片集群中数据是怎么存储和读取的 ?

  • 发表了文章 2024-05-15

    10- 你们用过Redis的事务吗 ? 事务的命令有哪些 ?

  • 发表了文章 2024-05-15

    05- Redis的数据淘汰策略有哪些 ?

  • 发表了文章 2024-05-15

    04- Redis的数据过期策略有哪些 ?

  • 发表了文章 2024-05-15

    Java基础—笔记—API篇

  • 发表了文章 2024-05-15

    Java基础—笔记—继承篇

  • 发表了文章 2024-05-15

    Spring Security的密码加密和校验

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2024-04-10

    如何处理线程死循环?

    A[代码审查和测试] -- 及时发现潜在问题 --> B[使用合适的同步机制]
    B -- 减少竞争状态和死锁 --> C[减少线程死循环可能性]
    C -- 监控和日志 --> D[及时发现线程死循环问题]
    D -- 异常处理 --> E[避免线程陷入死循环无法恢复]
    E -- 使用工具和框架 --> F[精准定位和处理线程死循环问题]
    image.png

    这个流程图,展示了在多线程应用程序开发中避免线程死循环问题的一般方法。首先,通过代码审查和测试尽早发现潜在问题,然后使用合适的同步机制减少竞争状态和死锁,接着加入监控和日志功能及时发现线程死循环问题,然后进行异常处理避免线程陷入死循环无法恢复,最后使用工具和框架精准定位和处理线程死循环问题。这些方法结合具体案例可以更好地帮助开发人员避免线程死循环问题。

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息