安装Docker 参考:https://blog.csdn.net/yan_dk/article/details/89427641 安装Docker-Compose Docker-Compose简介        Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景。        Docker-Compos…

2021年4月24日 0条评论 6点热度 阅读全文

安装Docker 参考:https://blog.csdn.net/yan_dk/article/details/89427641 安装Docker-Compose Docker-Compose简介        Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景。        Docker-Compos…

2021年4月7日 0条评论 10点热度 阅读全文

JMX(JAVA 管理拓展)配合Jconsole来使用是用来分析JVM状态的必要途径。所以正确配置JMX很重要。配置主要包含以下几个步骤 1、修改tomcat的实际启动脚本catalina.sh(startup.sh 里面其实是引用了这个脚本,虽然正常启动时用./startup.sh)   CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=139.224.238.63 -Dcom.…

2021年1月17日 0条评论 15点热度 阅读全文

常见性能优化策略分类 代码: 之所以把代码放到第一位,是因为这一点最容易引起技术人员的忽视。很多技术人员拿到一个性能优化的需求以后,言必称缓存、异步、JVM等。实际上,第一步就应该是分析相关的代码,找出相应的瓶颈,再来考虑具体的优化策略。有一些性能问题,完全是由于代码写的不合理,通过直接修改一下代码就能解决问题的,比如for循环次数过多、作了很多无谓的条件判断、相同逻辑重复多次等。 数据库: 数据库的调优,总的来说分为以下三部分: SQL调优 这是最常用、每一个技术人员都应该掌握基本的SQL调优手段(包括方法、工具…

2021年1月15日 0条评论 12点热度 阅读全文

因为我们的项目,web服务器中间件都用的是Tomcat,所以jvm的调优一般都是针对Tomcat的调优。调优工具可以可以借用jdk自带的VisualVM工具,到JDK安装目录/bin目录下,双击jvisualvm.exe文件,直接启动,就可以查看到当前的堆空间大小分配情况、线程监控情况和垃圾回收监控等。根据这些信息,再进行相应的调整。 我觉的Jvm调优的重点就是垃圾回收(gc,garbage collection)和内存管理。垃圾回收的时候会导致,整个虚拟机暂停服务。因此,应该尽可能地缩短垃圾回收的处理时间。 Ja…

2020年9月21日 0条评论 9点热度 阅读全文

项目框架是springdatajpa ,使用的数据库持久层接口直接继承JpaRepository; public interface IdapBaseDeviceRepository extends JpaRepository<IdapBaseDevice,Integer>{ }   业务层需要操作持久化数据时,直接注入该接口,就可以调用接口。。其中有一部分是接口中定义的方法,也有一些复杂的sql需要自己写sql或者JPQL语句来实现。。   问题出现在这。。。   使用注…

2018年12月15日 0条评论 8点热度 阅读全文

package deadlock; public class DeadlockSample { //必须有两个可以被加锁的对象才能产生死锁,只有一个不会产生死锁问题 private final Object obj1 = new Object(); private final Object obj2 = new Object(); public static void main(String[] args) { DeadlockSample test = new DeadlockSample(); test.tes…

2017年8月6日 0条评论 2点热度 阅读全文

在上篇《性能优化-缓存篇》中已经从理论上介绍了缓存,其实,缓存简单易用,更多精力关注的是根据实际业务的选择缓存策略。 本文主要介绍为什么要构建ehcache+redis两级缓存?以及在实战中如何实现?思考如何配置缓存策略更合适?这样的方案可能遗留什么问题?JUST DO IT! GO! 问题描述 场景:我们的应用系统是分布式集群的,可横向扩展的。应用中某个接口操作满足以下一个或多个条件: 1. 接口运行复杂代价大, 2. 接口返回数据量大, 3. 接口的数据基本不会更改, 4. 接口数据一致性要求不高(只需满足最终…

2016年6月30日 0条评论 2点热度 阅读全文

本文主要跟大家来探讨下缓存的应用场景有哪些?缓存给我们带来了哪些便利?同时又给我们带来了哪些问题?还有,简单介绍一些常用的缓存工具。JUST DO IT! GO! 缓存的应用场景 CPU缓存 是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。(选用存储介质,提高访问速度:高速缓存>内存;减少重复量) 浏览器缓存 浏览器可以缓存一些静态资源,比如图片、js、css等,这些都是不常变化的内容,所以没有必要每次都去请求。(减少网络IO消耗,提高访问速度) CDN缓存 客户端会先检…

2016年6月26日 0条评论 4点热度 阅读全文

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 系统背景: 生产者往redis丢消息,消费者从redis取消息发送   redis使用list作为消息队列,队列数N个   每种接入系统分配2种(发送,重发),分别3个固定队列,优先级高中低,该3个队列由一个线程处理,通过分配的时间片大小去体现优先级 不同接入系统的线程之间没有优先级之分,交给CPU去调度   &nbs…

2016年5月26日 0条评论 9点热度 阅读全文