java
说天阔丶
这个作者很懒,什么都没留下…
展开
-
java到底是按照值传递还是引用传递
public class Transfer { public static void main(String[] args) { /* * 传递基本类型的参数效果很明显,是传递的内存地址值的拷贝. * 原值不改变 * 基本数据类型的变量在赋值之后传递的是变量的值. * */ int i = 1; change(i)...原创 2016-07-25 19:45:26 · 59 阅读 · 0 评论 -
读java Optional 源码
[code="java"]//该类是jdk1.8新增的类,主要是为了解决NPE问题。//先看构造函数: private Optional() { this.value = null; } private Optional(T value) { this.value = Objects.requireNonNull(value...原创 2018-06-01 20:00:41 · 177 阅读 · 0 评论 -
java从数据库中查出来二次封装基于注解
实现类似于mybatis一对多关系和一对一关系:上代码:[code="java"]/** * @author * @version 创建时间:2017年3月23日 上午11:01:39 * @description 定义1对多关系注解 value代表要发射的字段名 */@Target({ ElementType.FIELD })@Retention(Ret...原创 2018-03-05 22:33:24 · 203 阅读 · 0 评论 -
java从数据库中查出来二次封装基于XML
实现类似于mybatis的配置关系一对多或者一对一的实现:基于实现:先上个配置文件[code="java"] /** * @author * @version 创建时间:2017年3月20日 下...原创 2018-03-05 22:22:50 · 141 阅读 · 0 评论 -
JVM垃圾回收历史
从网上看到一篇文章讲述垃圾回收的历史搬运过来:为什么要有GC我时而听到C++程序员说我们是被GC惯坏了的一代。的确是这样的,我本人在学习GC算法时,大脑里第一问题就是为什么需要GC这样的东西。说明我已经认为GC是理所当然了。总的一句话:没有GC的世界,我们需要手动进行内存管理,而手动内存管理是纯技术活,又容易出错。既然我们写的大多程序都是为了解决现实业务问题,那么,...原创 2017-02-17 16:30:40 · 165 阅读 · 0 评论 -
读AbstractStringBuilder源码
[code="java"]//该类是StringBuilder和StringBuffer基类实现了Appendable和CharSequence接口//StringBuffer是线程安全的.所以就在所有方法上加上了synchronized关键字。//先看构造函数AbstractStringBuilder() { }AbstractStringBuilder...原创 2017-10-16 16:56:41 · 176 阅读 · 0 评论 -
读String源码
[code="java"]//先看构造函数public String() { this.value = new char[0]; }public String(String original) { this.value = original.value; this.hash = original.hash; ...原创 2017-10-16 15:17:29 · 125 阅读 · 0 评论 -
java编译编码问题
最近由一个编码问题。让我对另一个编码问题产生了疑惑。即我们在写java源文件的时候一般使用的是utf-8编码,但是tomcat控制台(直接在bin里面启动的那个黑窗口)编码是gbk.为什么tomcat控制没有乱码问题? 最开始我想的是既然我的java源文件是按照utf-8编码,那么最后必须按照utf-8解码才不会有问题啊。为什么tomcat用gbk解码没有乱码问题? 然后查了下...原创 2017-10-02 11:35:18 · 503 阅读 · 0 评论 -
在java服务端设置允许跨域请求
[code="java"]//写一个filter对response进行过滤public class CrossFilter implements Filter{ @Override public void destroy() { // TODO Auto-generated method stub } @Override public void d...原创 2017-08-29 10:58:51 · 1346 阅读 · 0 评论 -
对abstract关键字的另一番理解
直接上代码:[code="java"]public abstract class AnnotionMapper implements Comparable{ private Type _type; public AnnotionMapper() { Type superClass = getClass().getGenericSuperclass();// 获取该类的直接超类...原创 2017-03-22 16:10:56 · 84 阅读 · 0 评论 -
看String源码的疑惑
今天看JDK String 源码有一段代码实在没想通,网上也没有什么资料,说说自己的理解。先贴上jdk这一段源码: public boolean contentEquals(CharSequence cs) { // Argument is a StringBuffer, StringBuilder if (cs instanceof Abstract...原创 2016-10-21 15:27:38 · 120 阅读 · 0 评论 -
java final关键字
final关键字的主要用于申明这个东西是不可变的。用于设计以及效率。final参数:用于申明这个参数是不可变的。如果参数是一个常数,那么他将永远不可改变,虚拟机在编译期可以进行一些运算。节省一些开销,提升效率。注意:必须虚拟机在编辑器确认他是一个常数,才可以进行一些运算,如果运行期赋值则不行。如果final修饰的是一个句柄,那么句柄指向的对象将永远不可改变,但是对象的内容是可以发生变化的。...原创 2016-10-09 22:03:32 · 66 阅读 · 0 评论 -
java for each循环的原理
这篇介绍java for each原理的文章写的很棒,转过来marke一下。http://blog.csdn.net/zhangyuan19880606/article/details/51241079在编译的时候编译器会自动将对for这个关键字的使用转化为对目标的迭代器的使用,这就是foreach循环的原理。进而,我们再得出两个结论:1、ArrayList之所以能使用fore...原创 2016-10-09 21:18:47 · 137 阅读 · 0 评论 -
关于java内部类
关于java内部类,这篇文章写的非常好。尊重作者的劳动成果:http://www.cnblogs.com/dolphin0520/p/3811445.html现在写点我自己在作者基础上的一点总结: 这里有一个问题,接口到底能不能new,一般的答案都是不可以。但是事实上却是可以的,什么时候可以?当他作为一个匿名内部类的时候。 内部类主要的用途就是匿名内部类,用于某些回...原创 2016-10-09 21:10:46 · 76 阅读 · 0 评论 -
java static关键字的作用
static关键字的设计初衷,套用thinking in java中的解释即:1、只想用一个存储区域来保存一个特定的数据,无论要创建多少个对象,甚至不创建对象。(即,可以在不创建对象的情况下保存数据,且这些数据为该类共享(与类绑定))。2、创建一个特殊的方法,该方法没有与对象进行绑定,可以通过类名直接调用。(即可以在不创建对象的情况下调用某个方法)。通过上面这两条设计初衷导致的...原创 2016-10-05 17:23:58 · 156 阅读 · 0 评论 -
关于反射泛型的封装
最近用到了jackson转json。看了下TypeReference的源码,记录下。便于以后自己可以用来做一些针对泛型反射简单的封装。public abstract class TypeReference implements Comparable{ protected final Type _type; protected TypeReference()...原创 2016-09-11 16:16:30 · 155 阅读 · 0 评论 -
读Objects源码
[code="java"]//该类是一个工具类,主要封装了对对象的equals,hashcode,compare和check 异常等方法。//先看构造函数: //工具类,所以构造函数是私有的。防止反射创建对象所以抛出异常。 private Objects() { throw new AssertionError("No java.util.Objects ...原创 2018-06-17 14:02:29 · 199 阅读 · 0 评论