- 博客(86)
- 资源 (25)
- 问答 (1)
- 收藏
- 关注
原创 JAVA 架构师路线
Java基础知识JVM性能调优1. Java内存区域对象内存结构分析堆参数设置和内存溢出实战2. 垃圾回收器和内存非配策略GC算法分代收集垃圾回收器GC日志解读内存分配与回收策略内存泄露和内存溢出辨析3. JVM的执行子系统Class类文件的本质类加载机制方法调用详解基于栈的字节码解析执行引擎4. 深入了解性能优化常用的性能评价/测试指标常用的性能优化手段详细了解应用服务器性能优化网络编程与高效IO1. Netty应用
2020-07-31 22:28:39 145
原创 LongAdder原理分析
https://blog.csdn.net/jiangtianjiao/article/details/103844801/
2020-07-31 20:41:35 81
转载 redis的三种集群方式
redis的三种集群方式redis有三种集群方式:主从复制,哨兵模式和集群。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令; 从服务器收到快照文件后丢弃所有旧数据,载入收到的快照; 主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令; 从服务器完成...
2020-07-31 20:26:50 113
转载 MySQL主从延时这么长,要怎么优化?
https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/83067200
2020-07-31 20:17:48 91
转载 让bug无处藏身,Java 线上问题排查思路、常用工具
本文总结了一些常见的线上应急现象和对应排查步骤和工具。分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。只不过这里先提示一下。在线上应急过程中要记住,只有一个总体目标:尽快恢复服务,消除影响。不管处于应急的哪个阶段,我们首先必须想到的是恢复问题,恢复问题不一定能够定位问题,也不一定有完美的解决方案,也许是通过经验判断,也许是预设开关等,但都可能让我们达到快速恢复的目的,然后保留部分现场,再去定位问题、解决问题和复盘。在大多数情况下,我们都是先优先恢复服务,保留下当
2020-07-30 19:18:10 173
转载 linux find 命令查找文件和文件夹
查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print详解:find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。语法find(选项)(参数)选项-amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位..
2020-07-30 10:59:38 5647
原创 AWK
统计模糊条件数据量:grep 'XXXX[1-9][1-9]毫秒' catalina.2018-06-12.out | wc -l平均耗时:grep 'XXXX' query-XXXX.2019-05-25.log| awk -v head="耗时:" -v tail="ms" '{print substr($0,index($0,head)+length(head),index($0,tail)-index($0,head)-length(head))}'|awk '{sum+=$1} END .
2020-07-30 10:45:47 94
转载 ConcurrentHashMap总结
原文:https://my.oschina.net/hosee/blog/675884并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩)O)。ConcurrentHashMap的设计与实现非常精巧,大量的利用了volatile,final,CAS等lo
2020-07-30 08:48:46 397
原创 JAVA 工具类
Spring扩展的集合LinkedMultiValueMap和ConcurrentReferenceHashMap解析https://msd.misuland.com/pd/4146263811541696648
2020-07-30 08:47:50 67
转载 spring线程池ThreadPoolTaskExecutor与阻塞队列BlockingQueue
https://www.cnblogs.com/lic309/p/4186880.html
2020-07-30 08:40:55 214
原创 Java常用工具类
Java 常用工具类一)日期工具类[DateUtil]1.计算给定时间至今的天数:long date2day(String date)2.得到当前年:intgetYear()3.得到当前月:intgetMonth()4.得到当前日:intgetDay()5.返回当前月(01~12):String getMonth2()6.返回当前日(01~31):String getDay2()7.返回指定格式的当前时间:StringgetD...
2020-07-29 20:55:51 869
原创 高手总结java常用API
Java常用API的运用,效率及技巧1.Java面向对象基本概念2.System3.String, StringBuffer4.数值,字符,布尔对象与简单类型的操作5.Class, ClassLoader6.Java IO系统7.Java集合类8.ResourceBundle, Properties9.Exceptions10.JDBC类库11.常用设计模式...
2020-07-29 20:52:24 242
原创 java 基础
谈谈final, finally, finalize的区别:final:::修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally:::再异常处理时提供 finally 块来执行任何清除操作.
2020-07-29 20:43:58 169
原创 actuator
management.endpoints.web.exposure.include=*management.endpoint.health.show-details=always
2020-07-29 20:42:33 83
原创 ES 运维
查看段内存大小curl -s -uelastic:changeme 'http://IP:9200/_cat/segments?v'curl -s -uelastic:changeme 'http://IP:9200/_cat/nodes?v&h=segments.count,segments.memory,segments.index_writer_memory,segments.version_map_memory,segments.fixed_bitset_me...
2020-07-29 20:24:13 931
原创 查询嵌套子对象
GET index/_search?{ "_source": ["contactList"], "size":10,"query":{ "nested": { "path": "addressList", "query":{ "match_all": {} } }}}
2020-07-29 20:16:02 228
原创 druid web.xml 配置密码访问
<servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <param-name>loginUsername</param-name> ...
2020-07-29 20:15:26 921
原创 Address already in use : connect 异常的解决办法
Address already in use : connect 异常的解决办法netstat -aux 查看会有一大堆状态为 TIME_WAIT 的连接
2020-07-29 20:10:17 638
原创 Jstack
win Jstack 查看堆栈信息Jstack -l 18832 >> 123.txthttps://www.cnblogs.com/jilodream/p/5107785.html92e76708e5bd96a02cf88d0c9dcce4c6
2020-07-29 20:09:20 73
原创 grep -n sed -n 显示文件X行到Y行的内容
grep -n读取指定行sed -n '18p' data.txtsed -n '开始行,结束行p' data.txt;显示文件X行到Y行的内容:命令:sed -n '10,18p' data.txt
2020-07-29 19:20:46 182
原创 ES cat 系列
GET /_cat/nodes?vGET /_cat/indicesGET /kibana_sample_data_ecommerce/_settingsGET /kibana_sample_data_ecommerce/_mappingGET /_cat/indices?v&h=health,status,index
2020-07-28 16:22:36 328
原创 canal 在ZK 中的目录
/otter/canal:canal的根目录/otter/canal/cluster:整个canal server的集群列表/otter/canal/destinations:destination的根目录/otter/canal/destinations/dest1/running:服务端当前正在提供服务的running节点/otter/canal/destinations/dest1/cluster:针对某个destination的工作集群列表/otter/canal/destina
2020-07-28 16:06:50 780
原创 canal 相关SQL
SHOW BINARY LOGS;SHOW BINLOG EVENTS IN 'mysql-bin.000542';SHOW MASTER STATUS;show variables like 'binlog_format';show variables like 'log_bin';select version();
2020-07-28 16:04:36 282
原创 技术参考
Java性能调优实战https://time.geekbang.org/column/intro/185?utm_term=zeusP6SMY&utm_source=geektime&utm_medium=meizhoujingyao&utm_campaign=185-presell&utm_content=meizhoujingyao有赞亿级订单同步的探索与实践https://www.infoq.cn/article/QxFxSOt5UuH1-WqJwMQ.
2020-07-28 16:00:40 68
原创 查看 进程 启动时间 CPU MEM 排序
ps -p 7235 -o lstartps -p 7235 -o lstart查看7235进程启动时间STARTEDFri Jul 12 21:12:00 2019一、按进程的CPU使用率排序运行top命令后,键入大写P。有两种途径:a) 打开大写键盘的情况下,直接按P键b) 未打开大写键盘的情况下,Shift+P键二、按进程的内存使用率排序运行top命令后,键入大写M。有两种途径:a) 打开大写键盘的情况下,直接...
2020-07-27 18:52:49 305
原创 kafka 监控
https://xuemengran.blog.csdn.net/article/details/103875884KafkaOffsetMonitor-assembly-0.4.1-SNAPSHOT.jarKafkaOffsetMonitor-assembly-0.2.1.jarpackage com.test;import java.util.*;import java.util.Map.Entry;import kafka.api.PartitionOffsetRequestIn
2020-07-27 18:28:33 168
转载 java如何获取一个对象的大小
When---什么时候需要知道对象的内存大小在内存足够用的情况下我们是不需要考虑java中一个对象所占内存大小的。但当一个系统的内存有限,或者某块程序代码允许使用的内存大小有限制,又或者设计一个缓存机制,当存储对象内存超过固定值之后写入磁盘做持久化等等,总之我们希望像写C一样,java也能有方法实现获取对象占用内存的大小。How---java怎样获取对象所占内存大小在回答这个问题之前,我们需要先了解java的基础数据类型所占内存大小。数据类型 所占空间(byte) byte .
2020-07-26 21:58:53 1612
转载 细说 Mongodb、Redis、Mysql 数据同步机制
数据库集群具有数据备份、负载均衡等功能。比如 Mongodb 的复制集模式,Redis、Mysql 的主从模式。这些模式均有它们各自的实现方式。有相同之处也有截然不容的处理方式。MongodbMongoDB 复制集模式数据同步主要分两类:Initial Sync 初始化同步,可理解为全量同步; Replication 拉取同步源 oplog 进行重放,可理解为增量同步。在解释两类模式前先介绍 Mongodb 的 oplog 日志。在 Mongodb 中的 oplog 是一个固定长度(可设置)
2020-07-26 17:10:03 888
原创 为什么阿里规定需要在事务注解@Transactional中指定rollbackFor?
https://blog.csdn.net/weixin_36380516/article/details/107587959
2020-07-26 17:01:36 110
转载 Java 的最佳实践
Java 是在世界各地最流行的编程语言之一, 但是看起来没人喜欢使用它。而 Java 事实上还算是一门不错的语言,随着 Java 8 最近的问世,我决定编制一个库,实践和工具的清单,汇集 Java 的一些最佳实践。本文被放到了Github上。你可以随意地提交贡献,并加入自己的有关 Java 方面的建议和最佳实践。风格 Javadoc 构建器模式 结构 依赖注入 避免空值 默认不可变更 避免大量的工具类 格式化 流 发布 依赖收敛 框架...
2020-07-25 16:52:46 1384
原创 实战Java高并发程序设计 目录
内容简介前言第1章 走入并行世界1.1 何去何从的并行计算1.1.1 忘掉那该死的并行1.1.2 可怕的现实:摩尔定律的失效1.1.3 柳暗花明:不断地前进1.1.4 光明或是黑暗1.2 你必须知道的几个概念1.2.1 同步(Synchronous)和异步(Asynchronous)1.2.2 并发(Concurrency)和并行(Parallelism)1.2.3 临界区1.2.4 阻塞(Blocking)和非阻塞(Non-Blocking)1.2.5 死锁(Deadlock)、
2020-07-25 16:38:24 240
转载 听说你很懂集合源码,接我二十道问题!
问题一:看到这个图,你会想到什么?(PS:截图自《编程思想》)答:这个图由Map指向Collection的Produces并不是说Map是Collection的一个子类(子接口),这里的意思是指Map的KeySet获取到的一个视图是Collection的子接口。我们可以看到集合有两个基本接口:Map和Collection。但是我个人认为Map并不能说是一个集合,称之为映射或许更为合适,因为它的KeySet视图是一个Set类型的键集,所以我们姑且把它也当做集合。Collection继承了I
2020-07-25 14:55:26 155 1
原创 grep sed 或与
grep -n读取指定行sed -n '18p' data.txtsed -n '开始行,结束行p' data.txt;显示文件X行到Y行的内容:命令:sed -n '10,18p' data.txt
2020-07-24 10:44:43 86 1
原创 阿里日志规范
https://www.jianshu.com/p/256d4dd0bd0e【强制】应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架 SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。import org.slf4j.Logger;import org.slf4j.LoggerFactory;private static final Logger logger = LoggerFactory.getLogger(A
2020-07-21 20:18:38 1723 1
原创 MySQL的show global variables like “%timeout%“;
http://gxg353.blog.sohu.com/232999339.html因为最近遇到一些超时的问题,正好就把所有的timeout参数都理一遍,首先数据库里查一下看有哪些超时:root@localhost : test 12:55:50> show global variables like "%timeout%";+----------------------------+--------+| Variable_name | Value |.
2020-07-21 19:58:11 6841
JAVA htmlunit 抓取不到 页面 元素
2017-02-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人