Java
2020-6-9-jpa
基本概念、hibernate、SpringDataJpa 基本概念 1JPA JPA (Java Persistence API)Java持久化API。是一套Sun公司Java官方制定的ORM 方案,是规范,是标准 2ORM ORM(Object Relational Mapping)对象关系映射。在操作数据库之前,先把数据表与实体类关联起来。然后通过实体类的对象操作(增删改查)数据库表 3hib
2020-6-13-SpringCloud
理论知识、Eureka注册中心、Ribbon负载均衡、Hystrix熔断器、Feign服务调用、Zuul网关 理论知识 1集中式架构存在问题 代码耦合,开发维护昆仑 无法对不同模块进行针对性优化 无法水平扩展 容错率低,并发能力查 2微服务 一种架构模式,即一种架构方格,提倡将单一应用程序划分成一组小的服务 1)特点 单一职责:每个服务队医唯一的业务 微:服务拆分颗粒小 面向服务:每个服务都要对外
2020-6-22-MySQL高级
数据库引擎对比、索引、SQL语句的性能分析、优化、其他 数据库引擎对比 MyISAM InnoDB 外键 不支持 支持 事务 不支持 支持 行表锁 表锁 行锁 缓存 只缓存索引 索引、数据都缓存 表空间 小 大 关注点 性能 事务 索引 1索引分类 单值索引:一个索引只包含单个列 复合索引:一个索引包含多个列 唯一索引:索引值唯一,单允许有空值 2索引相
2020-6-17-elementui
安裝、Button组件、文字链接组件、Layout栅格布局、Container容器、Radio组件、CheckBox组件、Input组件、Select选择器、Switch组件、时间日期组件、Upload组件、Form表单、消息提示、表格 安裝 1安装到项目中 在初始化好Vue项目后执行以下命令 也可以通过图形界面进行安装 2导入依赖并注入到Vue中 打开main.js文件,写入以下 Butt
2020-7-2-Mybatis-Plus
依赖、项目内配置、主键生成策略、自动填充时间、乐观锁实现方式、一般查询、分页查询、删除、执行 SQL 分析打印、条件构造器、代码生成器 依赖 项目内配置 1配置数据库 2定义实体类 3定义接口 4入口类配置扫描 5配置xml类型的mapper配置文件 如果需要使用xml类型的mapper配置文件,需要将mapper的xml文件放置在resource下的任意命名的文件夹中,这里命名为xml
ruoyi中 mybatis 一对多以及pageHelper分页问题
问题 mybatis 如何进行一对多映射 mybatis 分页时无法获取的totalCount数据不对,总等于pageSize 需要返回的结果 当前接口的需求是,返回订单list,并且每个item中的有订单详单,并且需要实现分页查询。 当前订单需要统计所有详单中的订单产品总数,以及每一个所有产品的累计金额。 实现 Service 在Service中,调用mapper方法,并统计订单总金额以及
2020-8-5-tomcat优化
tomcat安装与配置、优化内容、JMeter、JVM字节码 tomcat安装与配置 官网下载后上传到服务器 1)修改用户 2)修改配置文件 3)启动 回到包内的bin目录下 优化内容 1AJP(Appache JServer Protocol) WEB服务器和Servlet容器通过TCP连接来交互;为了节省SOCKET创建的昂贵代价,WEB服务器会尝试维护一个永久TCP连接到ser
2020-7-28-并发编程
概述、生产者消费者模型、锁对象、集合的线程安全问题、Callable的使用、计数器、队列、线程池、ForkJoin、异步回调、单例模式、CAS、锁 概述 1多线程下变量访问存在问题 变量访问不可见性 2JMM特点 所有共享变量存于主内存中 每个线程有自己的工作内存 线程对变量的操作都必须在工作内存中完成 不同线程之间不可以直接访问对方的工作内存 3不可见性的解决方案 用synchronized加锁
2020-8-6-JVM虚拟机
运行时数据区域、溢出、垃圾收集、问题解决 运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域 1)程序计数器 (1)一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器 (2)字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成 (3)因
JAVA 不校验HTTPS服务器证书
转载自:https://www.jianshu.com/p/ea07a32ec85d 本章是HTTPS那些事儿的第三篇文章,其他相关文章请参见:前言 本篇主要描述JAVA经常遇到的场景:不校验服务器CA证书。主要包含以下内容: HttpsURLConnection不校验服务器CA证书 Spring RestTemplate不校验服务器CA证书 * 注意 本文纯手工打造,转载请注明出处。 Ht
2020-8-12-Spring-Security
资源访问控制方式、认证流程、授权流程、快速开始、授权案例、自定义登陆登出页面、会话管理、基于方法的授权 资源访问控制方式 基于角色的访问控制 Role-Based Access Control 基于资源的访问控制(常用) Resource-Based Access Control 认证流程 UsernamePasswordAuthenticationFilter 用户提交的用户名密码进行封装成A
2020-9-24-分布式锁
概述、基本实现方式、基于redis实现探索、开源分布式锁 概述 在分布式应用中,如果存在临界资源,如果不使用锁会导致数据一致性的问题。对于 任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项 。 以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都
2020-9-19-POI读写excel
依赖、读取文件、创建并写入文件 依赖 读取文件 注意 java将表格读取后,会自动将表格内的数据转换成对应的类型。如11位以内的数字会别转换城数字类型,超过11位的会转换成字符串类型。手机号11位,会被识别城数字,应该在读取前通过cell.setCellType (CellType.STRING)将单元格设置位字符串类型,再进行读取。 创建并写入文件
2020-9-27-Jwt
概述、使用 概述 官方文档是这样解释的:JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以在各方之间作为JSON对象安全地传输信息。此信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。 1使用场景 授权:这是最常见的使用场景,解决单点登录问题。 信息加密:将传输的信息进
2020-9-25-Redis
概述、数据类型、事务、乐观锁、SpringBoot中redis使用、redis实现数据自动缓存、springboot中redis事务 概述 1能做什么? 内存存储,持久化 效率高,可用于高速缓存 发布订阅 地图信息分析 计数器 2特性 (1)多样数据类型 (2)持久化 (3)集群 (4)事务 3安装 1)下载安装包 2)执行命令 3)修改配置文件 4操作 切换数据库 查看所有键 清空数据库
2021-2-6-定时任务
快速开始、核心概念、Job和JobDetail、上下文、有状态Job和无状态Job、Trigger、整合到springboot中、监听器、Quartz外的其他定时器、完整案例 快速开始 1)定义一个JOB 2)定义任务 核心概念 1)任务Job 每个job必须实现org.quarts.job接口,且需实现接口定义的execute方法 2)触发器Trigger 出发执行job,有两种,分别为S
2021-1-21-关于日志
jdk内置日志工具、Commons Logging、Log4j、SLF4J和Logback jdk内置日志工具 Logging系统在JVM启动时读取配置文件并完成初始化,一旦开始运行main()方法,就无法修改配置; 配置不太方便,需要在JVM启动时传递参数-Djava.util.logging.config.file=<filename>。 因此,Java标准库内置的Logging
2021-3-10-JAVA通用工具类封装
发送邮件功能、JSON解析、压缩包处理 发送邮件功能 1)依赖 2)定义发送对象 3)定义工具类 JSON解析 1)依赖 2)工具类 压缩包处理 1)依赖 2)工具类
JUC源码解析: 深入解读 synchronize锁!
JUC源码解析: 深入解读 synchronize锁! synchronize 是常用的锁,我们知道它可是用在方法上、代码块上,用法简单,但深入起来可要大费周章,下面跟着我深入一下吧。 synchronize 影响线程状态 在 Thread.Sate.class 源码中, 线程被定义为六种状态,(也可以更细分为七种, 详见我的另一篇博文 JUC源码讲解:线程状态转换) 线程进入 sync 时, 会
2021-3-21-Tomcat内置启动
对于一些老旧项目,不易改成jar包运行,但又要求禁用tomcat外置启动。此时,需要写一个项目调用tomcat相关的jar包,实现tomcat的功能。 1)maven配置 2)主类 3)配置文件 4)启动 将jar包导出放置到老项目中,找到TomcatStart的字节码文件的目录,通过-classpath加载到虚拟机运行,可通过脚本完成 (1)启动 (2)停止
2021-6-8-zookeeper
概述、Zookeeper设计目的、zookeepr角色介绍、工作原理、应用场景、安装、命令、JAVA操作zookeeper 概述 它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说zookeeper=文件系统+监听通知机制。 1)文件系统 Zooke
Java 基础IO 输入输出流3
1.了解IO 一个输入流用于从源读取数据。并且,输出流用于将数据写入目标。 System.out是一种输出流。--向显示器控制台输出- 字节流 Java InputStream类 Java OutputStream类 字符流 Java Reader类 Java Writer类 2.InputStream 输入 文件读取 -字节读取-序列化读取 3.OutputStream 输出 输出-
2022-3-29-shiro知识点整理
四个主要功能、核心概念、简单开始、自定义realm之认证、权限字符串、自定义realm之授权、shiro中授权方式、springboot整合shiro 四个主要的功能 Authentication:身份认证/登录,验证用户是不是拥有相应的身份; Authorization:授权,即权限验证,判断某个已经认证过的用户是否拥有某些权限访问某些资源,一般授权会有角色授权和权限授权; SessionMan
2022-11-22-ruby基础
目录服务、目录书概念、LDAP、docker-compose方式安装、springboot中访问 目录服务 1)目录服务是一个特殊的数据库.用来保存描述性的、基于属性的详细信息,支持过滤功能。 2)是动态的,灵活的,易扩展的。 如:人员组织管理,电话箱,地址簿。 目录树概念 1)目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。 2)条目:每个条目就是
2022-9-22-LDAP总结
目录服务、目录书概念、LDAP、docker-compose方式安装、springboot中访问 目录服务 1)目录服务是一个特殊的数据库.用来保存描述性的、基于属性的详细信息,支持过滤功能。 2)是动态的,灵活的,易扩展的。 如:人员组织管理,电话箱,地址簿。 目录树概念 1)目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。 2)条目:每个条目就是
2023-5-3-skywalking基本使用
服务探针配置、服务安装 服务配置探针 无侵入配置 1.下载agent并解压 2.vm参数中修改 注意:每个服务和agent一一对应,不能多个服务共用agent 3.配置日志服务 选配,配置后会将应用程序的日志通过grpc发送给OAP服务 1)依赖 2)修改logback.xml 安装服务 1.下载apache-skywalking-apm-bin安装包 2.配置服务的数据库 修改apac
2023-8-10-canal使用
工作原理、mysql开启二进制日志、启动服务端、启动客户端 工作原理 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议 MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal ) canal 解析 binary log 对象(原始为 byte 流)