- 博客(67)
- 资源 (2)
- 收藏
- 关注
原创 NAT网关在阿里云的应用
NAT网关(Network Address Translation Gateway)是一种网络地址转换服务,提供NAT代理(SNAT和DNAT)能力。NAT是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决IPv4地址短缺而开发的技术。
2023-10-16 03:58:02 755
原创 Linux alias创建快捷访问地址
有时候我们有好多地址需要访问,不想全路径去切换,那我们就需要一些快捷命令跳到目标地址, alias可以帮到你
2022-04-23 06:53:15 2530
原创 linux x86_64和linux aarch64如何选择
我们选择linux安装包的时候经常有两种选择,一种是x86_64,一种是aarch64版本,如下那么x86_64和aarch64有什么区别呢?以下这个文章给出了很详细的解答https://www.jianshu.com/p/2753c45af9bf服务器一般都是x86_64.也可以通过以下命令确定[sandwich@centos-elk ~]$ archx86_64[sandwich@centos-elk ~]$ uname -aLinux centos-elk 3.10.0-1160.
2022-04-23 05:34:12 19137
原创 max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
elasticsearch启动报错,受限于max open files数量
2022-04-19 07:44:53 5156
原创 动态追踪技术底层分析(字节码插桩)
动态追踪技术是可以不用重启线上java项目来进行问题排查的技术。比如Arthas就属于一种动态追踪工具,它提供的monitor, trace, watch命令就是用动态追踪技术实现的。 Arthas工具的基础,就是Java Agent技术,可以利用他来构建一个附加的代理程序,用来协助检测性能,还可以替换一些现有的功能,甚至jdk的类也能修改,就像JVM级别的AOP功能当我们研究技术到一定深度的时候我们就不能满足于使用了,我会思考它是怎么实现的,我们在工作中能不能开发出类似的辅助工具来帮助自己和同事呢?
2022-03-24 09:42:10 1491
原创 Arthas使用
1.Arthas是什么Arthas是Alibaba开源的Java诊断工具他主要解决以下问题1.这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?2.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?3.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?4.线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!5.是否有一个全局视角来查看系统的运行状况?6.有什么办法可以监控到JVM的实时运行状态?7.怎么快速定
2022-03-02 07:54:10 1180
原创 JDK的武器库
JDK为我们提供了不少的工具,如下图所示![](https://upload-images.jianshu.io/upload_images/17663286-b8619b341a151722.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)这些可执行文件都是不错的工具,掌握他们就是掌握JVM分析的武器库。 在windows平台下,他们是exe文件,在其他平台,文件格式会有所不同。 在linux中,一般默认会自带OpenJdk,一般情
2022-01-29 09:16:51 1100
原创 虚拟机是如何实现泛型的
泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样
2022-01-18 00:17:07 698
原创 Lambda表达式
1.Lambda的字节码我们先来看看一个Runnable的代码段接着我把它改造成Lambda表达式,再看一下它的字节码由此可见它的字节码是invokedynamic。invokedynamic这个字节码是比较复杂。和反射类似,它用于一些动态的调用场景,但它和反射有着本质的不同,效率也比反射要高得多。用以下命令反汇编D:\git\test\target\classes\sandwich\test7> javap -p -v .\LambdaTest.class可以得到以一串比较奇怪
2022-01-10 09:13:18 495
原创 JVM方法调用
代码的执行其实本质上是方法的执行,站在JVM的角度归根到底还是字节码的执行。main函数是JVM指令执行的起点,JVM会创建main线程来执行main函数,以触发JVM一系列指令的执行,真正地把JVM跑起来。这个过程就是方法调用的过程。在一些重型框架中,我们有时候看不到main在哪里,那是因为被框架封装了,但是在各种微服务中,我们都能轻松找到main方法。接下来,我们深入了解方法在JVM中的调用。1.方法调用的字节码指令invokestatic 用来调用静态方法;invokespec
2022-01-08 10:21:13 839
原创 Centos 搜索文件路径
我们试试确认sudoers位置普通用户用find查找很难找,因为有很多需要root权限才能看的文件都会deny, 干扰搜索效果切换会root再查[sandwich@192 ~]$ suPassword: [root@192 sandwich]# find / -name sudoersfind: ‘/run/user/1000/gvfs’: Permission denied/etc/sudoers/usr/share/doc/sudo-1.8.23/examples/sudoers可
2021-11-08 06:45:09 1719
原创 centos7 ens33无ip地址查错
1.网络不正常原因修改网络配置后发现不能上网了,执行ifconfig看到ens33已经没有IP地址,如下[sandwich@centos-elk ~]$ ifconfigdocker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:fb:27:2d:97 txqu
2021-11-03 07:18:36 892
原创 Docker部署ElasticSearch(Centos 7)
1.搜索ElasticSearch镜像[sandwich@192 ~]$ docker search elasticsearchNAME DESCRIPTION STARS OFFICIAL AUTOMATEDelasticsearch Elasticsearch is a po
2021-11-01 05:21:24 1435
原创 为Docker配置国内镜像源(centos)
这里配置为阿里的镜像。访问阿里云官网 https://www.aliyun.com/ 登陆账号,进入管理控制台 --> 产品与服务 --> 弹性计算 --> 容器镜像服务 --> 镜像加速器,复制自己的专属加速器地址sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "regist
2021-11-01 02:04:23 503
原创 Centos7 安装docker以及新系统可能会出现的问题
这个时候centos官方已经主推centos8了,但是8的镜像我下载完已经有8.6G了,相对于7的4G多的空间,再加上企业目前生产主流用的还是7,所以我在虚拟机还是继续玩7。Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。我这里用社区版测试1.查看centos内核版本(docker要求centos内核版本高于3.10)[sandwich@192 ~]$ uname -r3.10.0-957.el7.x86_642.使用root权限更新yum, 确保yum是
2021-11-01 01:24:11 367
原创 xxx is not in the sudoers file.This incident will be reported.的解决方法
新装的虚拟机用户没有sudo权限会弹出以下警告,无法用root权限去更新yum执行sudo yum -y update的时候[sandwich@192 ~]$ sudo yum -y updateWe trust you have received the usual lecture from the local SystemAdministrator. It usually boils down to these three things: #1) Respect the privac
2021-10-31 22:36:28 244
原创 Windows如何安装linux子系统
很多用windows的开发人员其实非常羡慕Mac用户可以在Mac上直接使用linux命令安装软件和操作计算机的,现在windows 10以上的系统也支持安装一个linux子系统,方便个人测试使用,让你不再需要安装虚拟机也能做linux的测试。下面我们来装Linux子系统(微软把它称作Windows Sub Linux)玩玩吧.我本机是window 11预览版一、安装步骤1.在系统设置搜索“启动或关闭Windows功能”2.把“适用于Linux的Windows子系统”打开确定后它会自动下载相关
2021-10-26 23:05:48 1112
原创 mysql windows版忘记root密码如何修改
最近在测试一下mysql的sys库发现需要root权限,但是我平时都是用root创建出来的来宾用户访问,root密码早忘记了。这下要重新找回root密码了。好久没有操作过了,记录一下被我优化过的百度搜到的步骤。1.用管理员权限打开cmd执行net stop mysql停止应用2.进入mysql的bin目录执行D:\Software\mysql-5.7.23-winx64\bin>mysqld --skip-grant-tables3.免密登陆MySQLD:\Software\mysql-
2021-09-28 09:34:35 117
原创 MySQL中的系统库—performance_schema
1.系统库简介系统库中的数据很重要, 没有对 MySQL 有全面通盘的了解,不宜去操作其下的数据,而且对系统库的管理维护是是 DBA 的职责。MySQL 有几个系统数据库,这几个数据库包含了 MySQL 服务器运行过程中所需的一些信息以及一些运行状态信息,我们现在稍微了解一下。performance_schema这个数据库里主要保存 MySQL 服务器运行过程中的一些状态信息,算是对 MySQL 服务器的一个性能监控。包括统计最近执行了哪些语句,在执行过程的每 个阶段都花费了多长时间,内存的
2021-09-27 22:35:39 1202
原创 MySQL体系架构
1. MySQL的组成由上图看出MySQL由上面的连接层和下面的服务器组成。服务器由连接池、管理工具和服务, SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。连接池:由于每次建立建立需要消耗很多时间,连接池的作用就是将这些连接缓存下来,下次可以直接用已经建立好的连接,提升服务器性能。管理工具和服务:系统管理和控制工具,例如备份恢复、Mysql 复制、集群等。SQL接口:接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface。解析.
2021-09-25 07:53:38 126
原创 电脑变慢了怎么办
如果电脑永久了变得又卡又慢,一般是文件系统损坏导致的,可以按照以下步骤修复磁盘系统和损坏文件试试#1.在任务管理器以管理员身份新建任务,打开cmd#2.执行chkdsk, 自动检测磁盘系统C:\WINDOWS\system32>chkdsk文件系统的类型是 NTFS。卷标是 系统。警告! 未指定 /F 参数。将在只读模式下运行 CHKDSK。阶段 1: 检查基本文件系统结构... 已处理 959744 个文件记录。文件验证完成。 已处理 27249 个大型文件记录。
2021-07-15 23:15:27 711
原创 如何提升自己电脑网速
#1. win+R, 输入gpedit.msc打开本地策略编辑器#2. Windows设置>基于策略的QoS,右键打开高级QoS设置选择最大吞吐量#3.打开限制可保留带宽#4.启用并设置带宽限制为0如果禁用或未配置此设置,则系统使用默认值为 20% 的连接带宽所以我们启用它并设置带宽限制为0,应用>确定...
2021-07-14 06:01:29 325
原创 如何在idea(Intellij, Webstorm, PyCharm, GoLand等)打开外部工具
有时候我们在idea写代码的时候需要调用其他外部工具,怎样才能更快速调用呢?我这里以git bash为例有人可能会说,我直接用Windows搜索不就好了吗?我可以告诉你,有更方便的方法1. 打开Setting>Tools>External Tools2. 添加git bash的可执行文件地址3. idea上打开git bash选择要打开的路径右键>ExternalTools>git bash4. 给外部工具设置快捷键5. 用快捷键打开git bash(我
2021-07-14 05:59:12 311
原创 app微信企业付款注意事项-ip白名单
企业付款到零钱不复杂,请参考官方文档https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2做企业付款到零钱的时候我遇到一个坑,就是ip地址这个ip地址一定是要你发送请求的公网ip地址,无论客户端或者服务端。我的理解是如果前端直接发送请求到微信后台接口,就要用客户端的公网ip,如果是服务端直接发送请求到微信后台接口,就需要用服务端的公网ip。而且这个ip地址必需先添加到商户白名单。添加ip白名单的流程如下:1
2021-07-14 05:58:17 4027
原创 sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_max: No such file or directory
sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_max: No such file or directory我优化k8s内核参数的时候设置了如下参数cat > kubernetes.conf <<EOFnet.bridge.bridge-nf-call-iptables=1net.bridge.bridge-nf-call-ip6tables=1net.ipv4.ip_forward=1net.ipv4.tcp_
2021-07-14 05:56:02 3704
原创 k8s集群修改节点和master的hostname之后需要如何调整(踩坑之旅)
我把k8s集群master和node的hostname全部修改后发现kube ndoes 还是原来的样子[root@k8s-master1 ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master-m1 Ready master 13h v1.15.1k8s-node-n1 Ready <none> 13h v1.15.1k8s-node-n2
2021-07-14 05:55:14 4065 1
原创 centos同步时间
time.windows.com和time.nist.gov,看域名应该都来复自美国全世界的windows计算机基本都用它们来校时。制'time.nist.gov为美国标准技术院,采用格灵威2113时间 (192.43.244.18)time.windows.com看到Windows就知道是微5261软的,微软的校时服务4102器。其它:'www.time.ac.cn为中科院国家授时中心,采用北京1653时间ntp.fudan.edu.cn (复旦)这几个都是常用来更新时间的域名,有时会失败,失
2021-07-14 05:54:32 134
原创 centos7设置静态ip和增加hostname访问
1.修改前查一下动态的gateway[root@centos-node1 sandwich]# netstat -rnKernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface0.0.0.0 172.16.71.2 0.0.0.0 UG 0 0 0 ens33172.16.71.0
2021-07-14 05:53:50 389
原创 Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter at io.jsonwebtoken.impl.Base64Codec.decode(Base64Codec.java:26) at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:99) at com.ruoyi.framework.web.service.
2021-07-14 05:51:57 555
原创 Django Admin模块
Django Admin模块是什么1.Django的后台管理工具2.读取定义的模型元数据,提供强大的管理使用页面为什么需要Django Admin模块1.Django Shell新增文章太复杂了2.管理页面是基础设施中得要的部分3.认证用户、显示管理模型、校验输入等功能类似创建admin用户(base) D:\git\django\demo>python manage.py createsuperuserUsername (leave blank to use 'sandwich')
2021-07-14 05:50:10 136
原创 Java程序运行过程
一个 Java 程序,首先经过 javac 编译成 .class 文件,然后 JVM 将其加载到方法区,执行引擎将会执行这些字节码。执行时,会翻译成操作系统相 关的函数。JVM 作为 .class 文件的翻译存在,输入字节码,调用操作系统函数。 过程如下:Java 文件->编译器>字节码->JVM->机器码JVM 全称 Java Virtual Machine,也就是我们耳熟能详的 Java 虚拟机。它能识别 .class 后缀的文件,并且能够解析它的指令,最终调用操作系统..
2021-07-14 05:49:51 133
通过串口和51单片机控制舵机转动(有4种转动方式)
2010-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人