`
文章列表

对象拷贝工具

目前较为流行的用于对象拷贝的工具类: Apache的两个版本:(反射机制) org.apache.commons.beanutils.PropertyUtils.copyProperties(Object dest, Object orig) org.apache.commons.beanutils.BeanUtils.copyProperties(Object dest, Object orig) spring版本:(反射机制) org.springframework.beans.BeanUtils.copyProperties(Object source, Object targ ...
使用JsonObject转换Bean为json对象时如果json是多层包裹的话,我们经常会建多个相应的类,而为了省事有时会把多个类建在一个类文件中,这时候会报“property xxx has no getter method”错误 原因是什么呢,因为使用JsonObject转换Bean时,Bean必须为public,而一个类文件只能有一个public class  所有就没办法省这个事了
文章转载自http://www.cnblogs.com/jerrysion/p/5522673.html   为什么要进行URL编码          
http协议报文有两种:请求报文和响应报文,这两种报文结构是差不多的,都由三个部分组成,依次是: 1)start line 开始行(在请求报文中叫请求行,响应报文中叫状态行)如:GET /index.jsp HTTP/ (CRLF) 2)header 报头 如:Accept:xxx Host:xxx User-Agent等 3)body 消息正文   其中1)和2)部分必须是ASCII码字符 3)中可以是任何编码,可以是字符编码,也可以是图像编码等等,到底是什么,通过2)中的Content-Type来说明   而在ASCII码字符中有部分保留字符不能出现在直接出现在1)和2)的 ...
getResource返回一个URL,还有一个getResourceAsStream()方法,参数与getResource()一样,相当于用getResource获得File文件后,再new InputStream(file)一样   我们有一下目录 |--project     |--src         |--javaapplication             |--Test.java             |--file1.txt         |--file2.txt     |--build         |--javaapplication             ...
选中方法名 右键-->references-->project 就能查找到了 也需用其他element name
eclipse上checkout java文件后,有时会发现修改文件会弹框,还有就是ctrl+鼠标左键的方式定位类,仔细看的话会发现文件上图标J是空心的   这是因为eclipse以资源文件方式检出该java文件,而不是以项目方式检出,因此不会对它进行编译,大部分原因是项目的.project文件有问题

一个奇葩题目

群里面看到的一个奇葩题目与三个所谓答案如下: 其中针对第二种解决方案写个测试代码 Class cache = Integer.class.getDeclaredClasses()[0]; Field myChache = cache.getDeclaredField("cache"); myChache.setAccessible(true); Integer[] newCache = (Integer[]) myChache.get(cache); newCache[128] = 100; ...
1.Integer a = n ;Integer b = new Integer(n),a一定不等于b 2.两个都是new出来的,肯定不等 3.int与以上两种Integer对象比,只要值一样就相等(自动拆装箱)   有意思的来了,如果两个都是非new方法新建的对象,那么值在-128至127之间,则是相等,否则不等 什么意思呢 Integer i1 = 127; Integer i2 = 127; System.out.println(i1==i2); //true Integer i3 = 128; Integer i4 = 128; System.out.print ...
检出和导出的区别 检出得到的文件夹包含.svn隐藏文件夹,.svn文件夹中含有svn控制端的控制信息,保证检出的文件夹受SVN客户端控制 导出得到的文件夹不包含.svn文件夹,因此不受SVN客户端控制,不能继续进行update、commit操作   eclipse中svn检出方式有两种: 1.作为新项目检出:选择后使用新建项目向导进行配置,这种方式仅当资源库中不存在.project工程文件时才可用。意思是如果代码库中有了这个工程文件,那么就认为它是一个信息完整的工程,在导入过程中就不需要再创建工程再进行配置了,因为.project工程文件已经包含这些信息 2.作为工作空间中的项目 ...
字符集:符号与控制符的集合以及与二进制的对应关系 编码方式:计算机读取与存储字符集中字符的规则 比如ASCii字符集有128个字符,其中‘A’对应的是十进制65,ASCii编码方式则是用首位为0的一个字节表示每个字符,计算机只要依次读取单字节并将后七位与字符集比较,就能读懂该字节含义   ASCii:包含128个字符 iso-8859-1:包含256个字符,向下兼容ASCii即它的1~128与ASCii一样 ANSI: 一种扩展的ASCII码,每个国家不一样,中文简体就是ASCII+GBK,繁体字的是Big5,日语的是Shift_JIS   Unicode 现在最重要的当属 ...
在try-catch包裹的synchronized代码块如果抛出异常,则释放锁   解释是只要跳出synchronized代码块就会释放锁。。
代码如下 public synchronized void put(Object o) { while (buf.size()==MAX_SIZE) { wait(); // 如果buffer为full,就会执行wait方法等待(为了简单,我们省略try/catch语句块) } buf.add(o); notify(); // 通知所有正在等待对象锁的Producer和Consumer(译者注:包括被阻挡在方法外的Producer和Consumer) ...

关于锁

所有对象都自动含有单一的锁   不管是同步代码块还是同步方法,只要用的同一个锁,他们就是互斥的   如:当使用同步块时,如果多个方法的同步快都同步到一个对象的锁上,则所有线程只能互斥进入这几个不同的方法 同步方法的锁对象是调用这个方法的对象

成员内部类

首先内部类是一个编译时概念,跟虚拟机无关,编译成功后就会形成两个class对象。如:外部类outer中的内部类inner,编译完成后出现outer.class和outer$inner.class   成员内部类写在外部类的方法之间,有两个主要特点: 1.外部类作用范围内可以任意创建内部类对象,即使是私有的 2.内部类可以范文外部类的所有域,即使是私有域   需要注意的是,成员内部类不能含有static的变量和方法。因为需要先创建了外部类,才能创建成员内部类 Outer outer = new Outer(); Outer.Inner inner = outer.new Inne ...
Global site tag (gtag.js) - Google Analytics