jvm汇总调试 如何使用jstack分析线程状态,CPU100%#1 通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序top#2 top -Hp xxxx, xxxx是pid,可以查看该进程下各个线程的cpu使用情况top -Hp 23344# jstack pid命令查看当前java进程的堆栈状态jstack xxxxx执行 jstack xxxx的时候提示:39033: Unable to open socket file: target process not respondin
JVM内存调优 -Xms -Xmx -Xmn -Xss 参数设置 参考文档:https://blog.csdn.net/kthq/article/details/8618052参考文档:JVM参数调优总结 -Xms -Xmx -Xmn -XssXms最小堆的大小,也就是当你的虚拟机启动后,就会分配这么大的堆内存给你Xmx是指设定程序运行期间最大堆的大小。如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常。Xss是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多少线程同时...
Grafana(10445) +Pormetheus + Nginx 监控 Http API 2xx 3xx 4xx 服务端性能监控最佳实践(一)—— 炫酷的Nginx请求分析监控Nginx 平滑升级至 OpenResty
Mac M1 Silicon docker编译(解决no matching manifest for linux/arm64/v8) Silicon版本的idea和docker参考问题来源在idea里执行mvn clean package -DskipTests=true docker:build报错[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.13:build (default-cli) on project ltfxpos: Exception caught: no matching manifest for linux/arm64/v
mac pro m1 开发环境/docker 安装和使用 截止2021-1-18日ideahttps://www.jetbrains.com/idea/download/#section=mac选silicon版本javazuul版本https://www.azul.com/downloads/zulu-community/?package=jdkMavenMac(M1)下配置Maven的安装与使用
springboot 打包插件spring-boot-maven-plugin打包机制及内部结构分析 springboot 打包插件spring-boot-maven-plugin打包机制及内部结构分析
mac m1 mvn No compiler is provided in this environment 在idea中,点击compile啥的都行,在命令行执行mvn clean compile 或者 mvn clean package 都报[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project fx-mybatis-plus-generator: Compilation failure[ERROR] No comp
Spring Boot 2.x 集成 Micrometer + Prometheus + Grafana监控 在使用前先了解概念:micrometer埋点(Spring boot 2.X metrics)micrometer自定义metrics给你的SpringBoot做埋点监控--JVM应用度量框架MicrometerSpring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能
Springboot 集成 micrometer(actuator/prometheus) 报 404 百度半天也没找到原因,也可能是我搜索的方法不对。Spring Boot 使用 Micrometer 集成 Prometheus的方案都差不多,例如 链接按各种说明,主要2处:1.pom加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </depende
AccessibilityService+GestureDescription+AccessibilityNodeInfo坐标计算+点击 首先在xml中增加配置<?xml version="1.0" encoding="utf-8"?><accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeAllMask" android:accessibilityFeedbackType="feedbackGeneric" an
Postman 编码编程案例 postman使用JS编码参数时间格式化Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "H+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds
Vue 限制输入正整数(使用自定义命令directive) 自定义JSlimitPositiveInt.jsimport Vue from 'vue'// 针对 el-input做的限制,只能输入正整数const limitPositiveInt = Vue.directive('limitPositiveInt', { bind: function (el) { const input = el.getElementsByTagName('input')[0] input.onkeyup = function (e) { .
Sentry+Springboot+Vue+Android配置流程 SpringBoot第一种配置方法,会catch exception然后上报到Sentrysentry 和sping boot 主动发送异常消息第二种配置方法,上报Log到SentrySpring Boot实战之配置使用Sentry上报错误日志(二)目前采用第一种,测试代码 /** * 根据id查询 */ @ApiOperation(value = "根据id查询数据") @GetMapping(value = "/{id}") public C
Postman导入Swagger链接,使用Postman调试 用惯了Postman,回到swagger比较变扭,Postman可以切换环境,记录变量,小规模编码,比swagger灵活很多。其实用Postman导入swagger接口,可以直接用postman直接调试,流程启动项目,找到swagger地址API-docs地址,该路径会返回JSON格式数据,应用中Swagger渲染API文档页面的所有数据就是来源于此,Postman也是可以通过这些数据来渲染API文档页面打开Postman-File-import,url输入之前复制的地址,按默认值导入
mybatis plus join 处理(ew.sqlSegment)连表查询 业务场景:任务-分组表 tms_task_customer_group :task, group_id分组表 cms_customer_group :id, group_name返回:task_id, group_id, group_namexml 配置 <resultMap id="ExtendResultMap" type="com.fx.cloud.tiny.modules.tms.model.TmsTaskCustomerGroup"> <
mybatis plus 枚举类型处理(@EnumValue) 案例:男,女,后台存储的是1,2,前端展示的是男女一、创建枚举类,在需要存储数据库的属性上添加@EnumValue注解,在需要前端展示的属性上添加@JsonValue注解;package com.demo.mybatisplus.constant;import com.baomidou.mybatisplus.annotation.EnumValue;import com.fasterxml.jackson.annotation.JsonValue;public enum SexEnum
rabbitmq 命令/日志/后台说明 #查看插件列表rabbitmq-plugins list#启动Trace插件rabbitmqctl trace_on#启动日志插件命令rabbitmq-plugins enable rabbitmq_tracing#停止rabbitmqctl stop#重启rabbitmq-server restartLinux下启动rabbitmq报错:./rabbitmq-server: line 80: erl: command not found的解决办法...
RabbitMQ+MQTT+Springboot+Android开发 springboot + rabbitmq 做智能家居,我也没想到会这么简单RabbitMQ Springboot 使用说明/常见问题
RabbitMQ Springboot 使用说明/常见问题 我们先来了解下RabbitMQ中的相关概念,这里以5种消息模式中的路由模式为例。 标志 中文名 英文名 描述 P 生产者 Producer 消息的发送者,可以将消息发送到交换机 C 消费者 Consumer 消息的接收者,从队列中获取消息并进行消费 X 交换机 Exchange 接收生产者发送的消息,并根据路由键发送给指定队列 Q 队列 Queue 存储从交..
power bi 笔记 入门教程第一篇:Power BI数据可视化概述第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)图表效果精选 | 实用炫酷的Power BI自定义图表具体问题Network Navigator Chart 教程,怎么用中文的没找到,英文的Create a Network Graph in Power BI...
AccessibilityService的微信运动自动点赞(mac 环境开发) demo地址:https://github.com/fastxbox/AccessibilityServiceMonitor效果其中用到工具uiautomatorviewer查看微信视图节点(Node),mac上的路径是:/Users/用户名/Library/Android/sdk/tools/bin微信新版本的节点跟远demo不一致,用uiautomatorviewer重新查找node(有clickable属性)核心代码public class WeChatMotio
docker-compose mysql后命令行查询乱码(问号) docker 启动用,用命令进入mysql容器,查询数据乱码(问号)#进入mysql dockerdocker exec -it 50bde2256149 bash#登陆mysqlmysql -uroot -proot#查询use mallselect * from product limit 1\Gselect 后乱码按网上教程查询默认字符集#查询默认字符集 show variables like 'character_set%';发现charac.
spring boot & webstorm+vue开发 webStrom调试debug vue + live editVue + Spring Boot 项目实战(二):使用 CLI 搭建 Vue.js 项目Vue2.0 新手入门 — 从环境搭建到发布
API网关比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd API网关比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd(转)
nacos 获取配置失败 Could not resolve placeholder 百度一下,基本都是让检查Data Id是否正确 Group是否正确 重启Intellij Clean,install 重启Nacos服务器参考文档说的基本都没问题,其实更快的检查方法,是用命令看看ID,服务器是否有问题发布配置curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"发布后,可以看.
maven 命令及生命周期 定义: 生命周期是包含在一个项目构建中的一系列有序的阶段举个例子来说就是maven 对一个工程进行:验证(validate)……编译源码(compile)……编译测试源码(test-compile)……单元测试(test)……打包(package)……安装至本地仓库(install)复制到远程仓库(deploy)maven生命周期...
java getResourceAsStream 读取 resource下的资源xml 目录:读取文件 InputStream is = Generator.class.getResourceAsStream("/config/generatorConfig.xml");参考文档:Maven项目中读取src/main/resources目录下的配置文件
移动端、H5、微信小程序、百度小程序、支付宝小程序、头条小程序多端框架全面测评 小程序多端框架全面测评:chameleon、Taro、uni-app、mpvue、WePYchameleon:https://github.com/didi/chameleon mpvue:https://github.com/Meituan-Dianping/mpvue Taro:https://github.com/NervJS/taro uni-app:https://github.com/dcloudio/uni-app WePY:https://github.com/Tenc...
Intelij idea mapper/dao.xml 一直循环加载 启动项目的时候,mapper配置文件一直循环加载,项目也没有报错,一般是xml里sql语句有问题。解决方法:新建一个类,继承 org.mybatis.spring.SqlSessionFactoryBean 类,重载 buildSqlSessionFactory 方法,捕获 NestedIOException 异常,并打印异常public class FxSqlSessionFactoryBean extends SqlSessionFactoryBean { @Override
Rk3288 android USB双摄像头录制视频 Rk3288板子插2个摄像头,其中一个做监控用,需要录制视频,代码如下public class Recorder { private String TAG = Recorder.class.getSimpleName(); private static final int MEDIA_RECORDER_REQUEST = 0; private Camera mCamera; private TextureView mPreview; private Media
android 基础/开源框架/控件/UI https://github.com/topics/androidhttps://github.com/wasabeef/awesome-android-ui
SpringBoot + Elasticsearch/Logstash/Kibana 日志收集展示 ELK中各个服务的作用Elasticsearch:用于存储收集到的日志信息; Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash,Logstash再把日志转发给Elasticsearch; Kibana:通过Web端的可视化界面来查看日志。SpringBoot应用整合ELK实现日志收集...
使用UCloud docker镜像库push/pull 比较简单,官方文档https://docs.ucloud.cn/uhub/guide//本地docker login uhub.service.ucloud.cn -u xxxx@xxxx.comdocker tag springboot/ltfxpos uhub.service.ucloud.cn/ltfxpos/ltfxpos:tagdocker push uhub.service.ucloud.cn/ltfxpos/ltfxpos:tag// 服务器上docker .
Centos 7 Docker Compose 编排/处理hosts问题 之前使用docker命令进行部署,发现docker里的hosts跟centos里的hosts不一致,导致代码里通过内网域名连接Mysql出了问题,网上查了一下,有4个办法Docker修改hosts方法最终采用了Docker-Comose的方法具体安装和原理见:docker-compose详解Docker-compose使用全解Spring boot 里的Docker file# 基于openjdk 镜像FROM java:7# 声明需要暴露的端口EXPOSE 808.
linux 查看端口占用并查找进程 启动项目的时候发现端口被占用,记录一下查找并关闭进程流程netstat命令netstat -an | grep 33063306替换成需要grep的端口号lsof命令通过list open file命令可以查看到当前打开文件,在linux中所有事物都是以文件形式存在,包括网络连接及硬件设备。lsof -i:80-i参数表示网络链接,:80指明端口号,该命令会同时列出PID,方便kill查看所有进程监听的端口sudo lsof -i -P | grep -i "
SpringBoot :统一结果,统一校验,统一异常,统一日志 SpringBoot项目基础:统一结果,统一校验,统一异常,统一日志正规军springboot如何处理:参数校验、统一异常、统一响应一起来学SpringBoot(十七)优雅的参数校验
Mybatis insert/update/delete返回值以及如何获取insert后的主键 结论:insert/update/delete 返回的是影响的行数(int)Mybatis执行sql(insert、update、delete)返回值问题如何获取insert的记录id(主键)的值在mapper里,标记哪个是主键keyProperty<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"&..
SPU/SKU/库表设计 SPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集,比如华为Mate10SKU:Stock Keeping Unit(库存量单位),SPU商品集因具体特性不同而细分的每个商品,比如华为Mate10 金色 128Gspu、sku表关系分析电商项目-商品表(spu)、规格表(sku)设计微服务项目之电商--17.商品规格数据结构SPU和SKU8...
Spring mvc model/ModelAndView/JSP/Serverlet 我们可以这样简单地理解MVC,C是controller,进行具体的处理,处理后得到的结果(数据)放入Model中,将Model传递到view,view具体负责向client呈现。Spring提供了很多View:InternalResourceView:使用传统的jspJstlView:使用支持JSTL的jsp,JstView和InternalResourceView将Model的属性转换为request的属性,因此可以jsp中通过EL来获取model中的值。FreeMarkerView:支持
html/js/jsp/jquery/el/thymeleaf/servlet/Applet/Velocity HTML(Hypertext Markup Language)是文本标记语言,它是静态页面。是一种解释性语言,所谓解释性语言就是指可以在浏览器上显示出来,不需要编译工具的语言。JSP(Java server page )
JS中获取参数/$/!$/val/#/选择器符号含义 元素选择器Query 元素选择器基于元素名选取元素。在页面中选取所有 <p> 元素:$("p")用户点击按钮后,所有 <p> 元素都隐藏:$(document).ready(function(){ $("button").click(function(){ $("p").hide(); }); });#id 选择器jQuery #id 选择器通过 HTML 元素的 id 属性选取指定的元素。页面中元素的 id 应该是唯一的,所以您要在页面中选取唯一
mysql 常用命令 更新列备注alter table device_state modify column cmd int(11) not null default 0 comment '1)上传日志 2)上传数据库 3)重启应用 4)重启设备 5)清空数据库 6)开门';查看列备注show full columns from device_state;...
前后端分离API安全/规范/设计/版本 开放接口/RESTful/Api服务的设计和安全方案详解一文讲解API攻防问题微信支付的接口签名算法谈谈API接口开发中的安全性如何解决浅谈如何保证API接口安全性API 接口应该如何设计?如何保证安全?如何签名?如何防重?...
运维排查命令/linux/lvs/nginx/mysql/resin Linuxps是最常用的查看进程的命令top:可以实时动态地查看系统的整体运行情况kill:用来删除执行中的程序或工作linux ps+top+kill 大法linux进程管理~ps、top、kill详解Linux编程 7 (实时监测进程 top, 结束进程kill,killall)LVSnginxresin/javaJava服务,内存OOM了,如何快速定位?Mysqlmysql状态查看 QPS/TPS/缓存命中率...
大厂技术博客汇总/美团/腾讯/网易/百度/头条 团队 地址 美团点评 https://tech.meituan.com/知乎专栏 饿了么 https://zhuanlan.zhihu.com/ElemeFE 腾讯大讲堂 http://djt.qq.com/videos/ 腾讯云技术 https://www.zhihu.com/org/teng-xun-yun-ji-zhu-she-qu/posts 阿里中间件 http://jm.taobao.org/ 阿里云栖 http...
linux常用命令/ps/top/kill/rz/sz Linux常用命令大全Linux命令索引//查看机器名uname -a//显示所有命令,连带命令行# ps -ef //显示keepalive命令,连带命令行ps -ef | grep 'keepalive'# 显示进程信息, -c 显示完整命令top -cLinux ps与top命令...
微服务spring cloud及Dubbo Dubbo、Spring Cloud是当前开源上可选用的微服务框架微服务的核心要素在于服务的发现、注册、路由、熔断、降级、分布式配置比较spring cloud和dubbo,各自的优缺点是什么网易考拉海购Dubbok框架优化详解Dubbo下图中的每个组件都是需要部署在单独的服务器上,Gateway 用来接受前端请求、聚合服务,并批量调用后台原子服务。每个 Service 层和单独的 DB 交互。Dubbo 组件运行:Gateway:前置网关,具体业务操作,Gateway 通.
正则表达式以及常用规则 参考文档https://www.runoob.com/regexp/regexp-syntax.htmlhttps://blog.csdn.net/cherrydreamsover/article/details/80941220js正则:两边字符固定,中间任意字符aa324fdsaa423aa查找以aa开头,aa结尾aa.+aa
Mac安装mysql 以及遇到的坑 安装参考文档:mac安装mysql安装过程中,遇到错误brew 安装报错 Running Homebrew as root is extremely dangerous and no longer supported.修改方法常用命令,命令参考文档:mysql命令// 连接数据库mysql -u root -p// 输入密码// 创建数据库create DATABASE RUNOOB;// 选择数据库use RUNOOB;// 给表添加注释ALTER TABLE .
Java Mybatis 联查join resultMap对应 需求:商品计量单位,其中计量单位名称是独立表里存储的,请求商品-计量单位时,需要把名称一起返回以下代码 name 和 metering 二选一就可,这里方便测试,2个都写了,方便比较// 商品计量单位表public class GoodsMetering implements Serializable { private Long id; // 商品ID private Long goodsId // 基础档-计量单位ID private Long me
Docker 及 Kubernetes 架构,搭建及常见问题(mac环境) 在找 自动化测试 框架的过程,准备在mac上搭建环境Kubernetes + docker,遇到一些问题,记录 一下前端领域的 Docker 与 KubernetesDocker常见错误及解决方法...
Jenkins+Gitlab自动化发布+版本分支规划 分为2个branch:master和Dev自动化部署工具Jenkins,只会取这2个分支里的Tag参考资料Git branch tag分支及Tag管理jenkins + maven+ gitlab 自动化部署Jenkins+git+docker构建持续化集成环境...
SVN 迁移到Git,Gitlab 准备userinfo.txt文件先checkout项目,命令行cd到目录下,执行svn log --xml | grep "^<author" | sort -u | \awk -F '<author>' '{print $2}' | awk -F '</author>' '{print $1}' > userinfo.txt会输出一个userin...
vue开发(dev)生产(production)配置不同url vue中使用axios给生产环境和开发环境配置不同的baseUrlVue 2.0 项目中Axios配置不同的baseURL,请求不同的域名接口Vue项目Axios配置不同baseUrl,请求不同服务器的接口...
webStrom调试debug vue + live edit 用webStrom开启调试vue第二个文章比较全WebStorm+Chrome调试Vue步骤其中与到了webstorm点run能启动chrome,但是debug缺无法响应的问题,网上找了一下,重启MAC电脑搞定了。...
vue里的目录 index.html、main.js、App.vue、index.js 浅谈vue中index.html、main.js、App.vue、index.js之前的关系以及加载过程【vue】index.html main.js app.vue index.js怎么结合的?
this.cliEngine is not a constructor 2种解决方法 Webstorm + vue 老是提示 this.cliEngine is not a constructor百度上的解决方法this.cliEngine = require(packagePath + "lib/cli-engine");改为this.cliEngine = require(packagePath + "lib/cli-engine").CLIEngine;然后重启...
Webstorm + vue 环境搭建+开发 首先普及几个概念node.jsnode.js 并不是一个 js 框架,千万不要认为node.js是类似jquery的框架。node.js一种javascript的运行环境,能够使得javascript脱离浏览器运行,类似JVM之于java从有了nodejs后就催生出一大批用js做后台开发的前端人员NPMnpm (Node Package Manager)是 JavaScript 世界的...
网络7层,5层,4层协议及Nginx,LVS 网络7层,5层,4层首先7层图片7层,5层,4层参考数据包四层负载和七层负载所谓四层就是基于IP+端口的负载均衡,主要代表有lvs。七层负载也称内容交换,就是基于URL等应用层信息的负载均衡,主要代表有nginx。参考:LVS三种模式的区别及负载均衡算法一分钟了解四层/七层反向代理 | 架构师之路...
Android:如何区别测试/生产/测试环境 在gradle里 buildTypes { debug { debuggable true signingConfig signingConfigs.myConfig buildConfigField 'String', 'BASE_URL', "\"http://localhost:8080/\"...
Element el-date-picker datetimerange使用及限制时间范围 使用场景:1)初始化时间为明天零点到7天后晚上23:59:59秒2)不允许选今天之前的日期<el-date-picker v-model="rangeTime" type="datetimerange" range-separator="至" start-placeholder="开始日期" end-pl...
vue.js element el-table 里 el-input 数据校验,比较两列 场景,换购价不能超过售价。网上搜到的一般都是用form对内容进行简单校验,比如不为空,长度等,不能进行数据比较之类的操作。<el-table :data="curHomePageExchangeGoodsList" stripe :row-style="{height:0+'px'}" :cell-style="{padding...
element el-table 全选selection加v-if刷新串行 解决办法,加了key=Math.random() <el-table-column type="selection" width="55" :key="Math.random()" v-if="promotionShopScope==2"> ...
vue.js element el-talbe 内嵌el-input 无法编辑,视图不刷新(更新) 不知道为什么el-table里的el-talbe-column内嵌el-input后修改内容后会无法刷新出新内容,实际log看数据是更新了,不过就是试图不刷新html代码<el-table-column prop="totalAmount" label="换购价" width="150"> <template slot-scope="scope"> ...
前端项目js常用库和CSS 慢慢补充doT.min.jsquery.jszTreeStyle.cssjquery.ztree.core.jsjquery.ztree.excheck.jsvue.min.jsiview.min.jsiview.csspaging.jspaging.csslayui-v2.5.5.jslayui.css
vue.js 中 data, prop, computed, method,watch vue.js 中 data, prop, computed, method,watchvue.js 中 data, prop, computed, method,watch 介绍
Sping MVC 里CSS,JS等静态资源前后端分离,独立部署服务器 使用interceptor,拦截html <mvc:interceptor> <mvc:mapping path="/"/> <mvc:mapping path="/**/*.html"/> <bean class="com.ishehui.dmstore.inte...