自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Scheduled SchedulerLock 任务调度 (防止多节点任务重复跑)

1.引入jar<dependency> <groupId>net.javacrumbs.shedlock</groupId> <artifactId>shedlock-spring</artifactId> <version>2.1.0</version></dependency><dependency> <groupId>net.javacrumbs..

2020-11-23 17:52:37 1815

原创 mybatis动态标签 复习笔记

1. if 标签 : test里面写条件<if test="name != null and name != ''"> and NAME = #{name}</if>2. foreach 标签:主要用于构建in条件,可在sql中对集合进行迭代。也常用到批量删除、添加等操作中。<foreach item="item" index="index" collection="list" open="(" separator="," close=")"

2020-05-15 13:59:30 164

原创 聚焦索引 与 非聚焦索引

1. 什么是数据库索引 索引,被称之为数据库的目录,可以让我们快速地找到对应的数据。索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引的本质就是空间换时间。2. 索引种类索引的实现通常采用B树或B+树,加快查询速度也消耗更多空间; 2.1. 唯一索引: 不允许任何两行具相同值 2.2. 主键索引 :唯一索引的一种 ...

2020-05-14 15:49:46 455 1

原创 在XML文件中 小于号 大于号 需要进行转义

在XML文件中 < > = 需要进行转义 如<![CDATA[<]]>SELECT t.REPORT_VERSION as version, ( SELECT count(1) FROM sys w WHERE t.DEADLINE <![CDATA[<]]> w.STAR ) as delaysCount FROM report t GROUP BY t.CODE.

2020-05-11 10:36:41 723

原创 LeetCode:非递归实现二叉树后序遍历

