自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Flyer的后花园

微信公众号 java架构狮 java交流QQ群 606700249

  • 博客(1034)
  • 收藏
  • 关注

转载 23种设计模式全解析-- 设计模式看这一篇就够了

  一、设计模式的分类  总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解...

2016-08-22 11:34:39 8669 6

转载 Nginx配置Https

前置条件:在配置https之前请确保下面的步骤已经完成已经安装nginx并且通过http可以正常访问拥有ssl证书,没有的可以去阿里购买或者免费申请一年如果以上条件都满足了,接下来开始配置https。

2024-04-12 16:09:31 7

转载 PgSQL优化的100种方法

100. 采用用于反向推理的深度神经网络,在给定一些查询数据的情况下,预测数据库中的热点区域和瓶颈,并自动采用最佳的优化操作。37. 对于需要阻塞或等待的情况,请使用允许高并发处理的技术、批处理或其他合适的方法来处理它们。46. 提高数据的可用性和可靠性,例如,通过使用 RAID 或较小的页面大小来优化页面缓存。68. 对于大型查询,使用较低的扫描率和约束设置来优化查询来限制磁盘和内存的交替重排。85. 为需要处理的数据选择正确的数据类型,并使用合适的数据格式来提高性能。

2023-07-13 15:31:43 8161

原创 utc时间转毫秒

utc时间转换毫秒

2022-11-20 14:14:56 8227 1

转载 MySQL 慢 SQL 可能原因汇总

有些时候,我们需要偏移一定量数据之后,获取某些数据,就很容易想到用limit,但是,如果偏移量很大时,就会发现SQL执行起来非常非常慢了,因为,偏移量会分页读取到buffpool中,数据量大,占用的buffpool空间就会大,而这个空间大小是配置的,一般不会很大,所以,导致了慢sql。这就会出现,一个事务,做变更,没有结束,后面的所有事务操作就得等待,如果此时又有多个事务在排队等待,当前一事务操作结束,等待的事务就会竞争抢锁,这种‘你不仁,我不义’,一旦发生,SQL的性能就会很慢了。...

2022-08-29 19:39:40 9712

原创 java并行的执行两个任务

java并行的执行两个任务 ,每个任务又包含多个小任务,下面是一种代码实践的成果 ExecutorService executor1 = Executors.newSingleThreadExecutor(); Map<String, Integer> tenantIdNumMap = new HashMap<>(); FutureTask<Map<String, Integer>> future1 =

2021-07-23 18:07:52 1254 1

原创 java map遍历使用并行流

// 新方法 map使用并行流 //使用entrySet 的key的list 然后当成list遍历projectGitMap.entrySet().parallelStream().forEach(entry->{ List<Integer> list = projectGitMap.get(entry.getKey()); //entry.getKey() = name list.parallelStream().forEach(projectId -...

2021-03-18 19:39:02 1932

转载 一文搞懂蓝绿发布、灰度发布和滚动发布

应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。一、 蓝绿发布项目逻辑上分为AB组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。当A组升级完毕,负载均衡重新接入A组,再把B组从负载列表中摘除,进行新版本的部署。A组重新提供服务。最后,B组也升级完成,负载均.

2021-02-05 16:50:57 556

转载 SonarQube 跳过指定检查

ps 我使用了下面的项目过滤来做 因为一个项目会有多个分支 只想对部分项目来做过滤某些规则 这个规则还是有些重要的环境演示环境参考前边的文章SonarQube 扫描 Java 代码步骤我们已经扫描一个 Java 项目有 6 个 BUG点开其中一个 BUG,点击详情,我们可以看到规则描述及规则编号。java:S2259-可能发生空指针异常。如何忽略这个异常呢?目前我找到三种方式:全局忽略 项目忽略 配置文件全局忽略最高级配置,所有的扫描将跳过指定的规则。找到...

2020-12-02 17:32:54 10684 1

转载 Eureka、Zookeeper和Consul 的区别

