Java

Day50 简单小结:类与对象

简单小结:类与对象

springboot项目配置多数据源

springboot项目配置多数据源 //关键:mybatis文件的目录需要区分开来 sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis.myProjectOne/*.xml")); 从数据源

Spring AOP 中@Pointcut的用法(多个Pointcut)

Spring AOP 中@Pointcut的用法(多个Pointcut) Spring Boot AOP @Pointcut拦截注解的表达式与运算符拦截注解的表达式有3种:@annotation、@within、@target1、@annotation匹配有指定注解的方法(注解作用在方法上面)2、@within匹配包含某个注解的类(注解作用在类上面)3、@target匹配目标对象有指定

Spring Boot 使用 拦截器 实现 token 验证

Spring Boot 使用 拦截器 实现 token 验证 整体思路:1.写一个工具类封装生成、校验和解析 token 的方法;2.在注册和登录时生成 token ,生成的 token 存入 redis ,下次登录去 redis 获取,如果存在则直接返回通过3.在拦截器中校验和解析 token ,拿到 token 中有用的信息存入 private static final Inheritable

002java前世今生

java历史 1.c 2.c++ 3.java(服务器端开发、没有指引、没有内存管理、一次编译,到处执行、面向对象、高质量类库、类型安全) 三大版本 1.j2se(占领桌面) 2.j2me(占领移动端) 3.j2ee(占领服务器) 三个名词 jdk jre jvm(跨平台原因) java安装 jdk(开发) jre(运行环境) 设置JAVA_HOME 和 PATH java -version

设计模式—行为型模式之中介者模式

设计模式—行为型模式之中介者模式 中介者模式(Mediator Pattern):用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,减少对象间混乱的依赖关系,从而使其耦合松散,而且可以独立地改变它们之间的交互。对象行为型模式。 包含以下角色: Mediator: 抽象中介者 ConcreteMediator: 具体中介者 Colleague: 抽象同事类 C

SparkStreaming in Java

参考地址:Spark Streaming Programming Guide 1.新建Maven项目,POM引入依赖 2.项目添加Scala依赖库 3.在资源目录添加日志配置文件log4j.properties 4.代码 5.测试 安装netcat https://eternallybored.org/misc/netcat/

微服务有什么优点缺点

一、微服务的优点: 1、易于开发和维护 由于微服务单个模块就相当于一个项目,开发这个模块我们就只需关心这个模块的逻辑即可,代码量和逻辑复杂度都会降低,从而易于开发和维护。 2、启动较快 这是相对单个微服务来讲的,相比于启动单体架构的整个项目,启动某个模块的服务速度明显是要快很多的。 3、局部修改容易部署 在开发中发现了一个问题,如果是单体架构的话,我们就需要重新发布并启动整个项目,非常耗时间,但是

java中 Happens-Before 原则

前言 并发问题有三个根本原因: cpu 缓存导致可见性问题 线程切换导致原子性问题:线程切换是发生于任何一条cpu指令级别的,而不是高级语言中的语句,例如 i++ 是三个cpu指令 编译器优化导致有序性问题 CPU缓存导致可见性问题与Java内存模型(JMM)的问题实际上是两个相互关联的概念。 CPU缓存带来的问题: 在现代多核CPU架构中,每个核心都可能有自己的一级(L1)和二级(L2)缓存

SparkStreaming 自定义数据采集器

本文的前提条件: SparkStreaming in Java 参考地址:Spark Streaming Custom Receivers 1.自定义数据采集器 2.注册并使用

Java小细节之char字符运算

char a = 'A'; System.out.println('a'-'A'); char b = (char)(a+'a'-'A'); System.out.println(b); 此时输出32 a;因为Java字符可以运算,但是运算后就不再是字符,而是数字,字符运算规则是根据unicode。

第二章:变量与运算符

1. 关键字 定义:被java语言赋予了特殊含义 ,用作专门用途的字符串(或单词) 特点:全部关键字都是小写字母​ 官网地址 ​​ ​​ 2. 标识符 定义:java中变量 ,方法 ,类等要素命名时使用的字符序列成为标识符 技巧:凡是自己可以起名字的地方都叫标识符 。最好是见名知义 标识符的命名规则(硬性要求) 由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头 不可以使

稳定性建设实践

1、职责 所在组织结构:团队成员40人左右,业务特点:有大量老服务、流量波动大(峰值集中在中午和傍晚)、流量不可预测。 背景:以业务发展为主,对稳定性关注较少,各项目使用的规范和工具不一致,*两年*台出了几次事故,开始重视稳定性建设,成立稳定性保障小组,推动稳定性工作。 稳定性小组的组成: 稳定性保障小组:各团队抽调人力成立的一个虚拟小组,负责团队内部的任务推动 QA:负责上线前各流程的规范及

数据库学习笔记(一)—— 初识MySQL

初识MySQL 前言   关于 MySQL 的学习,具体内容非常庞大,但重点内容比较集中,因此关于 MySQL 的学习笔记可能和之前的不太一样。至于 GoWeb 的学习笔记,还远远不到结束的时候,学完数据库后,剩下的内容就在实战中学习。 介绍 什么是数据库?    数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。通常由数据库管理系统 (DBMS) 来

Java中::作用及应用场景

Java中的:: Java中双冒号(::)是一种全新的操作符,也称为方法引用,它允许开发人员通过名称来引用现有方法,可以视为Lambda表达式的一种缩写 应用 格式:类名::方法名 四种方法引用 类名::静态方法名 对象实例名::实例方法名 类名::实例方法名 构造方法引用 前提条件 Lambda体中只有一条语句,且是方法调用语句 函数式接口的抽象方法的返回值类型 与 lambda体中