后序遍历二叉树:思路:借助栈public static void postOrderTraverse(TreeNode1 root) { Stack<TreeNode1> stack = new Stack<>(); TreeNode1 cur = null, pre = null; //栈中当前节点与栈中已出栈的上一个...

2020-03-08 17:43:44 170

原创 nginx 反向代理配置 及负载均衡 (不可拷贝)

一 概述反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客...

2020-03-08 17:42:49 114

原创 docker compose (学习笔记)

Compose 简介Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。Compose 安装LinuxLinux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github...

2020-03-08 17:42:24 117

原创 nginx 安装及启动 (笔记)

Nginx 安装系统平台:CentOS release 6.6 (Final) 64位。一、安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel二、首先要安装 PCREPCRE 作用是让 Nginx 支持 Rewrite 功能。1、下载 PCRE 安装包,下...

2020-03-01 21:02:22 255

原创 负载均衡 三种方式 及高可用方案

软负载:nginx 负载均衡 (高可用:keepalived +nginx 实现主备) lvs :Linux Virtual Server 可F5 硬负载60% (高可用:keepalived +lvs实现主备)硬负载:F5(价格几十万)...

2020-03-01 21:02:03 772

原创 docker 学习笔记

一、什么是docker?Docker 是一个开源的应用容器引擎,基于Go 语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。二、安装doc...

2020-03-01 21:01:36 95

转载 dubbo 使用kryo 实现高速序列化

Dubbo + Kryo 实现高速序列化本节视频【视频】Dubbo 实现微服务架构-Dubbo-使用 Kryo 实现高速序列化Dubbo 中的序列化Dubbo RPC 是 Dubbo 体系中最核心的一种高性能、高吞吐量的远程调用方式,可以称之为多路复用的 TCP 长连接调用:长连接:避免了每次调用新建 TCP 连接,提高了调用的响应速度 多路复用:单个 TCP 连接可交替传输多...

2020-03-01 21:00:04 370

原创 dubbo admin

admin ServerStandard spring boot project configurations in application.propertiesProduction Setup Clone source code on develop branchgit clone https://github.com/apache/dubbo-admin.git Sp...

2020-03-01 20:59:09 64

原创 分布式协调服务与分布式锁(笔记)

一、分布式协调服务 主要用来解决分布式环境当中多个进程之间的同步控制,让它们有序的去访问某种临界资源,防止造成“脏数据的后果”。二、分布式锁 为了防止分布式系统中多个进程之间互相干扰,我们需要一种分布式协调技术来对这些进程进行调度,而这个分布式协调技术的核心就是来实现这个分布式锁。分布式锁应该具备哪些条件在分布式系统环境下,一个方法在同一时间只能被一个机...

2020-03-01 20:58:33 209

原创 zookeeper(学习笔记)

一. ZooKeeper是什么ZooKeeper由雅虎研究院开发,是Google Chubby的开源实现,后来托管到Apache,于2010年11月正式成为Apache的顶级项目。ZooKeeper是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调服务。分布式应用程序可以基于ZooKeeper实现数据发布与订阅、负载均衡...

2020-03-01 20:58:02 134

原创 微服务架构需要解决的问题(笔记)

客户端如何访问这么多服务: 通过 api 网关解决客户端访问,客户端访问服务器时 先经过api网关,网关再将请求分发到对应的服务 这么多服务,服务之间如何通信: 1.同步通信: 1.1 RPC : 对内 1.2 Http BIO: 对外 通常用 http的 RestTFul 风格 通信 返回 json数据 封装成对象 2.异步通信: 2.1 消息...

2020-03-01 20:57:44 437

原创 权限验证框架Shiro 学习笔记

Shiro简介 什么是ShiroApache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:认证(Authentication):用户身份识别,常被称为用户“登录”,判断用户是否登陆,如果未登陆,则拦截其请求授权(Authorization):访问控制。当用户登陆后,判断其身份是否有权限访问相应的资源,如果没有权限则拦截密码加密(Cryptog...

2020-03-01 20:57:25 132

原创 redis 学习笔记

1、什么是NoSql 为了解决高并发、高可扩展(集群)、高可用(不能宕机)、大数据存储问题而产生的数据库解决方案,就是NoSql数据库。NoSql :全称 not only sql ,非关系型数据库。可以作为关系型数据库的一个很好的补充。不能替代。2、什么是redis Redis是用C语言开发的一个开源的高性能键值对(key-value)数...

2020-03-01 20:56:18 115

原创 SQL 自定义伪列 笔记

SELECT @rownum:=@rownum+1 AS rownum, apartment.* FROM (SELECT @rownum:=0) a, apartment

2019-12-08 00:11:37 106

原创 mybatis 自动去重问题及解决

mybatis会根据<id>标签去重,在sql查询语句中也要加上id字段查询。如果没有在resultmap中加上<id>标签,或者sql查询语句不加上id字段,则可能会出现去重现象(如SQL语句查询出来10条结果,但实际映射到接口如List<Menu> selectSelfAndChildByParentId(String menuId)中只...

2019-12-08 00:10:13 6298 1

原创 项目报错 对象转JSON属性丢失

/* * pId 这种命名不规范:以p单个字母小写开头,接着大写字母会造属性无法转JSON * */命名不规范,导致getter、setter 方法名不规范@JSONFiled(name=“pId”) 加载getter、setter方法上,解决...

2019-11-30 15:40:04 419

原创 JDBC事务 笔记

一、事务的概念 事务:独立的执行单元,要么全部提交要么全部取消。二、事务的四种特性 1、原子性:不允许事务部分地完成 2、一致性:事务执行前后,数据库数据必须保持一致性状态 3、隔离性:事务并发时,将一个事物的内部操作与事务的操作隔离起来,不被其他正在执行的事务看到 4、持久性:事务完成后,DBMS保证它对数...

2019-11-21 14:22:17 67

原创 git 分布式版本管理工具 常用命令(托管网站GitHub) 学习笔记

一、什么是版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。二、分布式版本控制所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版...

2019-11-17 12:02:01 98

原创 java实现归并排序 时间复杂度O(log n) 的稳定算法

思路:对于给定的一组记录,首先将每两个长度为一的子序列进行归并,得到 n/2 个长度为一 2 或 1 的有序子序列,再将其两两归并,反复此过程,知道得到一个有序子序列。package sortTest;public class MergeSort { //递归实现归并 public static void mergeSort(int[] a , int sta...

2019-11-13 21:43:26 327

原创 对两个有序数组,合并排序

思路:建立新数组接收两个数组的元素,把小的元素先写入新数组package sortTest;/*** 对两个有序数组合并排序* @author Administrator**/public class Merge { public static int[] merge(int[] a , int[] b) { int[] arr = ...

2019-11-13 21:22:11 1161

原创 LeetCode Sort a linked list 对一个链表排序

在O(n log n)的时间内使用常数级空间复杂度对链表进行排序。思路:先计算链表长度,以链表长度构造数组,将链表的节点的val存入数组,对数组进行排序(调用Arrays.sort() 时间复杂度为O(n log n)),再重新构造链表java实现代码如下:package linklist;import java.util.Arrays;class ListNod...

2019-11-12 17:16:38 170

原创 java 并发学习笔记(一)

一、并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。 在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群二、线程和进程的区别 进程是程序运行和资源分配的基本单位,一个程...

2019-11-11 18:44:01 78

原创 StackOverflowError 与 OutOfMemoryError 栈溢出 与 内存泄漏

StackOverFlowError的原因在于:无限调用递归函数,函数是以栈帧的形式存在于虚拟机栈内存中,一直创建栈帧导致栈溢出OutOfMemoryError: java堆由于存储对象实例,只要不断的创建对象,并且保证GC ROOTS 到对象之间有可达的路径来避免垃圾回收机制来清除这些对象,那么在对象数量达到最大堆的容量限制后就会产生内存溢出异常。所以一直new St...

2019-11-11 18:42:31 111

原创 数据库系统中,产生不一致的根本原因

1.并发控制不当2.数据冗余3.各种故障,错误第一种往往是由于重复存放的数据未能进行一致性更新造成的第二种情况是由于多用户共享数据库,而更新操作未能保持同步进行引起的第三种是由于某种原因(硬件故障或软件故障等)而造成数据丢失或数据损坏等...

2019-11-11 18:30:11 2328

原创 ajax + springMVC 项目报错

使用ajax传值,在springMVC : controller 中配置return 跳转 ,浏览器无法跳转成功。则 修改:controller 不进行跳转,使用code做标志@ResponseBody @RequestMapping("loginCtrl") public Map<String , Object> UserLogin(User ...

2019-11-10 20:43:21 81

原创 mybaitis 错误

<select id="findByUsernameAndPwd" resultMap="BaseResultMap" parameterType="map" > select <include refid="Base_Column_List" /> from user whereuserName=#{username} andpass...

2019-11-10 20:38:33 154

原创 LeetCode 对于给定的n个位于同一二维平面上的点,求最多能有多少个点位于同一直线上

java求解:LeetCode 对于给定的n个位于同一二维平面上的点,求最多能有多少个点位于同一直线上思路:斜率相同的点在同一直线上。 相同位置的点也在同一直线上。最多能有多少个点位于同一直线上 : 即 斜率相同的点 + 相同位置的点package tree;class Point { //点的数据结构 ...

2019-11-09 10:59:24 1253

原创 LeetCode 计算逆波兰式(后缀表达式)的值

java: 计算逆波兰式(后缀表达式)的值运算符仅包含"+","-","*"和"/",被操作数可能是整数或其他表达式["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9↵ ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6思路:将所有的数字和符号按顺序压入栈中,然...

2019-11-08 16:55:50 252

原创 LeetCode: 求二叉树的最小深度

java代码 求解二叉树的最小深度package tree;import java.util.LinkedList;import java.util.Queue;class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }...

2019-11-08 16:01:35 104

原创 linux 极速入门 常用命令(第二篇)

一、用户及组管理 1. useradd 【参数】 用户名 添加新用户 2.usermod 【参数】 用户名 修改已有的用户账户的属性 3. passwd 【参数】 用户名 用于设置用户账号的口令 4.userdel【参数】 用户名 删除指定的用户账户二、组账户管理命令 ...

2019-11-07 13:59:46 122

原创 linux 极速入门 常用命令 第一篇

Linux操作系统主要是由两部分组成:内核和系统工具。 内核是Linux系统的核心并且驻留内存。除了内核,其他一些必要的模块也驻留内存。这些模块执行一些重要的功能。如输入、输出,文件管理,内存管理和处理器管理。Linux系统的其他部分保存在磁盘上,需要时调入内存。 shell命令就是保存着磁盘上的程序。Linux默认的Shell是Bash。 ...

2019-11-04 23:12:03 365

原创 Mave工程报错

[ERROR] 读取D:\repository\org\javassist\javassist\3.15.0-GA\javassist-3.15.0-GA.jar时出错; invalid LOC header (bad signature)[ERROR] 读取D:\repository\io\netty\netty\3.7.0.Final\netty-3.7.0.Final.jar时出错; in...

2019-11-02 16:49:29 296

原创 层次遍历

//树节点/**class treeNode{ int data; treeNode left = null; treeNode right = null; public treeNode(int data) { this.data = data; }}*/思路:先将根节点放入队列,然后每次从队列中取值打印,若这...

2019-10-31 11:52:54 82

原创 二叉排序树 先序,后序,中序遍历

package sortTest;// 树节点class treeNode{ int data; treeNode left = null; treeNode right = null; public treeNode(int data) { this.data = data; }}public class sortT...

2019-10-30 11:27:11 301

原创 浅谈单体架构 , SOA架构 , 微服务架构

单体架构:一个归档包(war ,jar)包含了应用所有功能的应用程序。实现关键技术:采用SSH 或 SSM搭建单体架构的优势便于开发:只需借助IDE的开发、调试功能即可完成易于测试:只需要通过单元测试或浏览器即可完成测试易于部署:打包成单一可执行jar包,执行jar包即可完成部署单体架构的不足复杂性高,交付效率低,伸缩性差,可靠性差,阻碍技术创新soa架构实现关键技术:N...

2019-10-29 23:29:19 198

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除