- 博客(33)
- 收藏
- 关注
原创 ShardingSphere
1 ShardingSphere 开源的分布式关系型数据库中间件解决方案组成的生态圈,由ShardingJDBC、ShardingProxy、ShardingSidecar这三款相互独立却能混合部署配合使用的产品组成,它们都能提供标准化的数据分片、分布式事务和数据库治理的功能 ShardingJDBC:轻量级Java框架,在JDBC层以jar包形式提供额外服务(主要为数据分片和读写分离),无须额外部署,简化了数据分库分表后的数据操作。它使客户端直连数据库,兼容JDBC和各种ORM框架,支持任
2022-05-15 21:25:09
328
原创 Docker
1 概述 Go语言编写的开源的应用容器引擎,是容器技术的代表;可移植;采用沙箱机制-线程资源隔离;将应用及依赖打包到该容器中,便可发布到任何Linux服务器上,可实现虚拟化 口号1:build创建,ship运输,run运行;口号2:build once,run anywhere创建一次,到处运行 类比解释: Docker容器为口袋;放入文件并系封口袋(只读)的过程为创建镜像build 仓库docker hub,用于存放各式各样的口袋;口袋的复制并获取自用,
2022-05-03 10:21:36
157
原创 设计模式-Java版
声明:本内容主要根据刘韬著《秒懂设计模式》一书,外加网上一些参考文档综合整理记录而来,仅用于个人学习,不用做任何商业用途。0 原则 面向对象软件设计遵循的5大原则:S.O.L.I.D 单一职责:类的角色职责设计应该单一,方法完成的功能单一 开闭:对扩展开放,对修改关闭,即不要修改已有代码,而要去编写新的代码;修改的代价是巨大的 里氏替换:里氏是提出该原则的作者的姓,替换指父类与子类的可替换性,即在任何父类出现的地方,子类也一定可以出现并替换,继承与多态为此而生
2022-04-06 18:02:54
765
原创 Activiti
1 概念 工作流Workflow: 工作流系统:对系统的业务流程进行自动化管理 工作流引擎:如Activiti,用专门的建模语言如BPMN进行定义业务流程,预先定义好流程然后执行 BPM:业务流程管理Business Process Management;一种规范化的构造端到端的业务流程,提高组织业务效率;BPMN:业务流程模型和符号(图形) 2 应用2.1 过程 部署Activiti:引入相关依赖 流程定义:使用Activiti流程建模工具定义业
2021-11-21 20:58:24
334
原创 Bug及解决记录
1、SpingBoot启动报错:Correct the classpath of your application so that it contains a single, compatible version of…;这是由于依赖的jar的版本重复,需要pom中去掉一个;这是在整合Swagger2的2.10.5的版本的时候发现的问题,报错是spring-core依赖重复,一直搞不清到底哪个jar包重复了;因此最可能的情况是该sring的版本包含了Swagger,当把pom中的Swagger依赖去掉后,启
2021-10-08 17:48:01
167
原创 数据结构基础
1 树1.1 二叉树 n个有限元素的集合,该集为空合或者由一个称为根root的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树 AVL:平衡二叉树,通过旋转来保持平衡;旋转是对整棵树的操作 1.2B树 Balence Tree;多路平衡查找树,即子节点可以>=2的平衡树: 特点: 每个节点包含了索引值和具体data;任何一个关键字只会出现在一个结点中 搜索有可能在非叶子结点结束,最好情况O(1);在关键字全集内做一次查找的性能逼.
2021-08-22 23:25:39
95
原创 Java基础-6-函数式接口与Lambda表达式
1 网络编程 计算机网络:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 IP互联网协议,TCP传输控制协议 InetAddress接口:IP地址类,派生Inet4/6Address UDP传输: UDP(封装数据而成数据包,包括目的地址,端口,数据信息)传输 DatagramSocket:封装了udp传输协议的socket对象;DatagramPacket:对数据信息的包装 UDP的发送端:指明本端端口号,如果未..
2021-07-31 13:45:06
174
原创 Java基础-4-IO流与文件处理,序列化与反射
1 IO流1.1 各种流抽象基类:InputStream / OutputStream / Reader / Writer 流数据有序;写入 / 读取后自动后移;各种流的底层都是基于字节流的操作,自动寻找对应码表 按数据流向分: 输入流:数据从硬盘(读)到JVM内存 / 程序,实现Closeable 输出流:实现Closeable, Flushable强制刷出 按处理的数据单位分: 字节流:8位;Stream结尾的流 字符流:16位;方便文字的解析,字节流和编码表封装成字符流;
2021-07-31 13:32:07
206
原创 进程与线程
进程与线程1 关系程序:是指令和数据的有序集合进程:是程序一次执行过程,包含多个线程线程:CPU调度和执行的控制单元;每个线程在栈区中都有自己的执行空间,方法区和变量;共享进程资源;抢占式执行;一个线程可创建和撤销另一线程JUC:java.util.current包,提供了并发编程常用的工具类2 线程2.1 流程Thread;JVM启动时,main()是主线程入口,负责程序执行;垃圾回收器负责GC线程用户线程:JVM在没有用户线程运行时关闭程序和退出,如主线程守护线程:服
2021-07-21 07:09:04
128
原创 Excel
1 POI Apache提供API给java对MicrosoftOffice格式文档的读和写的功能 HSSF: Excel03版,最大行数65536;一次性从内存写入文档,效率快 文件名后缀以.xls XSSF: Excel OOXML07版,无限制,能写入更多数据,效率慢;可能抛出内存溢出问题 文件名后缀.xlsx 优化:新的实现类SXSSF:效率快,占用内存少;会产生用来保存临时数据的临时文件,需要清理即
2021-03-24 13:58:53
1407
原创 Redis
1 NoSQL 传统关系型数据库存储大文件、图片、视屏等数据的效率低下 Not only SQL;非关系型数据库 方便扩展:数据之间没有关系 大数据量时高性能 支持多样数据类型 没有固定查询语言 四大分类:键值对存储(Redis),文档型存储(MongoDB),列存储(HBase),图关系存储 2 Redis Remote Dictionary Server;开源的使用ANSI C语言编写、遵守B.
2021-03-18 01:22:08
191
原创 微服务架构与SpringCloud
0 微服务 一种架构模式/风格,提倡将单一的应用程序划分为一组小的服务,服务运行在自己的进程,之间相互协作完成最终服务 解决微服务四大问题: 服务很多,客户端怎么访问 服务之间如何通信 服务的管理 服务出现重大故障 解决方案: SpringCloud + NetFlix:一站式解决方案;针对问题的分别解决方式为 API网关,zuul组件 feign,HttpClient通信
2021-03-18 01:21:08
246
2
原创 安全与权限与认证
1 JWT1.1 基础 JSON Web Token:json数据形式的令牌,用于以json对象安全的传输信息,此信息是可验证和信任的,是数字签名的;可以使用HAMC SHA256或RSA算法或ECDSA的公钥和私钥对进行签名和数据加密等 安全验证(授权):后端允许有令牌的前端才能访问 传统Session认证:用户登录时会话中保存包括sessionId的用户信息cookie,request.getSession().setAttribute("userName", userNa
2021-03-04 21:11:46
243
1
原创 Swagger
1. 前后端分离 后端:后端控制器,服务层,数据层 前端:前端控制器,视图层 前端控制器在js文件中伪造json数据,即使没有后端,也能跑起项目 前后端交互:API 优点:各自独立,松耦合;可以部署不同服务器上 缺点:前后端联调无法及时协商 解决方案:指定schema(计划提纲),实时更新API,降低集成风险;后端及时更新变动和消息;前端postman请求测试 2. Swagger2.1 基本使用 RestFul A.
2021-03-04 21:08:37
158
1
原创 SpringBoot
1 SpringBoot1.1 关于 约定大于配置:简化M-V-C开发模式;使编码、配置、部署、监控变得简单 为基于Spring的开发提供更快的体验,创建可以独立运行的Spring应用 直接内嵌Servlet容器:Tomcat或Jetty服务器,不需要打包成war文件,可以以jar包形式独立运行:java -jar xxx.jar 提供基础pom.xml文件来简化Maven配置:starters中自动依赖与版本控制;尽可能的根据项目依赖来自动配置Sprin
2021-03-04 20:55:27
286
1
原创 MySQL
0 数据库 DB:数据库,用于存储数据 DBMS:数据库管理系统,如MySQL,用于管理DB SQL:结构化查询语言,用于与DBMS通信 数据库三范式-设计依据 1NF 表必有主键,列遵从原子性即列不可再分 2NF 先满足1NF,然后其他列必完全依赖主键而不能部分依赖 如存在多个列做一个联合主键的表,列依赖主键中的某个列,此时就应该拆分为多个表 3NF 先满足2NF,然后依赖是直接依赖而不能存在传递依赖,如有一个外键存在了,该表不能再有...
2021-03-04 00:19:08
612
1
原创 Windows与Linux
1 Windows1.1 win+R 定时关机:shutdown -r -t + 时间(秒) services.msc:服务 explorer:资源管理器 calc:计算器 regedit:注册表 write:写字板 mplayer2:简易widnows media player mspaint:画图板 magnify:放大镜实用程序 mmc:控制台 devmgmt.msc:设备管理器 n
2021-03-03 22:31:34
225
1
原创 JSP,Servlet,JDBC
1 Servlet1.1 Servlet 以线程方式处理请求;cookie处理:二次访问时,浏览器会将cookie发送到服务器;侧重控制逻辑 Servlet = Java + HTML Servlet / ServletConfig接口 GenericServlet:实现上面两个接口的类;协议无关 HttpServlet:基于http协议实现类;编写的Servlet都继承自此类,标注请求URL 自定义类实现doGet/Post():如S
2021-03-03 22:04:48
303
1
原创 Java基础-5-JVM与异常
1 IO流1.1 各种流 抽象基类:InputStream / OutputStream / Reader / Writer 流数据有序;写入 / 读取后自动后移;各种流的底层都是基于字节流的操作,自动寻找对应码表 按数据流向分: 输入流:数据从硬盘(读)到JVM内存 / 程序,实现Closeable 输出流:实现Closeable, Flushable强制刷出 按处理的数据单位分: 字节流:8位;Stream结尾的流
2021-03-03 21:37:02
270
2
原创 java基础-3-泛型与集合
1 泛型 数据类型的参数化,帮助建立类型安全;供javac即编译使用,确保数据的安全性和免去强制类型转换;编译完毕则擦除泛型相关类型 2 集合 / 容器 存储引用数据类型(基本数据类型装箱);可存储不同类型的数据;打印时输出[..., ...],重写了toString() 2.1 Collection 接口;集合中元素用equals()比较,不用==严格判断 增: boolean add(object):注意当参数是另一个集合时,添加变成元素+1,即[本来的.
2021-03-03 21:05:16
314
1
原创 Spring
分层 ,轻量级开源框架,以反转控制(InverseofControl,IoC)和面向切面编程(AspectOrientedProgramming,AOP)为内核,提供了展现层SpringMVC、持久层SpringJDBC以及业务层事务管理等众多的企业级应用技术,整合第三方框架和类库1、IoC方便解耦,简化开发通过Spring提供的IoC容器,将对象之间的依赖关系交由Spring...............
2021-03-01 17:49:41
336
原创 Dubbo与Zookeeper
1、分布式系统建立在网络上的若干独立计算机软件系统的集合; RPC:远程过程调用;服务器之间通信,参数传递通过对象的序列化与反序列化;序列化机制效率和通信机制是RPC的重要参考;2、Dubbo 意义:面向接口代理的高性能RPC调用 智能的负载均衡:每个服务器有均衡的负载/工作量; 服务自动注入与注册:注册中心保存正常的服务,分发合适的服务; 运行期流量调度:主要为灰度发布,即一部分使用新服务,部分使用老服务,然后慢慢全部过度到新服务; 可视化的服务治理与运维; .
2021-03-01 15:22:58
527
原创 Java代码-3-字符串与数组
1、长字符串逆序,包含空格: import java.util.Scanner; public class TestString2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入字符串"); String inputString = scanner.nextLine();
2020-09-21 08:49:29
264
原创 Maven,SVN,Git,Web服务器
https://www.cnblogs.com/whgk/p/7112560.htmlhttps://juvenshun.iteye.com/blog/213959
2020-07-14 13:53:04
202
原创 IntelliJ IDEA与Eclipse
https://www.cnblogs.com/yjd_hycf_space/p/7483921.htmlweb部署http://www.cnblogs.com/deng-cc/p/6416332.htmlbug调试http://www.cnblogs.com/chiangchou/https://mp.weixin.qq.com/s?__biz=MzA...
2020-07-14 13:52:34
164
原创 Mybatis,MybatisPlus
支持定制化SQL、存储过程和高级映射的数据持久层框架(消除JDBC代码);简单灵活易学;SQL编程复杂,依赖数据库(移植性差),功能欠缺,二级缓存机制不佳;三层功能架构: 生命周期 源码 加载配置文件 InputStream configFile = new FileInputStream(filePath); SqlSessionFactoryB...
2020-02-16 17:52:39
243
原创 Java代码-2
目录长字符串逆序,包含空格Guava:打印三角形:Arrays:双色球系统:注解:二叉排序树:线程池:File类:IOStream:List集合:Map集合:动态代理:反射:正则表达式:String:多线程Thread:多线程之生产者与消费者:观察者设计模式:DOM解析X...
2019-05-14 14:28:42
383
原创 java基础-2-数组,字符串与面向对象
IO流输入流:数据从硬盘(读)到JVM内存/程序,实现Closeable;输出流,实现Closeable,Flushableserver端输出流写write > 通过网络 < client端输入流读read字节流(8位)和字符流(16位;方便文字的解析,字节流和编码表封装成字符流)角色划分:节点流和处理流底层物理存储节点直接关联底层设备(如构造器参数直接是文件/路......
2019-04-03 11:32:38
347
原创 Java代码-1-排序算法
排序排序后即可找出最大、最小、中位数、第N大/小的数1、交换元素排序:冒泡排序,快速排序(综合效率高)冒泡的算法思想:相邻元素比较,看是否满足大小关系,不满足则交换;一次冒泡,至少一个元素移动到首/尾;n个元素,重复n次;算法优化:某次冒泡过程,没有数据交换,则完全排序,不用执行后续冒泡操作;第一趟:a[0]与a[1]比较,逆序则交换;然后a[1]和a[2]比较,逆序则交换...
2019-03-22 15:22:00
225
原创 JavsScript,jQuery与Ajax(未整理)
JavsScript,jQuery与Ajax引入js:<script src=”….js” type=”text/javascript”> 引入css样式:<link rel="stylesheet" href="….css" type=””> <base href=”<%=basePath%>”> href :指向网络资源所在位置,建立和...
2019-03-22 15:14:35
911
原创 SpringMVC
Mybatis支持定制化SQL、存储过程和高级映射的数据持久层框架(消除JDBC代码);简单灵活易学;SQL编程复杂,依赖数据库(移植性差),功能欠缺,二级缓存机制不佳;三层功能架构: 生命周期 源码 加载配置文件 InputStream configFile = new FileInputStream(filePath); SqlSessionFac...
2019-03-22 13:37:46
283
原创 java基础-1-数据类型,编码,运算与流程控制
-:2个保留字(goto,const);3个直接量(true,false,null)-:标示符:字母、中文、下划线_或者$开头,符号只可能有$和_-:单行注释、块注释、文档注释(提取信息如作者@author,参数@param;javadoc xxx.java命令生成此类的文档)-:包装类,使其具有面向对象特征,提供属性和方法,丰富操作,默认值null基本数据类型与包装类 表......
2019-03-17 17:33:22
257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人