Java后台
妖斩
这个作者很懒,什么都没留下…
展开
-
垃圾回收算法梳理
4.jvm调优1. 常见问题1.1 内存泄漏内存泄漏一般可以理解为系统资源(各方面的资源,堆、栈、线程等)在错误使用的情况下,导致使用完毕的资源无法回收(或没有回收),从而导致新的资源分配请求无法完成,引起系统错误。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小,目前来说,常遇到的泄漏问题如下:年老代堆空间被占满 年老代堆空间被占满 异常: java.lan...原创 2019-11-20 15:55:04 · 224 阅读 · 0 评论 -
Java中HashMap底层实现原理(JDK1.8)源码分析
这几天学习了HashMap的底层实现,但是发现好几个版本的,代码不一,而且看了Android包的HashMap和JDK中的HashMap的也不是一样,原来他们没有指定JDK版本,很多文章都是旧版本JDK1.6.JDK1.7的。现在我来分析一哈JDK1.8的HashMap及性能优化。在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在...转载 2019-11-01 17:13:36 · 189 阅读 · 0 评论 -
java中什么样的对象能够进入老年代
1.大对象:所谓的大对象是指需要大量连续内存空间的java对象,最典型的大对象就是那种很长的字符串以及数组,大对象对虚拟机的内存分配就是坏消息,尤其是一些朝生夕灭的短命大对象,写程序时应避免。2.长期存活的对象:虚拟机给每个对象定义了一个对象年龄(Age)计数器,如果对象在Eden出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor空间中,并...转载 2019-10-08 16:18:08 · 2870 阅读 · 1 评论 -
Java 计算两点坐标距离
public static void main(String[] args) { System.out.println(distance_format(getDistance(120.170478,30.273065,120.270478,30.173065,1,2))); } /** * 计算两点地理坐标之间的距离 * @param D...原创 2019-08-01 15:52:01 · 5632 阅读 · 0 评论 -
SpringBoot 2.1.5 pom.xml Unknown 错误
解决方法:1、pom文件添加<properties> <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> </properties>2、降低版本改成2.1.1重新update下就可以了...原创 2019-07-04 17:09:59 · 475 阅读 · 0 评论 -
centos 7.3 开放端口并对外开放
1.查看已打开的端口#netstat -anp 2.查看想开的端口是否已开# snmantec -cmd --query-port = 666 / tcp 若此提示FirewallD未运行 表示为不可知的防火墙 需要查看状态并开启防火墙 3.查看防火墙 状态#systemctl status firewalld running状态即防火墙已经开启 死状态即防火墙未开启 4。开启防火墙...转载 2018-11-21 10:55:46 · 290 阅读 · 0 评论 -
rvm,ruby的安装
针对redis集群 ruby版本要求2.2.2以上安装rvm# curl -L get.rvm.io | bash -s stable % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload...原创 2018-08-15 11:16:48 · 738 阅读 · 0 评论 -
Redis分布式锁
可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。 解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了加锁代码...原创 2018-08-09 11:09:03 · 125 阅读 · 0 评论 -
项目中JAVA_OPTS配置各个参数含义
项目中tomcat设置java_opts:JAVA_OPTS="$JAVA_OPTS -server -Xmx512m -Xms512m -Xss256K -XX:NewRatio=2 -XX:SurvivorRatio=6 -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemar...原创 2018-07-20 17:02:25 · 19378 阅读 · 0 评论 -
Java多线程-线程池ThreadPoolExecutor构造方法和规则
为什么用线程池博客地址 http://blog.csdn.net/qq_25806863原文地址 http://blog.csdn.net/qq_25806863/article/details/71126867有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长...转载 2018-06-01 14:58:50 · 311 阅读 · 0 评论 -
Shell 运行 jar包
结构目录 :lib 存放其它依赖jar包test.jar与lib目录同级start.sh文件echo "Test OSS elapsed time"PWD=`pwd`echo $PWDfor i in $PWD/lib/*;do CLASSPATH=$CLASSPATH:$idoneexport CLASSPATH=$CLASSPATH:$PWD/test.jarecho $C...原创 2018-05-15 16:08:17 · 2269 阅读 · 0 评论