JAVA
文章平均质量分 69
java jdk相关的技术
Oliver486
这个作者很懒,什么都没留下…
展开
-
JAVA发射调用参数为数组时的注意事项
JAVA发射调用参数为数组时的注意事项原创 2022-09-09 13:17:17 · 245 阅读 · 1 评论 -
卸载骑安信,超爽
卸载骑安信,超爽转载 2022-08-16 20:16:18 · 2360 阅读 · 0 评论 -
ssh 私钥公钥生成
ssh公钥私钥生成转载 2022-08-11 08:43:10 · 25318 阅读 · 0 评论 -
JAVA线程
线程的概念:线程是指一个操作系统能够运行、调度的最小单位,被包含在进程中,是进程的实际运作单位。java中的创建一个线程的方式:继承Thread类 实现Runnable接口 通过Callable接口和Future接口实现有返回值的线程调用(FutureTask或者CompletableFuture),还能捕获异常通过继承Thread来实现通过继承Runnable接口来实现通过FutureTask来创建线程通过CompletableFuture来实现..原创 2022-04-26 15:33:10 · 519 阅读 · 0 评论 -
一致性hash算发(转)
当服务器的数据量和访问量很大的时候,我们可能需要寻找一种解决方案去解决诸如分布式、缓存优化的问题,这也是面试高级或资深服务器开发经常会遇到的问题。我们先以一个例子来说明为什么要使用一致性哈希算法,这里以著名的开源缓存库memcache来说明:MemCache是什么MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。MemCaChe是一个存储键值对的Ha转载 2022-04-02 10:26:57 · 565 阅读 · 0 评论 -
数据库扩容方案
历史背景:业务系统在设计初期,由于数据量小,一般会采取单服务+单数据库随着访问量的上升,需要对数据库做垂直或者水平拆分如上图通过分片算法我们对数据做了水平拆分,比如订单的库,我们按照订单号对数据表的数量做取于9算法,如订单号为1000,1000/4取余=0,则将数据存入orderdb_1中随着业务量对上升经过拆分的数据库表的数据里已经达到极限,影响到数据查询等表操作,需要对数据库做扩容操作,扩容方案(扩容一倍)方案一: 1:增加新表 ...原创 2022-04-02 09:47:55 · 3469 阅读 · 0 评论 -
mat使用
打开Mat后File>OpenHeapDump打开一个对应的dump文件后,此时对应的打开后结果如图所示默认情况下打开该dump文件后,直接展示的就是一个Overview(概览)的页签,其中可以看到上面标注为(1,2)的地方所对应的图标与Overview页签中所对应的部分图标是相似的;如果你不小心关掉了Overview的页签,那么直接单击当前dump页签第一行导航栏的第一个 I字的图标即可,同理,如果此时想要打开Histogram,那么在不打开Overview的情况下,直接点击第一行导航栏转载 2022-03-29 15:32:02 · 1337 阅读 · 0 评论 -
threadlocal内存泄漏的原因
ThreadLocal的原理:ThreadLocal的set实际实在当前线程对象里创建了一个内部变量ThreadLocalMap<ThreadLocal,object> ,ThreadLocalMap的key是ThreadLocal的引用。造成泄漏的原因:由于ThreadLocal对象是弱引用,如果外部没有强引用指向它,它就会被GC回收,导致Entry的Key为null如果当前的情况下在栈中将threadlocal1的引用设置为null,强引用1将会失效,那堆中的thre..原创 2022-03-28 16:33:30 · 8664 阅读 · 0 评论 -
java 线程池核心运行原理
一:er说到线程池,离不开线程池的参数,线程池的参数主要有如下1:corePoolSize核心线程数始终在运行的线程数,始终都有这些线程在运行,但是始终在运行的线程数并不保证是同样的 线程(这一点很重要)2:maximumPoolSize最大线程数同时运行的最大的线程数数量3 BlockingQueue 阻塞队列核心线程数已经达到配置值时,新进来的任务会进入到该队列中等待执行,因为是queue所以先进先出,队列里等待时间长的会先被执行阻塞队列有:ArrayBlocki原创 2022-02-23 10:40:12 · 400 阅读 · 0 评论 -
JAVA关键字Volatile
JAVA关键字VolatileVolatile是在java面试中出现频率很高的一个技术点,说到Volatile不得不先说一下JVM的内存模型,java的内存模型分为主内存和工作内存,主内存: 所有的变量都存储在主内存(不包括局部变量和,方法参数,他们是线程私有的)工作内存: jvm为每个线程分配的内存空间,工作内存保存了被该内存使用的变量的的主内存副本, 线程对变量的所有操作(读取、赋值等)都必需在工作内存中...原创 2021-05-22 17:20:05 · 432 阅读 · 0 评论