09 2020 档案
摘要:-Djava.util.logging.config.file=/data/xxx/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xmx6144m -
阅读全文
摘要:转载:https://www.cnblogs.com/YangJavaer/p/5897754.html 场景描述# 今天在写一个JAVA程序的时候出现了异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no e
阅读全文
摘要:过滤器和拦截器的区别: ①拦截器是基于java的反射机制的,而过滤器是基于函数回调。 ②拦截器不依赖与servlet容器,过滤器依赖与servlet容器。 ③拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 ④拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问
阅读全文
摘要:转载: https://blog.csdn.net/u012881904/article/details/81185231
阅读全文
摘要:spring事务:什么是事务:事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败. 事务特性(4种):原子性 (atomicity):强调事务的不可分割.一致性 (consistency):事务的执行的前后数据的完整性保持一致.隔离性 (isolation):一个事务执行的
阅读全文
摘要:转载: https://www.cnblogs.com/guoyaohua/p/8600214.html 0、排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=
阅读全文
摘要:转载: https://segmentfault.com/a/1190000018580144?utm_source=tag-newest
阅读全文
摘要:在了解脏读,不可重复度,幻读之前,首先要明白这三种情况的出现都是和数据库并发事务有关联的,如果所有的读写都按照队列的形式进行,就不会出现问题。 名词解析和解决方案 脏读 脏读又称无效数据读出(读出了脏数据)。一个事务读取另外一个事务还没有提交的数据叫脏读。 例如:事务T1修改了某个表中的一行数据,但
阅读全文
摘要:转载: https://www.cnblogs.com/rjzheng/p/9041659.html 引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓
阅读全文
摘要:转载: https://blog.csdn.net/itguangit/article/details/78435190 springboot 整合redis部署出现 redis.clients.jedis.HostAndPort - cant resolve localhost address错误
阅读全文
摘要:Java的concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。 你可以向CountDownLatch对象设置一个初始的数字作为计数值,任何调用这个对象
阅读全文
摘要:转载:https://blog.csdn.net/tn_java/article/details/53837024 JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与Bef
阅读全文
摘要:转载: https://blog.csdn.net/qq_26641781/article/details/80886831 Docker安装Zookeeper 下载Zookeeper镜像 docker pull zookeeper 启动容器并添加映射 docker run --privileged
阅读全文
摘要:转载:https://segmentfault.com/a/1190000014395186?utm_source=tag-newest
阅读全文
摘要:synchronized关键字加到static静态方法上是给Class类上锁,简称类锁(锁的事当前类的字节码)而加到非static静态方法是给对象加锁为了验证不是同一个锁 验证代码如下 package com.test.Thread.t10; /** * @author admin * 2017年4
阅读全文
摘要:(1)可以接受的任务类型 submit: execute: 可以看出: execute只能接受Runnable类型的任务 submit不管是Runnable还是Callable类型的任务都可以接受,但是Runnable返回值均为void,所以使用Future的get()获得的还是null (2)返回
阅读全文
摘要:之前工作中发现有同事在使用线程池的时候经常搞混淆ThreadPoolTaskExecutor和ThreadPoolExecutor,座椅在这里想写一片博客来讲讲这两个线程池的区别以及使用 ThreadPoolExecutor 这个类是JDK中的线程池类,继承自Executor, Executor 顾
阅读全文
摘要:消息队列 - MQ面试题 转自:https://doocs.github.io/advanced-java/#/https://www.cnblogs.com/williamjie/p/9481780.html MQ面试题 为什么使用消息队列 解耦 看这么个场景。A 系统发送数据到 BCD 三个系统
阅读全文
摘要:Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。 1、通过配置文件配置 通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小。 //设置Re
阅读全文
摘要:总结 CountDownLatch和CyclicBarrier都能够实现线程之间的等待,只不过它们侧重点不同: CountDownLatch一般用于某个线程A等待若干个其他线程执行完任务之后,它才执行; 而CyclicBarrier一般用于一组线程互相等待至某个状态,然后这一组线程再同时执行; 另外
阅读全文
摘要:转载:https://www.cnblogs.com/dolphin0520/p/3920385.html Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者
阅读全文
摘要:public class A implements Runnable { @Override public void run() { // TODO Auto-generated method stub System.out.println("A"); } } public class B impl
阅读全文
摘要:仅限本机使用,外网无法访问。 为啥要用这个: 1、域名比ip好记, 2、环境多了可以自由切换, 通过switchHost工具修改本机host文件,以及本机nginx映射,实现域名访问。 host文件就相当于是DNS解析,将访问的域名解析到ip地址。 switchHost下载地址:https://gi
阅读全文
摘要:转载:https://www.cnblogs.com/sujing/p/10960832.html 为什么需要消息队列 周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单
阅读全文
摘要:zookeeper=文件系统+通知机制 一、Zookeeper提供了什么 1、文件系统 Zookeeper维护一个类似文件系统的数据结构 每个子目录项如NameService都被称为znoed,和文件系统一样,我们能够自由的增加、删除znode,在znode下增加、删除子znode,唯一不同的在于z
阅读全文
摘要:参考: https://www.jianshu.com/p/52c38cf2e3d4 要点: 1、类加载机制的原理 2、程序初始化的顺序 3、类加载的代理模式(双亲委托机制) 一、类加载机制 JVM把class文件加载到内存,并对数据进行校验、准备、解析、初始化,最终形成JVM可以直接使用的Java
阅读全文
摘要:一、前言 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而
阅读全文
摘要:数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。 乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。乐观锁的实现方式一般包括使用版本号和时间戳。
阅读全文
摘要:centos默认开启的端口只有22端口,专供于SSH服务,其他端口都需要自行开启. 1.修改/etc/sysconfig/iptables文件,增加如下一行: -A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT -A
阅读全文
摘要:启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctlstop firewalld.service 重启一个服务:systemctlrestart firewalld.service 显示一个服务的状态:systemctlstatus fi
阅读全文
摘要:https://www.cnblogs.com/zwh-Seeking/articles/12084529.html
阅读全文
摘要:对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC 会对整个堆进行整理,包括Young、Tenured和Perm。Full GC因为需要对整个堆进行回收,所以比较慢,因此应该尽可能减少Full GC的次数。 2.导致Full GC的原因 1)年老代(Te
阅读全文
摘要:转载:https://www.imooc.com/article/47149 群里面有小伙伴问到这个问题,说在网上看了很多文章,但是还是没弄明白这俩是啥关系,下面我们就来详细的解释一下: 什么是方法区? 方法区(Method Area)是jvm规范里面的运行时数据区的一个组成部分,jvm规范中的运行
阅读全文
摘要:一、为什么要对SQL进行优化 我们开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进行专门的优化,而随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此
阅读全文