高效工作法:占位图片生成工具助力项目快速迭代

在现代设计和开发项目中,图片资源的重要性不言而喻。然而,项目中经常会遇到寻找合适图片、调整图片尺寸和格式等问题,这些问题不仅耗时耗力,还可能影响到项目的进度和质量。此时,占位图片生成工具应运而生,它为我们的项目带来了诸多好处,解决了诸多难题。 占位图片 | 一个覆盖广泛主题工具的高效在线平台(amd794.com) https://amd794.com/placeholder 首先,占位图

SparkStreaming 连接 Kafka数据源

本文的前提条件: SparkStreaming in Java 参考地址:Spark Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher) 1.添加POM依赖 2.使用

MySQL-12.MySQL数据类型

1.MySQL中的数据类型 常见数据类型的属性,如下 2.整数类型 2.1 类型介绍 整数类型一共有5种,包括TINYINT,SMALLINT,MEDIUMINT,INT(INTEGER)和BIGINT。 它们的区别如下表所示 2.2 可选属性 整数类型的可选属性有三个 2.2.1 M M:显示宽度,M的取值范围是(0,255)。例如,int(5):当数据宽度小于5位的时候在数字前面需要用字

假期学习进度笔记——2024.1.15

今天继续学习javaweb相关知识,还是关于AOP。

1月11日总结

在最近的开发中,一星期内遇到了两个类似的需求:返回组装好的部门树、返回组装好的地区信息树,最终都需要返回 List 集合对象给前端。 于是在经过需求分析和探索实践后,我对于这种基于 Stream 和 List 结构的父、子树形结构的操作有了新的认识,现在拿出来和大家作分享交流。 一般来说完成这样的需求大多数人会想到递归,但递归的方式弊端过于明显:方法多次自调用效率很低、数据量大容易导致堆栈溢出、随

Java就业学习 Day 1

Java开发能力: 系统学习Java开发的第一天,终于知道Java和Java SE的区别是什么了。。 过完了Java初阶的课程,从Java历史、数据类型到二位数组。Java中阶课程面向对象这一节还没看完,有几点影响还挺深的,大一刚学Java的时候确实没怎么明白。 ①方法的重载:之前不知道方法重载有什么用,现在看来就是对象进行一个初始化的作用。 ②面向对象为什么叫面向对象。课程里开门装大象的例子还挺

python网站创建016:BootStrap

什么是BootStrap?:是一个别人写好的javascript和css的代码,如果在开发项目的时候省点事,就可以在它的基础上来修改使用 使用教程:https://www.runoob.com/bootstrap/bootstrap-tutorial.html 下载:https://getbootstrap.net/       下载之后解压,解压之后可以随意打开

Java控制流

Java流程控制 Scanner对象 基本语法: ​ 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。 1、next() 一定要读取到有效字符后才可以结束输入 对输入有效字符之前遇到的空白,next()方法会自动将其去掉 只有输入有效字符后才将其后面输入的空白作为分隔符

HashMap源码随笔

源码第一块: 概述: Map 接口的基于哈希表的实现。此实现提供所有可选的映射操作,并允许 null 值和 null 键。(HashMap 类大致等同于 Hashtable,只不过它是不同步的,并且允许 null。此类不保证地图的顺序;特别是,它不保证订单会随着时间的推移保持不变。此实现为基本操作(get 和 put)提供恒定时间性能,假设哈希函数将元素正确地分散在存储桶中。对集合视图进行迭代所需

为什么很多公司 SpringBoot 项目禁止使用 Tomcat

为什么很多公司 SpringBoot 项目禁止使用 Tomcat 学习改变命运,技术铸就辉煌。 大家好,我是銘,全栈开发程序员。 前言 在 SpringBoot 框架中,我们使用最多的是 Tomcat,这是 SpringBoot 默认的容器技术,而且是内嵌式的 Tomcat。同时,SpringBoot 也支持 Undertow 容器,我们可以很方便的用 Undertow 替换Tomcat,而

JMeter 源码解读 - HashTree

背景: 在 JMeter 中,HashTree 是一种用于组织和管理测试计划元素的数据结构。它是一个基于 LinkedHashMap 的特殊实现,提供了一种层次结构的方式来存储和表示测试计划的各个组件。 HashTree 的特点如下: 层次结构:HashTree 使用树状结构来组织测试计划元素。每个节点都可以包含子节点,这样就形成了一个层次结构。树的根节点是测试计划本身,而叶子节点是具体的测试

js中逻辑运算符||

JS中的||符号: 1、运算规则: (1)、只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。 (2)、只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。 比如:var a= b || c 这相当于一个赋值语句,如果b的值被转换为false,那么就把c的值赋给a,否在就把b的值赋给a 2、javascript

jdk8

安装JDK8 百度搜索jdk8,找到现在地址 同意协议 下载电脑对应版本 双击安装jdk 记住安装路径 配置电脑环境 我的电脑-->右键-->属性 环境变量-->java_HOME 配置path变量 测试jdk是否安装成功 打开cmd java-version 卸载JDK8 删除Java 的安装目录 删除Java_HOME 删除pa

Chrome 浏览器插件 Manifest.json V3 中权限(Permissions)字段解析

一、权限(Permissions) 再使用拓展程序的 API 时,大多数的时候,需要在 manifest.json 文件中声明 permissions 字段。 一、权限类型 在 V3 版本中可以声明以下类别的权限: permissions: 包含下面 permissions 权限列表中的项; optional_permissions: 由用户在运行时(而不是在安装时)授予; cont

<<  <  630  631  632  633  634  635  636  637  638  639  640  >  >>