Xms Xmx PermSize MaxPermSize 区别 1.参数的含义 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了 -Xms128m JVM初始分配的堆内存 -Xmx512m JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M JVM初始分配的非堆内存 -XX:Max...
Spring Boot+Mockito+JUnit中的@Mock注入@InjectMocks失效 问题描述测试代码如下:@RunWith(SpringRunner.class)@SpringBootTestpublic class CheckConfirmPayServiceTest { private static final Logger logger = LoggerFactory.getLogger(CheckConfirmPayServiceTest.cla...
Permgen Space导致的内存溢出 问题描述最近同事系统反馈系统出现如下错误: PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。解决过程使用jstat查看 Permsize 占用情况,入戏所示:using thread-local object allocation.Parallel GC with 4 thread(s)Heap Con...
HashMap和Hashtable的区别 HashMap和Hashtable的区别HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。1、HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(v
负数与二进制换转方法 1、十进制负数转二进制假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为: (因为java中int 是4个字节,所以高位需要补0,占够32位) 00000000 00000000 00000000 00000101 现在想知道,-5在计算机中如何表示? 在计算机中,负数以原码的补码形式表达。 什么叫补码呢?这得从原码,反码说起。 原码:一个正数,按照绝对
java中三种移位运算符 简介java中有三种移位运算符num 1,相当于num乘以2>> : 右移运算符,num >> 1,相当于num除以2>>> : 无符号右移,忽略符号位,空位都以0补齐示例–正整数/** * Description 移位运算 * java中有三种移位运算符 * * >> : 右移运算符,num >> 1,相当于num除以2
Integer和int的区别 Integer和int的区别1、Integer是int提供的封装类,而int是Java的基本数据类型;2、Integer默认值是null,而int默认值是0;3、声明为Integer的变量需要实例化,而声明为int的变量不需要实例化;4、Integer是对象,用一个引用指向这个对象,而int是基本类型,直接存储数值。
JAVA语言为什么能跨平台? JAVA语言为什么能跨平台?因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每
根据端口反查进程 步骤一:netstat -tunlp|grep 端口号 netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况,如查看8221端口的情况,netstat -tunlp|grep 8221,如下图步骤二:ps -aux | grep 进程号如ps -aux | grep 5255进程号如下图:可以查到占用端口的进程。
变量的就近原则 变量的就近原则就近原则(Principle of Proximity)-把相关的操作放在一起,例如让注释靠近它所描述的代码,让控制循环的代码靠近循环本身等。变量的就近原则指尽可能在靠近第一次使用变量的位置声明和定义该变量。就近原则实际上也是变量的作用域最小化的一种实现手段。过早地声明局部变量不仅会使它的作用域过早地扩展,而且结束得也过于晚了。局部变量的作用域从它被声明的点开始扩展,一直到外围块的结束
Redis Decrby和Incrby命令 Redis Decrby命令语法redis 127.0.0.1:6379> DECRBY KEY_NAME DECREMENT_AMOUNT返回值返回一个整数,递减后键的值。Redis Incrby 命令语法redis 127.0.0.1:6379> INCRBY KEY_NAME INCR_AMOUNT返回值加上指定的增量值之后, key 的值。示例
Thread.setDaemon守护线程详解 简介java中线程分为两种类型:用户线程和守护线程。通过Thread.setDaemon(false)设置为用户线程;通过Thread.setDaemon(true)设置为守护线程。 如果不设置,默认为用户线程。用户线程和守护线程的区别: 1. 主线程结束后用户线程还会继续运行,JVM存活;主线程结束后守护线程和JVM的状态又下面第2条确定。 2.如果没有用户线程,都是守护线程,那么JVM结束
Cause: java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000 问题描述### Cause: java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000org.springframework.jdbc.BadSqlGrammarExcept
EXCEL经验:一拖到底 在用EXCEL制表时,经常要要用到填充,比如1到100行内容相同或引用公式,大多数人会用鼠标拖来拖去,例如: 在第一行的A1单元格右下方 鼠标指针 变 实心黑十字 向下拉或向右,向左拉 我想拉100行 常一拉就过了—–过了100行,去到200多行 再向上推又过了——–去到30多行,很不容易控制住鼠标,动辄拖个几百行或不知道跑哪去了,把人气得要吐血 这儿我总结了几种方法供朋友们使用。
EditPlus等编辑器选中列(块)的方法 EditPlus 1)菜单:编辑 -> 选择 -> 列选择 2)先按下 Alt + C ,释放,然后移动鼠标或键盘上下左右键进行选择 注意:在自动换行的模式下是不行的,改为不自动换行就行了。Notepad++1)按住 Alt 键,然后用鼠标进行选择 2)按住 Alt + Shift 键,然后用箭头(键盘的上下左右箭头)进行选择UltraEdit1)菜单栏有一个列块乒乓开关图标,选中它然后就
oracle日期时间型timestamp的深入理解 1、字符型转成timestampselect to_timestamp('01-10月-08 07.46.41.000000000 上午','dd-MON-yy hh:mi:ss.ff AM') from dual; 2、timestamp转成date型select cast(to_timestamp('01-10月-08 07.46.41.000000000 上午','dd-MON-yy h
java.sql.SQLException: ORA-01810: 格式代码出现两次 错误描述### The error occurred while setting parameters### SQL: select ID, USER_ID, CUST_ID, PHONE, CER_ID, BEGIN_TIME, END_TIME, BLACK_LEVEL, BALCK_CHANNEL, REMARK, CREATE_USER, CREATE_TI
每次New一个BouncyCastleProvider导致的内存泄漏 问题原因生产服务器的内存一直升高,直到宕机。内存分析的结论是:内存泄漏。 下载dump文件,经过解析堆栈日志,如下图所示:The class “javax.crypto.JceSecurity”, loaded by “”, occupies 2,522,379,928 (95.73%) bytes. The memory is accumulated in one instance of “ja