- 博客(22)
- 资源 (3)
- 收藏
- 关注

原创 Linux部署CrapApi
介绍CRAP是一款开源API接口管理平台,类似于Apizza,yapi。一个由angularjs+bootstrap+springMVC+mybatis搭建的免费开源的API接口管理系统、BUG管理系统、文档管理系统(应用接口管理系统)官网:http://api.crap.cn/源码:https://gitee.com/CrapApi/CrapApi/tree/master...
2020-09-23 11:11:59
633
1

原创 关于springboot jar包和war包部署
jar包和war包的区别1. 由于springboot已整合Tomcat,故可以直接打包成jar包2.war包部署,需要去除springboot内置的Tomcatpom.xml文件如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</a...
2020-08-20 10:49:57
478
原创 技术自查第五篇:线程进阶(二)篇
前言线程的基础知识以及原理,我们都已经学习了一大部分,线程的确会为我们带来好处,但相对应我们需要付出代价,系统资源换取。当大量的线程创建和销毁,无疑消耗大量的资源。为了应付这种情况,Java就推出线程池。线程池为了降低资源的消耗,提高响应速度,使线程可重复使用。作用1. 降低资源消耗,线程其实也是一个对象,既然是对象,那就涉及到堆内存,GC回收等等2. 提高响应速度,通过从线程池获取比创建相乘,无疑是前者速度快3. 线程可重复使用,从线程池获取线程且使用完毕后,可
2021-10-04 16:01:54
205
原创 技术自查番外篇六:死锁及解决办法
前言线程的六种状态(初始,等待,阻塞,运行,就绪和等待),我们都知道,但实际情况下,会出现这六种状态下的,第七种情况死锁,那么死锁是什么,为什么会发生呢?先了解下死锁的概念概念两个线程同一时间持有自身的锁且互相争夺对方的锁,等待对方锁释放,如果没有外力介入下,这两个线程会一直等待下去。虽然说一直等待,可以说是等待状态,但由于它们互相持有对方所需的锁,此时就是阻塞状态了。发生死锁条件1. 互斥条件2. 持有并等待状态(持有本身锁且等待对方锁)3. 不可剥夺条件(不可释放
2021-09-30 18:35:39
1887
原创 技术自查番外篇五:join()方法原理
Join()方法作用是:线程并行改为串行,并等待另一个线程执行结束这句话看似简单,但实际上也容易 把人误导,认为只变得一个线程在执行所有方式,但实际上不然,本质上还是多个线程同时运行原因/原理:Join()方法底层调用的是wait()方法,把当前主线程状态更改为等待状态,且等待子线程运行完毕唤醒源码public final synchronized void join(long var1) throws InterruptedException { long var
2021-09-30 11:56:15
270
原创 技术自查第四篇:线程基础篇
前言面试题中常见的题目之一,很多人都能解答出简单的线程问题。但往往面试官再深入,很多时候就哑口无言。同时线程也是我们开发中常用的,故我们必须要好好学习线程,深入了解原理。要了解线程,请先记住以下这句话。锁的机制:基于线程,不是基于方法线程与进程的关系https://www.zhihu.com/question/25532384进程是资源最小调度单位,线程是进程最小调度单位,理论上一个进程可以有无数个线程。进程之间互不影响,线程之间可以相互影响。打个比喻:系统=火车站
2021-09-11 23:03:45
856
原创 技术自查番外篇四:Jstack与线程
前言Jstack用于分析java项目的线程,jstack与线程密切相关,学习Jstack日志要懂得线程的基本知识。线程线程的五/六种状态初始(NEW) 运行(运行(RUNNING)/就绪(READY))(RUNNING):这里解释下,运行包含着运行和就绪两种状态,故有时候看到线程五种状态,有时候看到线程六种状态 等待(WAITING/TIMED_WAITING) 阻塞(BLOCKED) 终止(TERMINATED)上述六种运行状态不详细说,主要说下状态转换流程。等待队列和同
2021-08-31 15:22:51
1729
原创 技术自查番外篇三:其他JVM监控工具
缓慢施工中....除了MAT,还有一些其他常用的JVM监控工具Jps作用:显示当前系统的Java进程的情况(仅查找Java进程,不能查找系统的所有进程)位置:Jps位于jdk的bin目录下,由于我们已配置Jdk环境,故可直接使用jps指令进行操作原理:java程序在启动后,会在java.io.tempdir指定的目录(临时文件夹),生成一个类似hsperfdata_User的文件夹,里面包含进程名的文件window环境下(一般在AppData/local/temp/hsp
2021-08-30 11:57:52
911
原创 技术自查番外篇二:MAT工具的了解与使用
什么是MAT工具官方说法Eclipse Memory Analyzer是一个快速且功能丰富的Java堆分析器,可帮助您查找内存泄漏并减少内存消耗。使用Memory Analyzer分析具有数亿个对象的高效堆转储,快速计算对象的保留大小,查看谁阻止垃圾收集器收集对象,运行报告以自动提取泄漏嫌疑者。官网下载地址:https://www.eclipse.org/mat/downloads.php简单说法一款帮我们分析堆内存的工具。我们调优不仅要看GC日志还要借助堆内存分析工具,对堆内存
2021-08-30 11:45:25
374
原创 技术自查第一篇:JVM调优入门篇
JVM是Java项目运行的基础,但实际上对它了解知之甚少。一个网站的吞吐量和响应速度,其实都跟JVM有重大关系的,有时候增加多几台机子,还不如优化JVM更实际,当然有钱额外另说。说到JVM调优就肯定跟垃圾回收(GC)有关,所以首先回顾下GC的发展史:JDK1.3 推出串行垃圾回收器(Serial GC),ParNews是串行收集器的多线程版本JDK1.4 推出并行垃圾回收器(ParallerGC)和并发垃圾回收器(CMS)JDK1.6 默认并行垃圾回收器...
2021-08-19 23:33:49
582
1
原创 技术自查(JAVA方向)
前言:该文章(笔记)编写主要为了检测自己的学习成功,大部分内容都参考网络上其他文章加以总结,参考文章我会文章结尾罗列出来。本人有幸负责一个项目从0到1的过程,全程跟踪项目部署上线的过程(或者可以说该项目我跟运维一起配合上线的,从购买阿里云服务器到项目前后端,MySQL数据库,搜索引擎和Redis,RabbitMQ和普罗米修斯监控插件等等),在部署上线过程中,发现自己对一个项目的技术掌控面还是很低,是个不合格的项目技术管理员。故不断的补充相关的知识,不断的充实自己和加强对基础知识回顾和强化。费话有点多
2021-08-19 23:21:24
441
原创 记springboot配置ios通用链接
一、什么是IOS通用链接:在app开发中我们经常需要从浏览器,Safari中去唤醒app,iOS 9之前我们通过配置scheme从而实现这种跳转,但是这种方式需要提前判断系统中是否安装了能够响应对应scheme的app,这种方式在微信中是被禁用的。Universal Links是iOS 9推出的一项功能,我们可以通过配置Universal Links使用户能够通过一个链接进入app或者指定页面,这个不会被微信禁用。IOS官方文档地址:https://developer.apple.com/libra
2020-09-02 09:44:12
980
原创 记idea实用插件
目录介绍idea 快捷键篇idea 插件篇实用系列一、JRebel二、Maven Helper三、Alibaba Java Coding Guidelines四、MYbatisX五、CodeGlance六、GsonFormat七、grep console八、MyBatis Log Plugin九、Lombok十、GenerateAllSett...
2018-11-14 17:16:12
211
1
转载 JVM的一些了解---鱼塘理论
目录一、多功能养鱼塘---JVM内存二、鱼塘结构三、鱼塘的养殖区域划分1. 青年期和中年期:2. 老年区:3. 持久区: 一、多功能养鱼塘---JVM内存大鱼塘0(可分配内存):JVM可以调度使用总的内存数,这个数量受操作系统进程寻址范围、系统虚拟内存总数、系统物理内存总数、其他系统运行所占用的内存资源等因素的制约。小池塘A(堆内存):JVM运行时数据区域,...
2018-09-27 16:33:08
966
原创 webmagic爬虫-java使用
目录 介绍:特性:开发前,先弄懂webmagic四大组件以及架构图架构图四大组件: 项目只是简单的爬虫,简单的涉及到process、Scheduler和Pipeline1. pom.xml2.常量类 常用的正则表达式3.processor3. pipeline3.1 3.2 控制台输出3.3 文件输出介绍:WebMagic是一个简单灵...
2018-09-26 09:20:27
405
原创 记微信小程序二维码
目录官方开发文档错误码:总结:实例代码B接口实例代码:更换中间logo实例代码:官方开发文档https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html注意点:开发者切记,选用适合的接口开发自己的业务。tip:通过该接口,仅能生成已发布的小程序的二维码。 tip:可以在开发者工具预览时...
2018-07-24 15:27:25
724
mysql5.6性能优化
2018-09-28
MySQL实现主从复制
2018-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人