- 博客(130)
- 收藏
- 关注
原创 JAVA8特点
允许把函数作为一个方法的参数(函数作为参数传递到方法中)有参数有返回值有参数无返回值方法引用可以直接引用已有Java类或对象(实例)的方法或构造器。方法参考描述使用“::”符号@FunctionalInterface,主要用于检查不符合函数式接口定义引用函数式接口函数式接口就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。新增加的函数接口:java.util.functionPredicate示例默认方法默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。用
2022-06-23 17:25:22
577
原创 Java.io包(Reader)
BufferedInputStreamJava.io.FilterInputStreamBufferedOutputStreamFilterOutputStreamBufferedWriterWriterByteArrayInputStreamInputStreamByteArrayOutputStreamOutputStreamCharArrayWriterWriterConsoleextends Objectimplements FlushableDataInputStre
2022-06-21 09:46:34
685
原创 java浅拷贝和深拷贝
浅拷贝复制时只复制它本身和其中包含的值类型的成员变量,而引用类型的成员对象并没有复制@Data@Accessors(chain = true)@NoArgsConstructor@AllArgsConstructorpublic class User implements Cloneable { // 姓名 private String name; // 年龄 private int age; // 邮件 private String email;
2022-04-13 18:40:22
733
1
原创 Kubernetes---使用kubeadmin安装部署(第二次)
安装dockersudo yum install -y yum-utilssudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce docker-ce-cli containerd.io修改Docker的配置: vi /etc/docker/daemon.json,k8s官方推荐docker等使用systemd
2021-11-12 17:44:28
1744
原创 Linux磁盘分区、docker容器磁盘扩容
硬盘名称IDE硬盘:多用于家用产品中,也部分应用于服务器。盘体与控制器集成在一起。一般是有扁平电缆连接的,平行传输的。SATA硬盘:串行连接方式。数据校验更为完整,传输速度也更快SCSI硬盘:是一种连结主机和外围设备的接口,支持包括磁盘驱动器、磁带机、光驱、扫描仪在内的多种设备 。查看磁盘信息fdisk -lDisk /dev/sd*表示不同的磁盘名称,a,b,c表示不同的磁盘,sd表示是sata或着scsi磁盘。这里是三个硬盘。磁盘后面跟不同的数字表示不同的分区
2021-10-21 14:54:59
1568
原创 JAVA8新特性 ----Optional类
static <T> Optional<T> empty()返回空的 Optional 实例。boolean equals(Object obj)判断其他对象是否等于 Optional。Optional<T> filter(Predicate<? super <T> predicate)如果值存在,并且这个值匹配给定的 predicate,返回一个Optional用以描述这个值,否则返回一个空的Optional。<U> Op
2021-09-08 19:25:41
262
原创 Nexus 私有仓库
安装Nexus最大内存配置示例物理/RAM 内存示例最大内存配置8GB-Xms2703M -Xmx2703M -XX:MaxDirectMemorySize=2703M12GB-Xms4G -Xmx4G -XX:MaxDirectMemorySize=4014M16 GB-Xms4G -Xmx4G -XX:MaxDirectMemorySize=6717M32GB-Xms6G -Xmx6G -XX:MaxDirectMemorySize=15530M
2021-08-13 17:07:08
1092
2
原创 VMware创建虚拟机并分配地址
修改虚拟机设置修改网卡配置vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6...
2021-08-06 16:22:16
1435
原创 SonarQube代码审查
Linux安装SonarQube7.9之后不在支持mysql安装mysql数据库,创建sonar数据库解压sonarqube-9.0.0.45539.zip安装unzipyum install unzip解压unzip sonarqube-9.0.0.45539.zip重命名mv /sonarqube-9.0.0.45539 /sonar修改权限(sonar以root启动会报错)创建sonar用户useradd sonar更改sonar目录及文件权限
2021-08-06 16:18:16
385
原创 RestTemplate
GET 请求 @Nullable public <T> T getForObject(String url, Class<T> responseType, Object... uriVariables) throws RestClientException { RequestCallback requestCallback = this.acceptHeaderRequestCallback(responseType); HttpMes
2021-08-02 18:06:05
295
原创 PostgreSQL
使用docker安装postgresSQL docker pull postgresdocker run -d \ --name postgres \ -p5432:5432 \ -e POSTGRES_PASSWORD=123456\ -v /custom/mount:/var/lib/postgresql/data \ postgres用户名是postgres,密码是设置的123456配置文件在/var/lib/postgresql/data目录下p
2021-07-22 17:24:12
261
原创 Jenkins
Jenkinsfiledef folder_string = "123"def image_id = '456'pipeline { agent any stages { stage('输出') { steps { echo folder_string echo image_id } } }}
2021-07-14 18:28:48
709
原创 多线程 + JUC
线程线程分守护线程和用户线程,虚拟机不在乎守护线程,如果用户线程停止,守护线程也会停止public class ThreadDemo { public static void main(String[] args) { God god = new God(); People people = new People(); Thread thread = new Thread(god); thread.setDaemon(true);/
2021-04-30 21:44:16
282
原创 NIO基础(一)
三大组件Channel:双向的数据的传输通道FileChannel:文件传输通道DatagramChannel:数据报传输通道,UDP开发SocketChannel:TCP数据传输通道,服务器客户端都可以用ServerSocketChannel:TCP数据传输通道,服务器端Buffer:内存缓冲区,暂存Channel的数据ByteBuffer:存储字节数据到缓冲区ShortBuffer:存储字符串数据到缓冲区CharBuffer:存储字符数据到缓冲区IntBuffer:存储整数数据
2021-04-27 17:36:19
197
原创 集合框架List、Map
Iterable接口定义了迭代集合的迭代方法Collection接口定义了集合添加的通用方法List接口元素被添加到集合中以后,取出的时候是按照放入顺序。List可以重复。存在下标,可以直接依靠下标取值ArrayList类底层是一个Object数组。初始容量为10当数组容量不够是自动扩容为以前的1.5倍数组最大容量为Integer.MAX_VALUE-8线程不安全可变数组的大小,对尾部成员的增加和删除支持较好。使用 ArrayList 创建的集合,允许对集合中的元
2021-04-19 16:21:53
185
原创 注册中心工作原理
注册中心作用动态加入,服务提供者通过注册中心动态的把自己暴露给消费者,消费者逐个更新配置文件动态发现服务,小芬这可以动态发现新的服务,无需重启生效统一配置,避免本地配置导致每个服务配置不一致动态调整,注册中心支持参数动态调整,新参数自动更新到所有相关的服务节点统一管理,依靠注册中心的数据,可以统一管理配置服务节点主要工作流程服务提供者启动之后,会将服务注册到注册中心消费者启动后主动订阅注册中心上提供者服务,从而获得可用服务,同时留下一个回调函数若服务提供者新增或者下线,注册中心将通过
2021-04-19 13:55:08
1426
原创 RabbitMQ死信队列设置
死信消息:消息被拒绝(Basic.Reject或Basic.Nack)并且设置 requeue 参数的值为 false消息过期了队列达到最大的长度设置死信队列在RabbitMQ控制台的Queues设置设置过期时间队列设置:在队列申明的时候使用 x-message-ttl 参数,单位为 毫秒单个消息设置:是设置消息属性的 expiration 参数的值,单位为 毫秒监听死信队列@RabbitListener(queues = "my.direct.queue.dlx.queue
2021-04-13 09:54:09
593
原创 Sentinel高可用流量管理框架(第一次笔记)
本地Sentinel控制台构建下载jar包启动Sentinel,并指定端口java -Dserver.port=9000 -jar sentinel-dashboard-1.8.1.jar普通项目接入应用 <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-transport-simple-http
2021-04-09 17:38:11
274
1
原创 mysql存储过程PROCEDURE
关键语法声明语句结束符DELIMITER $此处将语句结束符修改为$默认情况下,存储过程和默认数据库相关联,如果想指定存储过程创建在某个特定的数据库下,那么在过程名前面加数据库名做前缀声明存储过程:CREATE PROCEDURE 存储过程名([[IN |OUT |INOUT ] 参数名 数据类形…])IN 输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)OUT 输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)INOUT 输入输出参数:既表示调用者
2021-04-09 13:56:22
2020
原创 SQL优化记录
避免全表扫描,在 WHERE 及 ORDER BY 涉及的列上建立索引字段应该使用 NOT NULLMySQL 只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的 LIKEWHERE 子句中使用 OR 将导致引擎放弃使用索引而进行全表扫描,可以使用 UNION 合并查询:UNION 操作符用于合并两个或多个 SELECT 语句的结果集UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 .
2021-04-09 11:09:35
143
原创 权重抽奖
// 参与抽奖的人 List<InvitedStat> invitedStatList = invitedStatService.list(new QueryWrapper<InvitedStat>().ge("redbag_gradient_invited_sum", 200)); if (ObjectUtil.isEmpty(invitedStatList)) { log.info("无可参加活动的人"); ..
2020-12-28 17:50:24
621
原创 jmeter压力测试
下载地址解压配置环境变量JMETER_HOME:解压目录classpath:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;运行bin目录下的 jmeter.bat简单的压测实例
2020-12-02 10:28:13
149
原创 面试题(大杂烩)
Spring,SpringMVC,SpringBoot,SpringCloudSpring是核心,提供了基础功能;(控制反转IOC、面向切面AOP)SpringMVC是基于Spring的一个MVC框架;是Spring的一个模块,针对网站应用程序或者服务开发(URL路由、session、模板引擎、静态web资源等)SpringBoot 是简化了Spring配置的快速开发整合包SpringC...
2020-10-20 15:55:24
759
1
原创 时间格式转换、类型转换、计算时间差
public class LocalDateUtil { public static String getCron(LocalDateTime localDateTime) { ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zdt = localDateTime.atZone(zoneId); Date date = Date.from(zdt.toInstant());
2020-10-19 15:27:28
495
原创 函数式编程 + 流式计算
java.util.function函数式接口四大函数式接口函数式接口参数类型返回类型用途Consumer消费型接口Tvoid对类型为T的对象应用操作,包含方法 void accept(T t)Supplier供给型接口无T返回类型为T的对象,返回类型为T的对象,包含方法 T get()Function<T,R> 函数型接口TR对类型为T的对象应用操作,并返回结果。包含方法 R apply(T t)Predicate断定型接口T
2020-09-28 17:27:34
424
原创 根据url下载图片
public void download() { String destination = "E:/home/haha/b.jpg"; URL url = null; try { url = new URL("http://zhang-pay-test.oss-cn-shanghai.aliyuncs.com//miniapplets/2020/09/23/8378b32af7efb65e2db0968da04c4e39.jpg...
2020-09-28 11:51:52
218
原创 幂等思路
前端设计按钮设置点击一次按钮设置只可以点击一次。多次点击无效设置tokentoken机制。进入页面获得token,发送请求携带token。重定向点击提交后,客户端重定向。session服务端生成唯一标识,存入session中,同时写入表单隐藏域。提交时同时提交,与session中的进行比较。相同移除session中的唯一标识,进行后续操作,不相等标识重复提交,不做处理。后端设计唯一索引设置唯一索引,重复插入数据库报异常。不会生成脏数据token+ redis分两个阶段:申请toke
2020-08-21 16:07:22
171
原创 springboot 返回页面报错
@RequestMapping("/login") public String testPage(){ return "login"; }不能跳转login页面添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf...
2020-07-29 08:59:48
529
原创 Lambda表达式
对接口使用接口中只能有一个必须被实现的方法基础语法() -> {}():描述参数列表{}:描述方法体无参无返回值public interface LambdaNoReturnAndParameter { void test();} @Test void lambda(){ LambdaNoReturnAndParameter lambda = ()->{ System.out.println("hhh");
2020-07-26 16:01:39
259
原创 使用docker安装一些应用
RabbitMQ拉镜像,带web的docker pull rabbitmq:management运行docker run -dit --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management运行时改账号密码docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:156
2020-07-20 10:40:32
331
原创 springcloud笔记简略
Eureka使用单机版server创建项目修改pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency>
2020-07-17 11:03:55
438
原创 Docker初学安装笔记
概念虚拟机: 模拟整套操作系统,包括软件硬件环境等。对于底层操作系统来讲,虚拟机就是一个普通文件。Docker: 容器虚拟化技术,将软件工作所需要的库资源和设置打包到一个隔离的容器。docker三要素:镜像、容器、仓库镜像:可以堪称java中的对象。容器模板容器:可以看作是java中的实例。容器是用镜像创建的实例,一个容器运行一个服务。仓库:保存镜像。centOS7安装官网文档$ sudo yum install -y yum-utils$ sudo yum-config-mana
2020-06-28 11:17:15
264
原创 微服务---API网关(nginx、zuul)
NginxNginx由内核和模块组成:内核:仅仅通过查询配置文件与客户端请求URL匹配,启动不同模块完成相应工作模块:启动nginx后,模块自动被加载。每个模块都有可能处理某个请求,但是同个请求只能有一个模块完成nginx启动后,会有一个Master进程和多个Worker进程。采用异步非阻塞的方式来处理请求。当Nginx上的进程数与CPU核数相同时,进程间切换代价时最小的Nginx配置负载均衡后,进入网关,网关决定进到哪个真是的web服务器负载均衡负载均衡从upstream模块定义
2020-06-10 16:21:33
829
原创 spring cloud笔记(HttpClient、Ribbon、Feign)微服务消费者
Apache HttpClient 调用服务添加依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency>注入@Configurationpublic class HttpClientCo
2020-06-08 16:41:56
964
1
原创 通过代码修改xml文件内容
import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import java.io.File;import java.io.FileNot
2020-05-22 17:46:07
698
原创 spring cloud 笔记(eureka)服务注册与发现
创建eureka注册中心application.propertiesserver.port=8081spring.application.name=eurka-servereureka.instance.hostname=127.0.0.1eureka.client.register-with-eureka=falseeureka.client.fetch-registry=falseeureka.client.service-url.defaultZone=http://localhos
2020-05-19 14:28:00
240
原创 VMware创建虚拟机没有ip地址
修改配置ens33vi /etc/sysconfig/network-scripts/ifcfg-ens33ONBOOT=no改为yes,重启网卡service network restart
2020-05-06 11:50:32
722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人