- 博客(7)
- 收藏
- 关注
原创 为什么JVM新生代中有两个survivor?
为了保证任何时候总有一个survivor是空的。因为将eden区的存活对象复制到survivor区时,必须保证survivor区是空的,如果survivor区中已有上次复制的存活对象时,这次再复制的对象肯定和上次的内存地址是不连续的,会产生内存碎片,浪费survivor空间。如果只有一个survivor区,第一次GC后,survivor区非空,eden区空,为了保证第二次能复制到一个空的区域,新的...
2018-02-28 17:08:37
3885
2
转载 Integer与int解惑
jdk1.5引入了自动装箱(autoboxing)与自动拆箱(unboxing),这方便了集合类以及一些方法的调用,同时也使初学者对其感到非常之困惑。在此,我们来揭开其神秘的面纱。 首先,需要厘清一些概念: 1、Integer是一个类,用Integer声明一个变量其是一个对象类型(或者说引用类型);int是基本类型,用int声明的变量是非对象类型,即不能在其上调用方法。 2、“==”作用
2017-10-31 15:42:32
237
转载 URI和URL的区别
这两天在写代码的时候,由于涉及到资源的位置,因此,需要在Java Bean中定义一些字段,用来表示资源的位置,比如:imgUrl,logoUri等等。但是,每次定义的时候,心里都很纠结,是该用imgUrl还是imgUri呢? 同样的,另外一个问题:String HttpServletRequest.getRequestURI();和StringBuffer HttpServletReques
2017-10-24 10:07:22
249
转载 Java String.split()用法小结
在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2、如果用“|”作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分
2017-10-23 16:05:23
177
原创 ++运算符
例:++a > 2 ++a是指先加1再使用a的值,a++是指先使用a的值再加1,这里的使用包括赋值和比较等,与就近原则无关,即与+离运算符近还是a离运算符近无关! 错误思想:+离运算符近就先加1,a离运算符近就先使用。错误! 先加1还是先使用是固定的,谁在前就是先干嘛,++a的+在前就是先加1,a++的a在前就是先使用。
2017-09-24 22:07:21
1017
原创 标识符
标识符的命名规则是以字母、下划线、$开头。但是,由于java是Unicode编码,所以字母不只是英文字母,也可以是中文汉字,或日文、韩文、阿拉伯文等,如数学中的阿尔法等符号,是阿拉伯文,所以也可以;另外,$不只是英文的$,也可以是中文的¥。
2017-09-20 11:24:43
249
原创 静态方法
在类的静态方法中不能访问类中的非静态变量和方法,原因是类中的变量(也叫实例变量)只能通过对象进行访问,而类中的普通方法可以访问类中变量的原因是在前面默认加了this,但static方法中是没有this的,因为staic方法是通过类访问的。 但是,类的静态方法中可以定义非静态的局部变量并使用,因为不需要用对象调用,也可以new一个其他对象,这样就可以使用该对象中的非静态方法或变量了,只要有对象就行
2017-09-20 10:08:05
413
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人