主要区别的话,看CAP选择,大部分注册中心,就是在这个定理去选择的,具体怎么选择,看下文CAP定理:指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间的数据完全一致,越多节点,数据同步越耗时)可用性(A):负载过大后,集群整体是否还能响应客户端的读写请求。(服务一直可用,而且是正常响应...

2020-10-28 15:49:52 356

转载 Linux中drwxr-xr-x.的意思和权限

读(read),写(write),执行r(recute)简写即为(r,w,x),亦可用数字来(4,2,1)表示举例:如果某文件权限为7则代表可读、可写、可执行(4+2+1).若权限为6(4+2)则代表可读、可写。权限为5代表可读(4)和可执行(1).权限为3代表可写(2)和可执行(1)。下图中文件所有者(属主)为root,所有组(属组)为root,文件名为install.log,权限为的第一个减号“-”代表的是文件类型:-:普通文件,d:目录文件,l:链接文件,...

2020-09-30 15:39:38 23289 2

转载 Linux的chown和chmod授权详解

chown修改文件和文件夹的用户和用户组属性1。要修改文件hh.c的所有者.修改为sakia的这个用户所有chownsakiahh.c这样就把hh.c的用户访问权限应用到sakia作为所有者2。将目录/tmp/sco这个目录的所有者和组改为sakia和组netchown-Rsakia:net/tmp/scochmod修改文件和文件夹读写执行属性1。把hh.c文件修改为可写可读可执行chmod777hh.c要修改某目录下所有的文件属性为可写可读可执行...

2020-09-30 13:24:01 2101

转载 Lua 语言环境安装

Linux 系统上安装(本文使用了5.3.0版本进行安装:)curl -R -O http://www.lua.org/ftp/lua-5.3.0.tar.gztar zxf lua-5.3.0.tar.gzcd lua-5.3.0make linux testmake install如果安装的时候报错: lua.c:80:31:fatalerror:readline/readline.h:Nosuchfileordirectory解决方法: 缺少...

2020-09-17 19:43:47 245

转载 Gitlab加入LDAP认证

1- 修改/etc/gitlab/gitlab.rb我的配置:gitlab_rails['ldap_enabled'] = true###! **remember to close this block with 'EOS' below**gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' main: # 'main' is the GitLab 'provider ID' of this LDAP server l

2020-06-24 16:08:40 799

转载 安装Kubernetes到CentOS(Minikube)

运行环境系统版本:CentOS Linux release 7.6.1810 (Core)软件版本:Docker-ce-18.06.0、Kubectl-1.15.0、Kubernetes-v1.15.0硬件要求:建议最低2核4GB安装过程1、配置系统环境1.1、配置主机名[root@localhost ~]# echo 'minikube' >/etc/hostname[root@localhost ~]# cat /etc/hostname |xargs hostname

2020-06-13 17:06:43 301

转载 apollo github的说明介绍

Apollo - A reliable configuration management systemApollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对...

2020-05-29 16:49:19 2284

原创 莫名其妙的maven依赖错误的解决(不应该出现的依赖错误)

对应这种错误明显的 其他地方这么写好的,就这个类不对,把这一个地方屏蔽修改了又在其他类报错不应该的类似的错误提示 (其实是不应该出现的依赖错误)这个时候考虑1 mvn clean -U install -DskipTests强制刷新更新ps 说明:关于-U-U,--update-snapshots Forces a check for miss...

2020-04-08 15:48:13 1477

转载 java.lang.UnsupportedOperationException解决方法

做开发一定要注重细节。在项目中对List进行操作时报错java.lang.UnsupportedOperationException,后来发现操作的List是由数组转换而成的,通过看源码发现问题,并写测试程序如下。代码块: public class ListTest { public static void main(String[] args) { S...

2020-03-25 20:15:38 596

转载 Lambda表达式排序,出现空指针异常

问题描述:对象集合中,根据对象的某个属性进行升降排序时,未考虑对应属性的null值,导致出现空指针异常。解决方法:Comparator.nullsFirst和Comparator.nullsLastList<User> nList = list.stream().sorted( Comparator.comparing(User::getCode, Comparator....

2020-03-04 11:12:38 1897

转载 web性能优化之Waiting(TTFB)简介

TTFB-首字节时间简介百度站长工具里看到有一个“首字节时间”的建议,第一次听说,还真不知道是什么东东。百度站长工具里面的解释是:“浏览器开始收到服务器响应数据的时间=后台处理时间+重定向时间,是反映服务端响应速度的重要指标”。看到这个解释,隐隐约约明白了什么意思,下面就用自己的话说一下我的理解(如果有人有权威解释,发现本解释错误,还望指正)。“首字节时间”顾名思义就是在浏览器输入目标...

2020-01-20 16:21:42 2771

转载 Zabbix系统接口文档

https://blog.csdn.net/u012469528/article/details/80916163Zabbix系统接口文档(V1.0)...

2020-01-15 17:28:13 1329

转载 MongoDB 监控指标

MongoDB uptime 启动时长asserts.user 用户的断言数量asserts.warning 警告的断言数量connections.current 当前的连接数 大于 650connections.available 可用的连接数connections.totalCreated 共创建了多少连接extra_info.heap_usage_bytes heap内...

2020-01-08 17:42:06 836

转载 zabbix基本监控各指标简解

zabbix基本监控各指标简解监控项目及使用模板监控http和https:Template App HTTP Service Template App HTTPS Service监控cpu,内存,网络等:Template OS Linux(Template App Zabbix Agent)监控端口:Template ports Discovery(...

2020-01-08 17:01:52 1902

转载 k8s Kubernetes中文文档

Kubernetes中文文档Kubernetes概述 Kubernetes设计架构 kubernetes设计理念 创建Kubernetes集群 基于Docker本地运行Kubernetes 使用Vagrant 本地运行Kubrenetes v1.0 Google Computer Engine入门 AWS EC2快速入门 在Azure上使用CoreOS和Weave的 Kube...

2019-12-31 15:44:33 436

转载 Java Lambda表达式forEach无法跳出循环的解决思路

如果你使用过forEach方法来遍历集合,你会发现在lambda表达式中的return并不会终止循环,这是由于lambda的底层实现导致的,看下面的例子:public static void main(String[] args) { List<String> list = Lists.newArrayList(); list.add("a"); list.add("...

2019-12-31 15:41:35 2610

原创 mysql text字段最大为64kb

今天往某个text字段存json返回值 结果发现有时候超过限制了,最多可以存储65535字节。在mysql中,一个text文件中,存储字节的范围为0~65535字节,换算单位也就是64KB。因此,mysql中text最多可以存储65535字节。text文件有tinytext、text、mediumtext和longtext四种类型,这四种类型有着相同的最大长度和存储的需求。...

2019-12-20 15:23:58 2840

转载 gitlab 修改超级管理员密码

官方修改密码:(http://docs.gitlab.com/ce/security/reset_root_password.html)root权限登录gitlab server 服务器[root@web1 ~]# gitlab-rails console production--------------------------------------------------------...

2019-12-18 14:10:19 308

原创 java collection addAll 操作需要非空判断

List<String> result ; Set<String> setResult = new HashSet<>(); days.stream().forEach(t->{ Set<String> set =(Set<String> ) redisTemplat...

2019-12-13 15:40:39 1450

转载 搞定 Joda-Time 常用操作

1 开始使用https://github.com/JodaOrg/joda-time compile 'joda-time:joda-time:2.9.9'2 时间实例 // 年,月,日,时,分,秒,毫秒 DateTime dateTime1 = new DateTime(2017,6, 16, 0, 0, 0, 333); //...

2019-11-28 17:29:03 508

转载 Redis - 使用规范

一:Redis 概述  - Redis 是内存级别的数据库,在一台普通电脑上,Redis 3.X 便可以读取 10 万个键值对(现在的Redis官方版本已经更新到了5.X,性能会更好)。二:关于Redis 和 Memcached 的性能问题。  - 理论上 Memcached 为多线程模型,会比 Redis 性能好。  - 但是,Redis的性能已经足够好,在大部分场合下性能...

2019-11-12 15:29:41 223

转载 阿里巴巴Java开发手册

Table of ContentsPreface1. Programming SpecificationNaming ConventionsConstant ConventionsFormatting StyleOOP RulesCollectionConcurrencyFlow Control StatementsCode CommentsOther2. Exceptio...

2019-11-05 19:22:24 2772 1

原创 jsoup之 getElementsByAttributeValue getElementsByAttributeValueStarting attributes用法

语法1public ElementsgetElementsByAttributeValue(String key, String value) 寻找属性为指定值的元素。不区分大小写。代码1 if(td.text().indexOf("error")==-1) return;// Elements style = tabl...

2019-10-09 15:29:33 4489 2

原创 java lambda对数组的元素trim操作

String[] strTrimArray = {"tom ","jack"} ; List<String> collect = Arrays.asList(strTrimArray).stream().map(String::trim).collect(Collectors.toList()); collect.forEach(Sy...

2019-09-26 15:37:35 3223 1

原创 springboot2.x 整合elasticsearch5.6.3 遇到的问题

首先说明基于TransportClient整合如果项目SpringBoot1.5.X以下的,那么elasticSearch.jar最高是2.4.4版本的,只有SpringBoot2.X+,elasticSearch.jar才是5.X+ 如果你的SpringBoot是1.5.X以下,那你又想用elasticSearch.jar5.X+怎么办呢,那就不要用spring...

2019-09-11 14:52:19 1647 2

转载 es match、match_phrase、query_string和term的区别

一)text字段和keyword字段的区别以下给出一个例子:首先建立一个索引和类型,引入一个keywork的字段:PUT my_index{ "mappings": { "products": { "properties": { "name": { "type": "keyword" } }...

2019-09-10 17:23:54 5517 3

转载 kafka副本机制之数据可靠性

一、概述  为了提升集群的HA,Kafka从0.8版本开始引入了副本(Replica)机制,增加副本机制后,每个副本可以有多个副本,针对每个分区,都会从副本集(Assigned Replica,AR)中,选取一个副本作为Leader副本,所有读写请求都由Leader副本处理,其余的副本被称为Follwer副本,其会从Leader副本拉取消息更新到本地。因此,Follower更像是Leader的...

2019-08-14 17:29:52 275

转载 Cat 跨线程之 ForkedTransaction 用法和原理分析

package com.dianping.cat.message.internal;import com.dianping.cat.Cat;import com.dianping.cat.message.ForkedTransaction;import com.dianping.cat.message.Message;import com.dianping.cat.message.T...

2019-08-09 16:46:24 651

原创 三元表达式 一个优先级的问题

有问题的正确的

2019-08-06 16:09:42 758

转载 jdk8 jvm配置参数说明

转载https://www.cnblogs.com/syuf/p/10183683.html这些选项是特定于Java HotSpot虚拟机的通用选项。-X显示所有可用-X选项的帮助。-Xbatch禁用后台编译。默认情况下,JVM将该方法编译为后台任务,以解释器模式运行该方法,直到后台编译完成。该-Xbatch标志禁用后台编译,以便所有方法的编译作为前台任务继续进行,直到完成。...

2019-07-29 15:17:23 729

原创 java map 对key排序

map<k,v> 对key排序1 如果key为String类型 使用Treemap即可TreeMap<String,Integer> p = new TreeMap<>();p.put("desc",100);p.put("cdn",1000);p.put("hight",900);p.put("about",60);System.o...

2019-07-23 14:44:08 351

空空如也

空空如也

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

TA关注的人

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