Java
java core
bkhech
持续学习
展开
-
为什么HashMap内部初始容量是2的k次幂
HashMap计算数据在数组的索引为公式 (n - 1) & hash, 内部会自动将你的初始容量变为最接近(大于等于)他的一个2的k次幂的数,为什么呢? 原因有二: & 运算的作用是,保证hash码总是能落在数组允许的下标方位内; 如果n等于2的k次幂,那么n-1的二进制为 1111***111形式,与hash码进行&运算后能保证hash本身的值,从而保证原hash函数散列效果不变,是数据均匀分布,减少hash冲突 ...原创 2020-12-15 14:46:48 · 97 阅读 · 0 评论 -
简述一下 Java 中创建一个对象的过程
类的生命周期 解析:回答这个问题首先就要清楚类的生命周期 下图展示的是类的生命周期流向: Java中对象的创建就是在堆上分配内存空间的过程,此处说的对象创建仅限于new关键字创建的普通Java对象,不包括数组对象的创建。 对象创建过程 1.检测类是否被加载: 当虚拟机执行到new时,会先去常量池中查找这个类的符号引用。如果能找到符号引用,说明此类已经被加载到方法区(方法区存储虚拟机已经加载的类的信息),可以继续执行;如果找不到符号引用,就会使用类加载器执行类的加载过程,类加载完成后继续执行。 2转载 2020-12-15 10:30:04 · 759 阅读 · 0 评论 -
jvm性能相关(jvisualvm远程连接配置)
性能分析神器VisualVM:http://www.cnblogs.com/wade-xu/p/4369094.html 使用Memory Analyzer tool(MAT)分析内存泄漏(二):http://www.blogjava.net/rosen/archive/2010/06/13/323522.html JVM调优总结:http://www.open-open.com/do原创 2017-09-18 18:49:51 · 852 阅读 · 1 评论 -
URI和URL的区别
参考:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html转载 2017-05-18 11:17:06 · 149 阅读 · 0 评论 -
fortify代码扫描问题结果分析
最近项目的代码使用fortify工具扫描了一下,发现了项目中存在的一些问题,在以后代码编写的过程中要注意,避免出现类似的错误。 以下为本次代码分析工具FORTIFY对代码的分析结果。这些问题虽然古老、简单然而经典,也是需要引起重视。 代码问题主要集中在如下类别:存在安全隐患、存在资源泄漏隐患、序列化问题、字符串比较、异常处理问题,以及其它一些BAD PRACTICE和粗转载 2017-02-24 14:23:15 · 13378 阅读 · 0 评论 -
关于java异常处理
1、使用原则:所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。 2、原创 2017-02-24 17:56:43 · 323 阅读 · 0 评论 -
fortify代码扫描问题结果分析
最近项目的代码使用fortify工具扫描了一下,发现了项目中存在的一些问题,在以后代码编写的过程中要注意,避免出现类似的错误。 以下为本次代码分析工具FORTIFY对代码的分析结果。这些问题虽然古老、简单然而经典,也是需要引起重视。 代码问题主要集中在如下类别:存在安全隐患、存在资源泄漏隐患、序列化问题、字符串比较、异常处理问题,以及其它一些BAD PRACTICE和粗转载 2020-09-18 20:20:42 · 1477 阅读 · 0 评论 -
webapp的类加载顺序
各个web应用服务器的类加载机制总体上通常遵循 java的层次化加载机制(即当前classloader优先将类加载请求交由parent classloader来进行),当然其具体的的classloader层次和加载机制会存在很大的不同。下面我们只针对跟我们最贴近的webapp的classloader机制。 websphere、weblogic、Geronimo默认是web容器的类优先于web转载 2017-02-24 14:12:01 · 772 阅读 · 0 评论 -
java中URLEncoder、URLDecoder 与js中 en/decodeURI()、en/decodeURIComponent()使用
1、java中URLEncoder、URLDecoder:http://tech.sina.com.cn/s/2008-07-07/1053722241.shtml js中decodeURI()、decodeURIComponent():http://www.cnblogs.com/Erik_Xu/articles/2305011.html java: URLEncoder.en原创 2017-02-06 18:48:42 · 3299 阅读 · 0 评论 -
java获取系统属性
1、查看所有的系统属性 System.getProperties().list(System.out); 2、 获取指定键指示的系统属性。 System.getProperty(String key)原创 2016-11-29 09:34:37 · 322 阅读 · 0 评论 -
正则表达式
"^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0)转载 2016-11-07 09:36:40 · 231 阅读 · 0 评论 -
JVM -verbose参数详解(转)
转自:http://www.javaranger.com/archives/367 java -verbose[:class|gc|jni] 在输出设备上显示虚拟机运行信息。 1.java -verbose:class 在程序运行的时候有多少类被加载!你可以用verbose:class来监视,在命令行输入java -verbose:class XXX (XXX为程序名)你会在控制台看到加载转载 2016-11-03 14:37:20 · 20134 阅读 · 1 评论 -
使用poi解析excel表格
1、POI是个很强大的office操作组件,可以很方便的对office进行读、写操作,在此,记录下学习读取Excel的过程。 要特别指出:POI解析2003及2003以下,与解析2007及2007以上(底层XML实现)使用的类不同,因为其底层实现方式不同 2、写在前面的话:此方法仅仅适合数据量较小的情况,数据量较大的情况下,容易发生JVM内存溢出,需要分批导入或者使用其他方法 package原创 2016-01-11 18:55:02 · 5256 阅读 · 0 评论 -
把数据导出到Excel表格中的方式
导出数据到Excel表格中,总的来说可以分为两种方式: 1、Java导出(有很多成熟的开源类库可供使用,在此讲述由Apache提供的Wookbook) 2、JSP导出 首先说说JSP导出数据,因为JSP导出数据方式比较简单(但是 特别实用)。大概说下操作流程: i.准备数据:所准备的数据要符合以下要求。考虑到导出数据的容量以及特征,Excel是一个长X宽原创 2015-09-24 18:50:23 · 4262 阅读 · 0 评论 -
java操作数据库中clob类型 之插入和查询
一、插入 1)对于clob字段,首先插入empty_clob(); String sql = " insert into batchintfloadlog (centercode,filename,policydate,starttime,endtime,resultinfo) values ('" + this.ywBranchCode.substring(0, 4).concat("0000原创 2015-11-17 16:52:31 · 4887 阅读 · 0 评论 -
MIME类型定义以及常用的类型
一、定义MIME类型就是设定某种扩张名的文件用一种应用程序来打开的方式类型,当该扩展名类文件被访问的时候,浏览器会自动使用指定的应用程序来打开。多用于指定客户端自定义的文件名,以及一些媒体文件的打开方式。 二、常用类型 .doc application/msword .docx application/vnd.openxmlformats-officedocument.word原创 2015-11-11 16:23:17 · 1894 阅读 · 0 评论 -
DecimalFormat用法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。 DecimalFormat 包含一个模式 和一组符号 符号含义: 0 一个数字 # 一个数字,不包括 0 . 小数的分隔符的占位符 , 分组分隔符的占位符 ; 分隔格式。 - 缺省负数前缀。 % 乘以 100 和作为百分比显示转载 2014-08-26 11:46:26 · 237 阅读 · 0 评论