nmon analyser v66.rar
用于分析nmon文件生成execl图表,需要启用宏
MemoryAnalyzer-1.12.0.20210602-win32.win32.x86_64.zip
java内存分析工具,可用于查看内存,分析内存泄露的问题;
ps或jps先查看java进程的进程pid然后替换下面名的pid执行
jmap -dump:format=b,file=D:/dump.hprof pid
然后打开MemoryAnalyzer.exe左上角菜单File-->open File... 选择你生成的dump.hprof文件
加载dump.hprof文件后会生成内存泄露报告
jython-standalone-2.70.zip
包含jython-standalone-2.7.0.jar,用于java调用Python,(Use this to run Jython without installing or to embed Jython in a Java application)
apache-log4j-2.14.1.zip
log4j-2.14.1的jar及src包。下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/logging/log4j/2.14.1/apache-log4j-2.14.1-bin.zip
flink-1.13.1-bin-scala_2.12.tgz
fink安装包
下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.13.1/flink-1.13.1-bin-scala_2.12.tgz
jdk11官网下载 linux+windows
jdk11官网下载地址 https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
arthas3.4-bin.zip
java性能定位工具,Java -jar arthas-boot.jar启动后选择需要定位的进程序号,然后
最消耗cpu的线程
thread -n 3
收集 5 秒, 然后输出 top 5 的 CPU 消耗的线程
thread -n 5 -i 5000
trace 命令查看方法内各调用耗时
下载地址https://github.com/alibaba/arthas/releases/download/arthas-all-3.4.3/arthas-bin.zip
Access.zip
生成二维码的java项目源码,其中servlet可支持在线二维码生成。支持生成在二维码中间包含自定义图片的二维码。
data-integration.part3.rar
kettle9.0官网下载地址https://nchc.dl.sourceforge.net/project/pentaho/Pentaho%209.0/client-tools/pdi-ce-9.0.0.0-423.zip
文件较大1.5G,所以切分为3个包。
data-integration.part2.rar
kettle9.0官网下载地址https://nchc.dl.sourceforge.net/project/pentaho/Pentaho%209.0/client-tools/pdi-ce-9.0.0.0-423.zip
文件较大1.5G,所以切分为3个包。
data-integration.part1.rar
kettle9.0官网下载地址https://nchc.dl.sourceforge.net/project/pentaho/Pentaho%209.0/client-tools/pdi-ce-9.0.0.0-423.zip
文件较大1.5G,所以切分为3个包。
mysql-5.7.29-winx64.zip
mysql-5.7.29-winx64.zip mysql5.7版本数据库安装文件
下载地址: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-winx64.zip
dexpot_1613_r2429.exe
win7多桌面软件Dexpot,官网下载,下载地址https://dexpot.en.softonic.com/
cache-api-1.0.0.jar
cache-api-1.0.0.jar JSR107FinalSpecification ,缓存规范
代码整洁之道读书笔记.zip
个人读书笔记,学习共享,希望每个苦恼于代码一坨坨混乱不堪的程序员都能学习.
* 整洁代码的意义?
可读性,可维护性。
* 如何写出整洁代码?
1.只做一件事
2.不重复
3.有表达力
* 整洁代码的态度要求,要遵守的军规?
专业 和责任。让营地比你来时更干净,拒绝破窗效应。
* 写出整洁代码的具体做法?
有意义的命名(表达力,可读性)
函数只做一件事,每个函数一个抽象层级,短小不重复。
注释是代码缺乏表达力时的弥补措施,好的代码自我注释。
格式要统一,有层次,易理解。
类,权责对应,内聚,只做一件事。得墨忒耳定律:模块不应该了解所操作的类的内部情况。
对象方便增加子类,数据结构方便增加新操作方法。
错误处理应该独立于主逻辑之外。
迭代、 逐步改进、重构。
jdk-12.0.2_linux-x64_bin.tar.gz官网下载
jdk-12.0.2_linux-x64_bin.tar.gz
linux系统64位JDK12安装包
java多线程安全性基础介绍.pptx
java多线程安全性基础介绍
线程安全
正确性
什么是线程安全性
原子性
竞态条件
i++
读i
++
值写回i
可见性
JMM
由于cpu和内存加载速度的差距,在两者之间增加了多级缓存导致,内存并不能直接对cpu可见。
各线程之间变量不可见,线程通信通过共享主内存实现。
volatile
仅保证可见性
作用
不会被缓存在寄存器或其他对cpu不可见的地方
强制其他线程读主内存
编译器和运行时不会讲该变量的操作与其他内存操作一起重排序
锁不仅保证原子性还保证可见性
有序性
多个线程操作共享对象导致的状态不一致问题
原因
共享资源的竞态条件问题
问题
竞态条件
指令重排序
工作内存中主内存同步延迟
解决
要有安全策略文档或注释
不共享
线程封闭
仅在单线程内访问数据
栈封闭
局部变量
threadLocal
为每个线程保存一个副本
类似于一个以线程id为key的map
不可变对象状态
final
关键共享资源上互斥,变并发为串行即同步
锁
分类
显示锁
Lock
Lock是个接口
实现类
ReentrantLock
可重入锁
ReentrantReadWriteLock.ReadLock
ReentrantReadWriteLock.WriteLock
隐式锁(内置锁)
Synchronized
问题
死锁
性能
线程活跃与线程饥饿
同步工具类
原子操作类
AtomicInteger等
相当于加上synchronized
也有些利用硬件底层能力CAS
gof设计模式直接导入eclipse
gof设计模式代码工程,可直接导入eclipse,包含设计模式pdf电子书。
快速软件开发.zip
快速软件开发思维导图及pdf电子书,使用freemind工具打开。
trino-server-412.tar.gz 分布式多数据源即席查询引擎Trino安装包(Presto)
trino-server-412.tar.gz 分布式多数据源即席查询引擎Trino安装包(preso)
下载地址 https://repo1.maven.org/maven2/io/trino/trino-server/412/trino-server-412.tar.gz
sqlflow-data-lineage-model-reference.pdf
sqlflow-data-lineage-model-reference.pdf
数据血缘模型的官方介绍文档,可以自己去下载https://www.sqlparser.com
主要介绍了血缘模型(表,字段,视图,函数等)及关系
jdk8解压包windows64
jdk8解压包windows64
jetty-distribution-9.4.47.v20220610
jetty9.4.47用于部署或替换jar升级jetty解决安全漏洞
下载镜像地址https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.47.v20220610/
curlftpfs-0.9.2安装包
rpm安装:
rpm -ivh curlftpfs-0.9.2-14.el7.x86_64.rpm
编译安装:
tar xvzf curlftpfs-0.9.2.tar.gz
cd curlftpfs-0.9.2
./configure
make
make install
hdfs-over-ftp安装包及说明
hdfs-over-ftp安装包及说明
clickhouse-20.5.4.40 deb安装包 Ubuntu可用
包含3个deb包clickhouse-client_20.5.4.40_all.deb,clickhouse-server_20.5.4.40_all.deb,clickhouse-common-static_20.5.4.40_amd64.deb。安装命令apt-get clickhouse*.deb
service clickhouse-server start
HP DL380z Gen9服务器用户指南
HP DL380z Gen9服务器用户指南,官网下载
mysql5.7arm64.zip麒麟arm64架构下的deb安装包
mysql5.7arm64.zip mysql5.7在麒麟arm64架构下的deb安装包
1.安装deb文件
dpkg -i *.deb
安装过程中会要求你设置的mysql的root密码
2.修改/etc/my.cnf
datadir = /data01/MPP/mysql/data
bind-address=0.0.0.0
skip-name-resolve
3.重启mysql
systemctl stop mysql.service
systemctl start mysql.service
4.查看状态
systemctl status mysqld
5.创建远程访问用户并赋权限
mysql -uroot -p
mysql> create user root identified by 'youpassword';
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;
麒麟ARM平台Docker的.deb安装包
ARM64(麒麟)平台Docker安装包:
1. 下载docker的arm的deb包可以使用
https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/arm64/
containerd.io_1.2.6-3_arm64.deb
docker-ce_19.03.8~3-0~ubuntu-xenial_arm64.deb
docker-ce-cli_19.03.8~3-0~ubuntu-xenial_arm64.deb
2. 然后在arm机器上面执行
dpkg -i *.deb
3. 设置服务自动启动等.
systemctl enable docker && systemctl restart docker
4. 查看docker版本
docker info
5. 加载镜像
docker load -i nginx.tar.gz
createrepo本地软件源安装包 createrepo-0.9.9-28.el7.noarch.rpm
createrepo构建本地软件源包含 createrepo-0.9.9-28.el7.noarch.rpm deltarpm-3.6-3.el7.x86_64.rpm python-deltarpm-3.6-3.el7.x86_64.rpm
用于创建本地仓库
安装 createrepo**:
unzip createrepo-0.9.9-28.el7.zip
cd createrepo/
rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm python-deltarpm-3.6-3.el7.x86_64.rpm createrepo-0.9.9-28.el7.noarch.rpm
在有网环境下下载安装包后(yum install yum-plugin-downloadonly -y yourpkgname),复制安装包到离线集群上,在目录下使用createrepo . 创建repo,然后在/etc/yum.repos.d/下配置repo之后yum makecache即可使用yum离线安装.
linux版本grafana+prometheus+node_exporter安装包,用于主机监控
安装包包含
grafana-enterprise-9.0.1.linux-amd64_m.tar.gz
prometheus-2.25.2.linux-amd64.tar.gz
node_exporter-1.3.1.linux-amd64.tar.gz
process-exporter-0.5.0.linux-amd64.tar.gz
mysqld_exporter-0.14.0.linux-amd64.tar.gz
redis5离线安装文件包,包含redis-5.0.14.tar.gz和redis-4.6.0.gem
sudo yum -y install gcc gcc-c++ tcl zlib zlib-devel ruby ruby-devel rubygems rpm-build
# 下载 redis-3.2.1.gem然后本地安装
sudo gem install -l ./redis-3.2.1.gem
port 6379
daemonize yes
#bind自己的ip
bind 192.168.129.101
protected-mode no
#启用集群
cluster-enabled yes
cluster-config-file nodes-7000.conf
#先启动各节点
#组成集群
redis-5.0.14/src/redis-cli --cluster create 192.168.129.98:7000 192.168.129.99:7003 192.168.129.99:7002 192.168.129.126:7005 192.168.129.126:7004 192.168.129.98:7001 --cluster-replicas
chproxy_1.15.1_linux_amd64.tar.gz clickhouse官方代理工具chproxy
chproxy是clickhouse官方代理工具,包含一个可执行的chproxy文件,直接./chproxy -config=/home/ch/config.yml &即可,将clickhouse的用户密码及集群信息配置之后即可。
下载之chproxy官网https://github.com/ContentSquare/chproxy/releases
hcache缓存cache查看工具
#https://github.com/silenceshell/hcache
#直接下载hcache文件到linux,并使用该文件即可
wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache
chmod +x hcache
sudo cp hcache /usr/local/bin/
# 一、查看前10个大文件缓存
hcache -top 10
# 查看指定pid进程号的进程缓存
hcache -pid
#可以将结果写入txt然后使用shell统计进程总缓存大小
#取大小
hcache -pid 117466 | awk '{print $4}' > cache.txt
#求和
I=0;$I=0; for N in $(cat cache.txt); do I=$(($I + $N)); done; echo $I
#ps: 一般进程缓存的文件并不会太大, 最大的可能性是读写了大文件导致文件被缓存,建议检查下是否存在无用的超大日志,查找大于1G的文件 find / -type f
clickhouse-22.2.2.1-2.x86_64.rpm离线安装包
clickhouse-22.2.2.1-2.rpm离线安装包包含clickhouse-common-static-22.2.2.1-2.x86_64.rpm,clickhouse-client-22.2.2.1-2.noarch.rpm,clickhouse-server-22.2.2.1-2.noarch.rpm共3个离线安装rpm包。
安装:
rpm -ivh clickhouse-common-static-22.2.2.1-2.x86_64.rpm
rpm -ivh clickhouse-server-22.2.2.1-2.noarch.rpm
rpm -ivh clickhouse-client-22.2.2.1-2.noarch.rpm
clickhouse start
vi /etc/clickhouse-server/config.xml
vi /etc/clickhouse-server/users.xml
修数据库目录到大容量磁盘
如果要组成集群只要分别安装单机之后再配置/etc/metrika.xml 指定相互间的分片和备份情况即可。
jackson-databind-2.9.10.8.jar升级相关jar包
jackson-databind-2.9.10.8.jar升级相关jar包包含:
jackson-module-jaxb-annotations-2.9.10.jar
jackson-core-2.9.10.jar
jackson-databind-2.9.10.8.jar
jackson-annotations-2.9.10.jar
jackson-jaxrs-json-provider-2.9.10.jar
jackson-jaxrs-base-2.9.10.jar
下载地址 https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.10.8/
redis-3.2.13安装文件集群安装文件包含redis-3.2.13.tar.gz,和redis-3.2.1.gem
redis3集群安装包.
sudo yum -y install gcc gcc-c++ tcl zlib zlib-devel ruby ruby-devel rubygems rpm-build sudo gem install -l ./redis-3.2.1.gem
启动6个redis节点,然后使用sudo /home/tydic/redis-3.2.13/src/redis-trib.rb create --replicas 1 192.168.129.98:7000 192.168.129.99:7003 192.168.129.99:7002 192.168.129.126:7005 192.168.129.126:7004 192.168.129.98:7001
即可组成集群
flink-1.5.0-bin-hadoop26-scala_2.11.tgz
flink-1.5.0-bin-hadoop26-scala_2.11.tgz
用于flink安装(1.5版本有全局锁的问题,新版本2.2无锁)
官网下载地址https://archive.apache.org/dist/flink/flink-1.5.0/flink-1.5.0-bin-hadoop26-scala_2.11.tgz