![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 71
枫中的小草
这个作者很懒,什么都没留下…
展开
-
软件架构与需求分析
软件架构与需求分析原创 2022-09-01 14:30:03 · 1298 阅读 · 0 评论 -
Linux
linux项目部署原创 2022-08-10 17:02:12 · 420 阅读 · 0 评论 -
SpringCould微服务
springcould原创 2022-07-22 15:37:19 · 328 阅读 · 0 评论 -
FastDFS分布式文件系统
高并发处理方式 :1. 文件服务器 : 专门做一个文件服务器,因为对于图片这些资源存储在web服务器上是很消耗资源的,而将文件部署在专门的服务器上,就算服务器发生了异常只要我们的总服务器是正常运行的,那么最多也就是这个文件请求不到2. HTML页面静态化 : 可以缓解服务器的压力,适用于经常访问且内容不经常改变的页面3. 负载均衡 : 负载均衡可以解决高负荷和大量并发请求的问题,也就是将大量请求分摊给多个服务器共同完成任务4. ......原创 2022-03-31 19:55:44 · 1029 阅读 · 0 评论 -
Fegin远程调用
我们在使用默认fegin的时候它的底层使用的是RestTemplate,而RestTemplate底层又使用到了HttpClient,他默认使用的是java自带的HttpUrlConnection我们可以使用OkHttpfegin默认调用的是HttpUrlConnection每次都只会创建一个链接对象,效率是非常低的,而OkHttp可以使用连接池我们只需要在各个微服务中开启各个微服务的配置即可feign: client: config: default: # def原创 2022-03-31 10:10:44 · 353 阅读 · 0 评论 -
钱包地址生成
//自行定义方法//BC库解密出现no such provider错误 if (Security.getProvider("BC") == null) { Security.addProvider(new BouncyCastleProvider()); } MessageDigest sha = null; byte[] s1 = new byte[0]; MessageDigest rmd = .原创 2022-01-08 10:57:36 · 2020 阅读 · 0 评论 -
SpringCloud
SpringCloud前置一 :官网地址:Spring Cloud。互联网的服务架构分为:单体架构 将业务的所有功能集中在一个项目中开发,部署为一个节点叫单体架构 优点: 架构简单,部署成本低 缺点: 耦合度高 分布式架构 根据业务功能对系统进行拆分,每个业务模块称为一个服务 优点: 降低服务耦合度,有利于服务升级拓展 缺点: 维护成本增加,服务间调度复杂度增加 SOA架构 微服务架构 微服务是系统架构的一种设计风格,将原本独立的服务拆分成多个小型服务,每个服原创 2021-11-24 20:51:00 · 687 阅读 · 0 评论 -
SQL中的表达式:
SQL中的表达式:gt --- >(大于) eq --- =(等于) ge --- >=(大于等于) ne --- <>(小于大于,不等于)算术运算符 + 、 - 、 * 、 / (或 div )和 % (或 mod )关系运算符 == (或 eq )、 != (或 ne )、 < (或 lt )、 > (或 gt )、 <= (或 le )和 >= (或 ge )逻辑运算符 && (或 and )、 || (或 o...原创 2021-11-06 15:05:06 · 2879 阅读 · 0 评论 -
FastDFS文件系统和缓存
FastDFS分析: 是分布式文件系统,linux(本身就是一个文件系统)操作系统上的文件系统,只需要调用api即可,因为linux不能很好有效的管理文件,使用FastDFS等同于操作linux,FastDFS可以很好的对文件,视频等进行管理FastDFS 架构工作原理:Tracker server (调度服务器)和 Storage server(存储服务器)。客户端(发起请求)请求 Tracker server 进行文件上传、下载,通过 Tracker serv...原创 2021-11-02 15:31:18 · 996 阅读 · 1 评论 -
随机数生成
public static void main(String[] args) { //随机生成的数字 int low = 90;//最小值 int high = 100;//最大值 for (int i = 0; i < 1; i++) { // 1 表示随机生成的数有一个 int n = ((int)(Math.random()*(high-low)))+low; System.out.原创 2021-10-28 20:30:57 · 43 阅读 · 0 评论 -
拦截器&线程变量副本(ThreadLocal)
拦截器是spring提供的一种技术,他的功能类似与过滤器Filter, 他会在进入控制层Controller之前,离开Controller之后以及渲染完毕之后进行拦截拦截器对比过滤器:二者规范不同: filter是在规范中定义,用于servlet容器中.拦截器是spring框架提供的,用于spring容器内 使用范围不同: filter是servlet规定的,只能用于web工程中.拦截器没有限制拦截器使用步骤:自定义一个类实现HandlerInterceptor接口 实现Handler原创 2021-10-26 15:59:07 · 578 阅读 · 0 评论 -
自动生成代码
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- mysql 驱动--> &l.原创 2021-10-24 08:17:07 · 274 阅读 · 0 评论 -
Dubbo的配置文件分析
provider服务提供方:application.yml :#tomcat 的端口server: address: 8888#spring配置连接spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/itcast_dubbo?useUnicode=true&characterEncoding=utf8 userna...原创 2021-10-20 17:16:53 · 333 阅读 · 0 评论 -
Zookeeper
Zookeeper:管理分布式环境下多种多样的服务Apache ZooKeeper的系统为分布式协调是构建分布式应用的高性能服务。zooKeeper本质上是一个分布式的小文件存储系统.提供基于类似于文件系统的目录树方式的数据存储,可以对树中的节点进行有效的管理.可以维护和监控存储的数据的状态变化.通过对这些数据状态的变化从而达到基于数据集群管理适用于存储和协同相关的关键数据,不使用与大数据量存储集中式系统:整个项目就是一个独立的应用,整个应用就是整个项目,所有的东西都在一个应用里面,原创 2021-10-19 15:23:45 · 142 阅读 · 0 评论 -
Docker简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何的Linux或Windows 上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何影响。(1)上手快。 用户只需要几分钟,就可以把自己的程序“Docker化”。Docker依赖于“写时复制”(copy-on-write)模型,使修改应用程序也非常迅速,可以说达到“随心所致,代码即改”的境界。随后,就可以创建容器来运行应用程序了。大多数Docker容器只需要不到1秒中即可启动。由原创 2021-10-19 11:27:00 · 145 阅读 · 0 评论 -
SpringBoot
目录SpringBoot特性:SpringBoot的配置文件:一. application.yml:获取配置文件中的值:配置文件切换环境:SpringBoot特性:创建独立的Spring应用程序 直接"入门"依赖(起步依赖),以简化构建配置 尽可能自动配置Spring和第三方库 提供可以用于生产的功能,例如:指标,运行状况检查和外部化配置 完全没有代码生产,也不需要XML配置SpringBoot解决的问题:ssm存在问题:配置文件繁琐,依赖非常容...原创 2021-10-15 18:08:48 · 100 阅读 · 0 评论 -
SpringSecurity(认证和授权)&权限控制
认证和授权: 用户登录系统---认证: 系统提供的用于识别用户身份的功能,通常提供用户名和密码进行登录,其实就是在进行认证 用户登录后拥有不同的权限操作---授权: 用户认证成功后需要为用户授权,就是指定当前用户能够操作那些功能权限模块数据模型:要实现最终的权限控制,需要有一套表结构支撑:用户表t_user、权限表t_permission、角色表...原创 2021-10-14 20:51:13 · 1281 阅读 · 0 评论 -
简单案例分析(1)和程序报错处理
目录软件开发经历的阶段:简单案例的分析思路:快速定位前后端的报错问题:软件开发经历的阶段: 整个过程是顺序展开的,所有通常称为瀑布模型 需求分析: 具体需要实现那些需求? 需求规格说明书 个人理解:也就是确定项目需要达到什么样的目的(效果),这个效果能否实现?(可行性研究与计划) 开发阶段: 分析:达到这个目的(效果)需要实现什么样的功能(需求分析) 设计:实现这些功能需要用到那些资料(数据库、页面模型、整个架构的设计文档、接口设计文档等...原创 2021-10-12 16:39:18 · 205 阅读 · 0 评论 -
SpringMVC一
java语言基本是开发B/S架构(分为三层架构)的程序 三层架构: 表现层: web层,用来和客户端进行交互数据的,一般采用MVC设计模式 业务层: 处理具体的业务逻辑 持久层: 操作数据库 MVC: 模型视图控制器 Model: 数据模型, javaBean的类,进行数据封装 View:...原创 2021-10-07 21:00:11 · 51 阅读 · 0 评论 -
IOC_DI_AOP_事物管理(动态代理)
目录纯注解开发IOC和DI:AOP:Xml声明事物控制:纯注解开发IOC和DI:注解简介:@Configuration 被此注解标记的类,声明是核心配置类 等同于applicationContext.xml@ComponentScan 用在配置类上,开启注解扫描。使用basePackage属性指定扫描的包@PropertySource 用在配置类上,加载properties文件。使用value属性指定properties文件路径...原创 2021-09-28 16:36:23 · 182 阅读 · 0 评论 -
Spring的IoC控制反转和DI注入
目录IOC控制反转:依赖注入DI:三种常见的注入方式:IOC控制反转: IOC是Spring的核心之一,作用就是为了解耦,降低程序,代码之间的耦合度 eg: dao层中有UserDao接口,dao.impl下有UserDaoImpl的实例对象(ioc方式) service层有UserService接口,service.impl下有UserServiceImpl实例对象(ioc方式) 创建Spring的核心...原创 2021-09-24 20:42:02 · 109 阅读 · 0 评论 -
Mvaen框架& #{}与${}的区别【面试】
Mvaen框架#{}与${}的区别【面试】#{} 可以防止sql注入会对sql语句进行预编译|解析,传递什么参数进来,仅仅是顶替占位#{}而已一般使用的都是这个#{}#{} 背后会自动的拼接上 ' '${}不能防止sql注入不会对sql语句进行预先编译,传递什么参数进来,不会仅仅认为这数据,会和sql语句做拼接之后再解...原创 2021-09-23 21:40:14 · 90 阅读 · 0 评论 -
SpringMVC框架
思路: 在项目部署的时候,就马上启动扫描的工作了。 a. 把扫描的工作提前放到servlet的init方法去做: init --- service - destroy b. 让这个init方法调用的时机再提前一些,提前到项目发布的时候就执行。 c. 设置 <load-on-startup> 1</load-on-startup> DispatcherServlet注册的时候,不要使用注解来注册了,而是使用xml来注册, 在xml里面注册的时候,就可以配置s原创 2021-09-19 19:59:02 · 74 阅读 · 0 评论 -
MyBatis延迟加载&注解&缓存
目录延迟加载:延迟加载一(多)对一,Assoction实现:Collection 实现延迟加载 (一对多,多对多)MyBatis注解开发使用 Mybatis 注解实现基本CRUD使用Mybatis注解实现复杂关系映射开发复杂关系映射的注解说明 延迟加载: 就是需要用到数据的时才会进行加载,不需要用到数据时就不加载数据,延迟加载也叫懒加载 坏处: 因为只有当需要用到数据时才会进行数据库查询,这样在大批量数据查询时,因为查询工作...原创 2021-09-16 14:48:57 · 348 阅读 · 0 评论 -
日志的使用
目录1.目标2.步骤crud: 新增:parameterType:resultType:1.目标我们在使用MyBatis的时候, 其实MyBatis框架会打印一些必要的日志信息, 在开发阶段这些日志信息对我们分析问题,理解代码的执行是特别有帮助的; 包括项目上线之后,我们也可以收集项目的错误日志到文件里面去; 所以我们采用专门的日志系统来处理.2.步骤 导入坐标 拷贝日志配置文件到项目 <!--pom.xml--><!-- l.原创 2021-09-14 21:58:19 · 212 阅读 · 0 评论 -
Mybatis入门
分析 创建Maven工程(java), 添加mybatis的依赖坐标 创建pojo (javabean) 创建UserDao接口 创建UserDao映射文件 (xml配置文件) 创建MyBatis核心配置文件SqlMapConfig.xml (xml配置文件) 编写java代码测试 准备工作: 准备数据库 创建Mvaen工程(jar)导入坐标 创建实体类User 创建UserD...原创 2021-09-14 21:13:17 · 52 阅读 · 0 评论 -
Mybatis框架
目录框架:JDBC程序:MyBatis框架概述:总结:框架:什么是框架:框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。简而言之,框架是软件(系统)的半成品,框架封装了很多的细节,使开发者可以使用简单的方式实现功能,大大提高开发效率。一句话解释: 框架其实就是一套模板,或...原创 2021-09-14 18:14:58 · 64 阅读 · 0 评论 -
多线程Thread & 实现方式创建线程的优势
目录线程:线程的调度方式:多线程继承&实现:Thread类继承方式创建线程:实现方式创建线程:匿名内部类:实现Runnable接口比继承Therrad类的优势:线程: 是进程的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一条线程或多个线程 线程是进程的可执行单元,每个线程执行都会有独立的内存空间 Java中只支持单进程,多线程(只有多线程并发,没有多线程并行)多线程: 并行: ...原创 2021-09-12 19:39:26 · 136 阅读 · 0 评论 -
Map集合&比较器Comparator
目录Map集合:双列集合:Map的常用方法:Entry(K k)接口:TreeMap集合:比较器Comparator:Map集合:java.util.Map双列集合的顶层接口,用来存储具备映射关系对象的集合接口定义 特点: 主要是使用在双列集合,即:键值对类型的数据双列集合:以键值对的形式进行存储数据 特点: 1. 键唯一,值可以重复,如果键重复...原创 2021-09-12 15:33:03 · 786 阅读 · 0 评论 -
哈希表存储原理&Set集合
目录Set集合HashSet集合:LinkedHashSet集合:TreeSet集合:哈希表:哈希表存储原理:Set集合Set集合继承Collection接口,也是单列集合的重要分支特点: 1. 元素没有索引,元素唯一(不可重复)注意: 1. Set集合元素没有索引,只能使用迭代器或者增强for循环进行遍历元素 2. Set集合没有特殊的方法.都是使用Collection的方法 3. Set接...原创 2021-09-09 16:49:52 · 618 阅读 · 0 评论 -
List集合&Collection集合&可变参数
目录List集合:迭代器操作集合:Collection——是一个集合工具类,对集合进行操作默认规则排序:指定规则排序:可变参数:List集合:List接口继承自Collection接口,是单列集合的一个重要分支特点: 1.元素存取有序 2. 是一个带有索引的集合,通过索引可以精确的操作集合中的元素 3.元素可以有重复的常用方法: 1.add(int index, E element) : 将指...原创 2021-09-09 15:59:40 · 795 阅读 · 0 评论 -
泛型&泛型通配符
目录泛型:泛型的好处:泛型通配符:数据结构增强for循环:泛型: 可以在类,接口,方法中使用,就是一种未知的数据类型,在使用的时候确定其具体数据类型 表达式: <泛型变量> 泛型变量可以是任意字母,一般写E泛型的好处:将运行时期的ClassCastException,转移到了编译时期变成了编译失败 ,避免了类型转换的麻烦 1. 集合不使用泛型 可能会发生类型转换异常 , 避免类型转...原创 2021-09-09 15:28:36 · 245 阅读 · 0 评论 -
迭代器常见问题 & Iterator迭代器 & Collection集合
目录Collection集合:Iterator迭代器:迭代器常见问题:Collection集合: Collection是一个接口,只能通过子类创建对象Collection是所有单列集合的顶层父类,所有的单列集合都拥有collection方法常用放法:public boolean add(E e) : 把给定的对象添加到当前集合中 。 public void clear() :清空集合中所有的元素。 ...原创 2021-09-07 20:25:35 · 143 阅读 · 0 评论 -
包装类 & 基本类型 Scanner
目录包装类:基本类型:Scanner类:包装类: 概述: 为了更好的维护基本数据类型, java为基本类型创建了对应的引用类型,这些类称为包装类 装箱: 把基本类型转换为对应的包装类类型----->包装类的构造方法\valueof静态方法可以实现 拆箱: 把包装类类型转换为对应的基本类型----->包装类的xx类型Value()非静态方法实现 注: 自动装修和自动拆箱的时候一定要类型一一对应基本类型:...原创 2021-09-07 20:09:35 · 91 阅读 · 0 评论 -
多态&匿名内部类&权限修饰符
多态: 面向对象的三大特征之一 概念: 多态支队与同一行为,不同对象,具有不同表现形式,在程序中表示同一方法,不同的对象不同实现 一. 实现多态的前提: 1. 继承或者实现 2. 父类 引用指向子类对象,或者父接口引用指向实现对象 3. 方法的重写(没有重写方法的多态是没有意义的) 二.多态访问成员特点: 成员变量:编译...原创 2021-09-02 16:55:53 · 132 阅读 · 0 评论 -
java基础
目录面向对象协同开发:面向对象编程的目标创建对象创建:继承与实现面向对象java里面万物皆对象协同开发:1.社会大分工的出现,标志着人类进入文明是的,射虎越发达,分工就越细致2.程序员的分工:站在巨人的肩膀上开发3.不重复创造轮子,善于利用和改造轮子4.编程初学阶段:ctrl+c 和 ctrl+v也是代码的复用面向对象编程的目标1.让代码更容易被使用,被理解2.让代码更容易被维护,增加或者修改功能3.面向对象必须要深入理解三大概念(..原创 2021-09-02 12:01:12 · 67 阅读 · 0 评论