- 博客(265)
- 资源 (47)
- 收藏
- 关注
原创 一文掌握 shell 语言
shell脚本(shell script) ,是一种为shell编写的脚本程序,一般后缀名为 .sh业界所说的shell 通常都是指shell脚本,但shell 和 shell script 是两个不同的概念。
2024-04-18 15:03:43 746
原创 Linux Zookeeper 安装
1 何为伪集群模式在学习环境中,如果没有多余的服务器,这里就将三个ZooKeeper 节点都安装到本地机器上,故称谓伪集群模式。虽然,伪集群模式只是便于开发、普通测试,尽量不用于生产环境。从学习的角度来说,如果了解了伪集群模式下的安装和配置,生产环境下的安装和配置的方法,也是大致差不多的。安装ZooKeeper之前,需要规划一下伪集群节点的个数,ZooKeeper节点数有以下要求:(1)ZooKeeper集群节点数必须是基数。为什么呢?ZooKeeper 集群中,需要一个主节点,称之为lead
2024-04-12 09:25:20 945
原创 MacBook苹果电脑安装JDK8、JDK11教程,配置环境变量 + 快速切换JDK版本
JDK8、JDK11和JDK21是Java开发工具包的不同版本,而JavaSE、JavaEE和JavaME是Java平台的不同配置和规范,用于不同类型的应用程序开发。本文主要为在MacBook苹果电脑系统下安装JDK及环境变量配置。按下ESC键盘 输入:wq 保存退出。终端窗口一般在 启动台-其他 文件夹里。在Oracle官网下载JDK。1.官网下载dmg安装包。
2024-03-16 15:48:23 814
原创 spring开源项目总结
目前已集成——登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0、踢人下线、Redis集成、前后台分离、记住我模式、模拟他人账号、临时身份切换、账号封禁、多账号认证体系、注解式鉴权、路由拦截式鉴权、花式token生成、自动续签、同端互斥登录、会话治理、jwt集成、Spring集成、WebFlux集成……大数据时代,了解etl是非常有必要的,现阶段国内比较受欢迎的离线数据同步工具,相对kettle来说,使用部署相对方便,不过kettle包含数据清洗的功能,自行选择食用。
2022-11-02 21:12:23 929 1
原创 SpringBoot 接口数据加解密
xx项目有于安全问题,需要对接口整体进行加密处理,我们怎么处理呢。和产品、前端讨论需求后,梳理了相关技术方案,主要的需求点如下:尽量少改动,不影响之前的业务逻辑;考虑到时间紧迫性,可采用对称性加密方式,服务需要对接安卓、IOS、H5三端,另外考虑到H5端存储密钥安全性相对来说会低一些,故分针对H5和安卓、IOS分配两套密钥;要兼容低版本的接口,后面新开发的接口可不用兼容;接口有GET和POST两种接口,需要都要进行加解密;
2022-10-20 23:07:42 1777
原创 搞懂XXL-JOB任务调度平台
/doc :文档资料- /db :“调度数据库”建表脚本- /xxl-job-admin :调度中心,项目源码- /xxl-job-core :公共Jar依赖- /xxl-job-executor-samples :执行器,Sample示例项目(大家可以在该项目上进行开发,也可以将现有项目改造生成执行器项目)
2022-10-11 22:02:14 3292
原创 0004:Spring Cloud Ribbon 中的 7 种负载均衡策略
Ribbon 是 Spring Cloud 技术栈中非常重要的基础框架,它为 Spring Cloud 提供了负载均衡的能力,比如 Fegin 和 OpenFegin 都是基于 Ribbon 实现的,就连 Nacos 中的负载均衡也使用了 Ribbon 框架。Ribbon 框架的强大之处在于,它不仅内置了 7 种负载均衡策略,同时还支持用户自定义负载均衡策略,所以其开放性和便利性也是它得以流行的主要原因。
2022-10-10 23:06:27 579
原创 0003:为什么创建线程池一定要用ThreadPoolExecutor?
线程池的创建方式总共分为两大类:手动使用 ThreadPoolExecutor 创建线程池和自动使用 Executors 执行器创建线程池的方式。其中使用 Executors 自动创建线程的方式,因为线程个数或者任务个数不可控,可能会导致内存溢出的风险,所以在创建线程池时,建议使用 ThreadPoolExecutor 的方式来创建。
2022-10-10 22:54:42 366
原创 0002:说一下线程池7个参数的含义
corePoolSize:核心线程数,线程池正常情况下保持的线程数,大户人家“长工”的数量。maximumPoolSize:最大线程数,当线程池繁忙时最多可以拥有的线程数,大户人家“长工”+“短工”的总数量。keepAliveTime:空闲线程存活时间,没有活之后“短工”可以生存的最大时间。TimeUnit:时间单位,配合参数 3 一起使用,用于描述参数 3 的时间单位。BlockingQueue:线程池的任务队列,用于保存线程池待执行任务的容器。
2022-10-09 21:33:51 208
原创 0001:List去重的6中方法?
本文我们介绍了 6 种集合去重的方法,其中实现最简洁,且去重之后的顺序能和原集合保持一致的实现方法,只有两种:LinkedHashSet 去重和 Stream 去重,而后一种去重方法无需借助新集合,是我们优先考虑的去重方法。
2022-10-09 21:09:47 136
原创 阿里巴巴的26款超神Java开源项目
1.分布式应用服务开发的一站式解决方案 Spring Cloud AlibabaSpring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。地址:https://
2022-01-12 22:07:32 357
原创 pom文件引用
pom文件?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0
2021-12-27 20:29:04 1643
原创 Docker的安装
本案例以Centos8为例,在Centos8中安装docker,需要系统为64位,也内核版本位3.10以上查看系统信息:$ lsb_release -a如果出现‘lsb_release: command not found’ 情况,请先执行安装命令yum install -y redhat-lsb查看内核版本$uname -r使用yum 安装docker$yum - y install docker使用官方脚本安装$curl -fsSL https://get.docker.
2021-12-17 23:28:42 467
原创 EasyExcel,让excel导入导出更加简单
EasyExcelEasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。github地址:https://github.com/alibaba/easyexcelJAVA解析Excel工具EasyExcelJava解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Ex
2021-11-09 23:05:15 363
转载 SpringBoot+Redis解决海量重复提交问题
一、前言在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下手段:1、数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据。2、token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行验证,如果验证通过删除token,下次请求再次判断token。
2021-11-09 23:04:30 166
转载 限流:计数器,漏桶,令牌桶,三大算法的原理与实战
https://www.cnblogs.com/crazymakercircle/p/15187184.html限流限流 是面试中常见的面试题。为什么要限流简单来说限流在很多场景中用来限制并发和请求量,比如说秒杀抢购,保护自身系统和 下游系统不被巨型流量冲垮等。以微博为例,例如某明星公布了恋情,访问从平时的50万增加到500万,系统的规划能力,最多可用支持200万访问,那么就要执行限流规则,保证是一个可用的状态,不至于服务器崩溃,所以请求不可用参考链接系统架构知识图谱(一张价值10w的系统架
2021-09-26 21:58:47 685 1
原创 电商推荐系统理论
Scala安装Anaconda安装Jython安装PyCharm 安装Pythonanacoda pycharm scala推荐系统首先要有数据》二维矩阵SparkFlink
2021-08-11 22:04:57 80
原创 MySql中drop、truncate和delete的区别?
(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATETABLE则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占空间。当表被TRUNCATE后,这个表和索引所占用的空间会恢复到初始大小,删除内容、释放空间但不删除定义DELETE操作不会减少表或索引所占用的空间。删...
2021-06-22 22:03:07 127
原创 Java项目中常用的文件定义
1.定义常量/** * * 需要在代码中不变的一些值,定义在这里 * */public class Constants { //应用程序名字 public static final String APP_NAME= "互联网"; //开发地址 public static final String DEV_URL= "http://";}2.定义枚举类(1)//使用场景:一般有几个值供选择的时候用枚举public enum ErrorRetCo
2020-12-21 00:25:50 262 1
原创 apollo-quick-start-1.7.1 启动失败
快速开始步骤:https://github.com/ctripcorp/apollo/wiki/Quick-Start改动的地方:启动的时候会报错:如下:# apollo config db infoapollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?serverTimezone=Asia/Shanghaiapollo_config_db_username=rootapollo_config_db_password=
2020-12-19 23:47:55 1077 1
转载 常用的 9种分布式ID生成方式?
一,为什么要用分布式ID?在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征?1、什么是分布式ID?拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一ID做标识。此时一个..
2020-08-21 16:53:30 502
原创 Windows 7 下如何查询某个端口号所在进程,并根据端口号杀掉进程?
在我们写项目的时候,总是出现端口被占用的问题,现在就以下为例说明;如何查询某个端口号所在进程,并根据端口号杀掉进程?步骤如下:第一步: 打开cmd命令窗口,输入命令,根据端口号查找对应的进程号:netstat -ano | findstr 10086//列出进程极其占用的端口,且包含 10086结果如下:发现 10086 端口被pid 为 19788 的进程占用第二步:根据进程号寻找进程名称:tasklist | findstr 19788第三步:用命令杀死该程序
2020-08-20 22:16:26 456
原创 IDEA中启动多个微服务如何开启Run Dashboard管理?
关于微服务架构项目,关于启动方式,记录一下:开启Run DashBoard1.使用Run Dashboard的好处:使我们配置的项目可视化,一眼看到底,方便spring boot项目重新配置、Run、Debug,简化了我们的操作步骤。2.如何配置自动启动 Run DashBoard找到项目下面的 .idea 下面的workspace.xml文件,如下图所示:在下面的代码中加入一段配置代码,源代码位置: <component name="RunDashboard"&g
2020-08-20 21:56:39 1081 1
原创 Java==POI报表详解
一.POI报表在企业开发中,Excel报表是一种最常见的报表需求,Excel报表开发一般分为两种形式:(1)为了方便操作,基于Excel的报表批量上传数据(2)通过java代码,快速生成Excel报表POI报表简介:Apache POI是Apache软件基金会的开源项目,由Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java语言操作Microsoft Office的功能。Excel分为两个大的版本Excel2003和Excel2007及以.
2020-06-22 21:57:38 1025
原创 SSM=Maven构建项目以及Maven分模块构建项目
一.软件开发常识(1)项目开发流程1. 立项 项目可实施性分析:(某项目)100W项目,开发周期预计6个月,需要10人,运营(人力)成本2W/人 产品经理入住银行,进行需求调研《需求设计说明书》 需求研讨会:团队所有成员参加2. 设计 UI/UE工程师:《页面原型》 架构师:统一开发环境,项目技术选项,项目架构设计,数据库设计等等《概要设计说明书》 产品经理:接口规范、方法规范、参数规范、步骤要求等等《详细设计说明书》3. 开发 co...
2020-06-09 12:57:29 628
原创 Spring=SpringMVC-Spring-MyBatis=SSM框架整合
一.SSM框架整合需求:使用ssm框架完成对account表的增删改查操作。(1)搭建Mybatis环境:1.确定数据库 和表CREATE DATABASE /*!32312 IF NOT EXISTS*/`spring_db` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `spring_db`;/*Table structure for table `account` */DROP TABLE IF EXISTS `account
2020-06-08 00:22:21 236
原创 Spring = Spring拦截器之实现原理?
(1)SpringMVC运行流程在介绍SpringMVC拦截器之前,我们先介绍一下SpringMVC的运行流程:(1)用户发送请求,经过 前端控制器Dispacherservlet(Controller的核心)将url交给处理器映射器HandlerMapping处理(2)处理器映射器HandlerMapping处理url,返回HandlerExecutionChain(可能包含拦截器,一定包含自定义的Controller(Handler))(3)前端控制器Controller交给处理器适
2020-06-07 09:07:21 1830
原创 SpringMVC = SpringMVC响应,异常处理以及拦截器
springmvc 响应,同步-页面跳转,异步-网络请求返回数据 ; ajax异步交互; restful前后端分离开发风格;异常统一处理;拦截器一.SpringMVC的响应:(1)页面跳转=====转发方式一:简单方式方式 二: forward关键字:此关键字的底层就是:request.getRequestDispatcher("跳转路径").forward(req,resp);此关键字在使用后,不在经过视图解析器进行字符串的拼接... @RequestM.
2020-06-06 22:20:18 556
原创 SpringMVC = 基础面试题
(1) 什么是SpringMVC 作用是什么?一,首先是一个MVC框架。在web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错。还是为了组内开发人员之间的配合。总之就是一种分层工作的办法。二,springMVC,是spring的一个子框架,当然拥有spring的特性,如依赖注入。Spring下的子项目:Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求
2020-06-05 23:01:08 1737
原创 Spring = SpringMVC以及面试题
https://javadoop.com/(1)什么是SpringMVCSpring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,SpringMVC框架的目的就是帮助我们简化开发。Spring MVC 实现了即用的 MVC 的核心概念。它为控制器和处理程序提供了大量与此模式相关的功能。并且当向 MVC 添加反转控制(Inversion of Control,I
2020-06-05 22:29:37 763
原创 SpringMVC=SpringMVC请求参数以及文件上传
一.SpringMVC的请求:新建web项目:pom.xml的坐标导入: <dependencies> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</versio
2020-06-04 20:53:16 551
原创 Spring=Spring事务及集成web环境
一.Spring的事务Spring的事务控制可以分为编程式事务控制和声明式事务控制。编程式事务:就是将业务代码和事务代码放在一起书写,它的耦合性太高,开发中不使用声明式事务其实就是将事务代码和业务代码隔离开发, 然后通过一段配置让他们组装运行, 最后达到事务控制的目的.声明式事务就是通过AOP原理实现的.(1)Spring的声明式事务:在 Spring 配置文件中声明式的处理事务来代替代码式的处理事务。底层采用AOP思想来实现的思想:目标对象:AccountSer
2020-06-04 00:28:24 164
原创 Spring = Spring详解Aop使用
一.基于xml的AOP开发:(1)xml配置详解:切点表达式:表达式语法:execution([修饰符] 返回值类型 包名.类名.方法名(参数列表)) 访问修饰符可以省略 返回值类型、包名、类名、方法名可以使用星号 * 代替,代表任意 包名与类名之间一个点 . 代表当前包下的类,两个点 .. 表示当前包及其子包下的类 参数列表可以使用两个点 .. 表示任意个数,任意类型的参数列表 * 版本一:控制目标对象中,返回值类型void且public
2020-06-01 22:22:06 193
原创 Spring = Spring基础讲解Aop
一.基础案例:起因:使用spring框架整合DbUtils技术,实现用户转账功能Account:public class Account { private Integer id; private String name; private Double money; public Account() { } public Account(Integer id, String name, Double money) { th
2020-05-31 22:49:01 166
原创 Spring=Spring详解IOC
一.DbUtils(1)DbUtils是什么?DbUtils是Apache的一款用于简化Dao层代码的工具类,它底层封装了JDBC技术。核心对象:QueryRunner queryRunner = new QueryRunner(DataSource dataSource);核心方法:int update(); 执行增、删、改语句T query(); 执行查询语句 ResultSetHandler<T> 这是一个接口,主要作用是将数据库返回的记录封装到实体对象
2020-05-29 20:28:02 230
原创 Java=微信支付详解与日志记录详解
一.二维码:(1)什么是二维码二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。(2)二维码优势: 信息容量大, 可以容纳多达1850个大写字母或2710个数字或500多个汉字 应用范围广, 支持文字,声音,图片,指纹等等... 容错能力强, 即使图片出现部分破损也能使用 成本低, 容易制作 (3)二维码容错级别 L级(
2020-05-29 14:46:33 879
原创 Spring=Spring基础详解
spring官网:https://spring.io/一.Spring概述Spring是分层的 Java SE/EE应用 full-stack(全栈) 轻量级开源框架。Spring的核心是 IOC(Inverse Of Control:控制反转)和 AOP(Aspect Oriented Programming:面向切面编程)Spring一个全栈应用框架, 提供了表现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等众多应用技术Spring还能整合开源世界众
2020-05-28 23:41:51 322
apache-tomcat;jdk-8u201-linux-x64;mysql;nginx;redis
2020-05-27
javaxservlet.zip
2020-04-22
hutool工具集.zip
2020-04-17
dom4j-1.6.1.jar;jaxen-1.1-beta-6.jar;XPathTutorial.chm
2020-03-30
开源项目源码
2013-10-18
Android滑动菜单
2013-09-02
Animation动画效果
2013-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人