- 博客(23)
- 资源 (5)
- 收藏
- 关注
原创 CompletableFuture基本使用
CompletableFuture是什么CompletableFuture是Java8中提供的Future的扩展功能,帮助我们简化异步编程的复杂性,引入函数式编程,通过回调的方式处理计算结果,也提供了转换和组合的方法。 它可能代表一个明确完成的Future,也有可能代表一个完成阶段( CompletionStage ),它支持在计算完成以后触发一些函数或执行某些动作。 它实现了Future和CompletionStage接口 借助CompletionStage的方法可以实现链式调用 一个Comp
2022-04-02 11:05:30
3866
原创 Prometheus 相关配置及命令(个人记录)
PrometheusPrometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本官网下载地址:https://prometheus.io/download/注:darwin-amd64.tar.gz 为Mac解压版本1、配置监控节点修改解压目录下prometheus.yml 文件metrics_path: '/prometheus' 监控服务,springboot.
2020-09-27 18:39:04
3502
3
原创 Spring AOP支持的AspectJ切入点指示符
Spring AOP支持的AspectJ切入点指示符如下:指示符 含义 execution 用于匹配方法执行的连接点; within 用于匹配指定类型内的方法执行; this 用于匹配当前AOP代理对象类型的执行方法;注意是AOP代理对象的类型匹配,这样就可能包括引入接口也类型匹配; target 用于匹配当前目标对象类型的执行方法;注意是 目标对象的类型匹配,这样就不包括引入接口也类型匹配; args 用于匹配当前执行的方法传入的参数为指定类型的
2020-08-27 11:59:38
302
原创 Java快速开发脚手架
Java快速开发脚手架目录1、RuoYi 若依2.renren 人人3.eladmin4.Jeecg-boot5、vue-manage-system6、Guns7、pig8、iBase4J9、SpringBlade (2.6k star)10、COLA (2.1k star)11、SpringBoot_v21、RuoYi 若依RuoYi 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shi
2020-08-12 09:34:42
4860
原创 HttpClient 4.5.X 实现https请求绕过SSL/TLS连接
HttpClient升级部分类和方法过时,故整理新版处理方式注:本博文适用httpclient 4.5.X httpclient版本:4.5.11<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.11</version></dep
2020-05-22 22:04:45
1517
原创 Java中慎用e.printStackTrace()
Java使用框架集成的log4j、logback等统一打印日志,尽量不使用catch的e.printStackTrace()1、占用太多内存,造成锁死e.printStackTrace()要打印字符串输出到控制台上,需要字符串常量池所在的内存块有足够的空间。由于e.printStackTrace() 语句要产生的字符串记录的是堆栈信息,太长太多,内存被填满了!大量线程产出字符串等待有内存被释放,会造成相互等待内存(字符串池所属的那么点非堆内存空间),导致整个应用挂掉了。2、日志交错混合,不易读
2020-05-11 22:50:11
2619
原创 JDK1.8 HashMap原理及源码分析
概述JDK1.8对HashMap底层的实现进行了优化,引入红黑树的数据结构和扩容的优化等。 HashMap源码分析HashMap的put方法执行过程:putVal()源码分析:final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K, V>...
2018-09-21 17:52:15
719
2
原创 ConcurrentHashMap JDK1.8中结构原理及源码分析
注:本文根据网络和部分书籍整理基于JDK1.8书写,如有雷同敬请谅解 欢迎指正文中的错误之处。数据结构 ConcurrentHashMap 1.8 抛弃了Segment分段锁机制,采用Node + CAS + Synchronized来保证并发安全进行实现,采用table数组+链表+红黑树的存储结构。以table数组元素作为锁,利用CAS+Synchronized来保证并发更新...
2018-09-17 14:58:36
1501
原创 ConcurrentHashMap JDK1.7中结构原理及源码分析
注:本文根据网络和部分书籍整理基于JDK1.7书写,如有雷同敬请谅解 欢迎指正文中的错误之处。数据结构 ConcurrentHashMap是HashMap的一个线程安全的、支持高效并发的版本。在多线程并发场景下HashTable和由同步包装器包装的HashMap,都是通过使用一个全局的锁来同步不同线程间的并发访问,会带来不可忽视的性能问题。 Concurrent...
2018-09-17 14:42:25
624
原创 JDK1.7 HashMap原理及源码分析
注:本文根据网络和部分书籍整理基于JDK1.7书写与1.8版本对比介绍HashMap基本原理,文中源码为JDK 1.7 本文内容如有雷同敬请谅解,欢迎指正文中的错误之处。哈希表 哈希就是把任意长度的输入,通过散列算法,变成固定长度的输出,该输出就是散列值。哈希法又称散列法、杂凑法以及关键字地址计算法等,相应的表成为哈希表。哈希表是一种根据关键码去寻找值的数据映射结...
2018-09-17 13:59:41
330
原创 ArrayList 遍历方式及性能对比
List的几种遍历方式int num = 1000000;List<Integer> list = new ArrayList<>();for (int i = 0; i < num; i++) { list.add(i);}(1) for each循环// for eachfor (Integer v : list) {}或...
2017-12-01 11:20:54
703
原创 HashMap 遍历方式及其性能对比
HashMap的几种遍历方式int num = 10000;HashMap<Integer, String> map = new HashMap<Integer, String>();for (int i = 0; i < num; i++) { map.put(i, "第" + i + "个");} (1) for each entrySet()...
2017-12-01 11:15:19
366
翻译 tomcat 7更换log4j管理日志(官网文档)
The following steps describe configuring log4j to output Tomcat's internal logging.Create a file called log4j.properties with the following content and save it into $CATALINA_BASE/liblog4j.ro
2017-11-21 14:14:33
912
转载 mysql 提高查询速度的方法(性能优化)
SQL查询语句优化方法:show processlist : 查看mysql连接详细信息1、尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导...
2017-01-22 17:20:14
1316
转载 vsftpd详细配置
vsftpd作为一个主打安全的FTP服务器,有很多的选项设置。下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件,但针对具体情况还需要制定具体的配置方法。vsftpd的配置文件/etc/vsftpd/vsftp
2017-01-03 16:00:13
2146
转载 mysql 默认设置
甲骨文MySQL部门副总裁 Tomas Ulin在MySQL Connect 2012大会上称,甲骨文已经对MySQL Server 5.6中的默认设置进行了更改,主要如下: 设置旧值新值back_log5050 + ( max_connections / 5 ) 上限为900binlog_checksumNONECRC32
2016-12-30 17:16:00
842
转载 C3P0连接池配置
c3p0-config> default-config> 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> property name="acquireIncrement">3property> 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
2016-12-27 17:52:37
416
转载 HashSet,TreeSet和LinkedHashSet的区别
HashSet,TreeSet和LinkedHashSet的区别Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSetHashSet有以下特点
2016-12-21 15:14:19
414
转载 mysql通讯的数据包大小
1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化。解决方案:在my.ini文件中添加或者修改以下两个变量:wait_timeout=2880000interactive_timeout = 2880000关于两个变量的具体说明可以google或者看官方手册。如果不能修改my.cnf,则可以在连接数据库的时候设置CLIE
2016-12-21 15:12:20
2994
转载 Log4J日志配置详解
Log4J日志配置详解一、Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。1、LoggersLoggers组件在此系统中被
2016-12-21 12:29:10
417
转载 Linux (centos7) 防火墙命令
防火墙配置CentOS 7默认使用的是firewall作为防火墙,这里改为iptables防火墙。firewall操作:#service firewalld status; #查看防火墙状态(disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭状态 activated(running)表示为开启状态)# service ...
2016-12-14 14:33:26
33687
转载 MYSQL 双机数据同步备份(主从、双Master)
环境说明1、MySQL主服务器 IP:192.168.1.110 主机名称:MySQL Master MySQL版本:mysql-7.52、MySQL从服务器 IP:192.168.1.111 主机名称:MySQL SlaveMySQL版本:mysql-7.5+一、主从备份(数据仅从主服务同步到备份服务器)1、主备服务器上安装的mysql 需要授权远程访问 最...
2016-12-13 17:23:13
6488
转载 Linux (Centos 7) 安装Mysql
1、检测是否安装mysqlrpm -qa | grep -i mysql ()rpm -ev 文件名 (删除安装的程序)
2016-12-13 11:20:48
480
深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)
2018-10-15
Java性能优化权威指南
2018-09-30
Spring Cloud微服务实战 PDF
2018-08-14
Netty权威指南 第2版
2018-08-14
Hadoop权威指南中文(第四版)
2018-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人