随笔分类 - javaSe
摘要:以前刚参加工作面试的时候曾经有这题...接口: 接口(Interface)是对符合接口需求的类的一套规范,接口主要作用是可以帮助实现类似于类的多重继承的功能。接口在定义的时候,不需要考虑具体实现,将“是什么”和“怎么做”分离开来,让接口的实现类根据其具体情况来考虑具体实现。抽象类: 只要类中有一个抽象方法,此类就被标记为抽象类。实际上抽象类除了被继承之外没有任何意义。接口与抽象类的区别: 1.接口是多实现 抽象类是单继承 2.接口只是规范了要做什么,没有具体实现 抽象类可以提供默认实现 3.接口中的方法都是抽象方法 抽象类中可以存在非抽象方法接口与抽象类在使用上的区别...
阅读全文
摘要:今天做webService,xml数据先通过Base64编码再推送出去,其主要目的不是加密,而是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。 Base64编码是通过64个基本ASCII码字符对数据进行重新编码,由于2的6次方等于64,所以每6个位元为一个单元,对应某个可打印字符。三个字节有24个位元,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。编码后的数据比原始数据略长,为原来的4/3。转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。数据不足3byte的话...
阅读全文
摘要:平时工作中没有机会接触线程安全方面的内容,所以对线程安全停留在一个比较模糊的概念.今天看了一些博文有了新的认识,那就把他写下来吧. 线程安全就是多个线程对资源的有序访问和修改,而保证线程安全主要要解决线程的可见性和有序性. 那么何为线程的可见性呢? 首先要了解java的内存模型,java内存模型划分了主内存和工作内存,主内存是被多个线程所共享的,而线程独享各自的工作内存.new一个对象时,会在主内存分配一个空间,各个工作内存也会保存一个该对象的变量副本.线程之间不能直接传递数据,而是通过共享变量来沟通.当某个线程需要访问对象是,他的流程是: 1.复制一个变量副本到工作内存. 2.访问...
阅读全文