![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
q40579717
这个作者很懒,什么都没留下…
展开
-
里氏替换原则
(1)子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。(2)子类中可以增加自己特有的方法。(3)当子类的方法重载父类的方法时,方法的前置条件(即方法的形参) 要比父类方法的输入参数更宽松。(4)当子类的方法实现父类的抽象方法时,方法的后置条件 (即方法的返回值)要比父类更严格。详解参见:http://blog.csdn.net/zhengzhb/artic原创 2015-06-06 14:14:57 · 208 阅读 · 0 评论 -
java中的软引用类,SoftReference。
如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存(下文给出示例)。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。原创 2015-06-09 21:24:11 · 524 阅读 · 0 评论 -
@mysql_query("SET NAMES UTF8");是设定数据库编码的。
@mysql_query("SET NAMES UTF8");是设定数据库编码的。原创 2015-06-09 21:30:51 · 780 阅读 · 0 评论 -
当指针A指向一个对象H的时候
当指针A指向一个对象H的时候,指针B指向 指针A。那么B的取值就是对象H。 这个时候如果指针A又指向了另一个对象H'。那么B和A所指的对象就不是同一个了。B仍然是指向对象H。int a , b; a = 1; b = a;System.out.println("a = "+a +" b = "+b);结果:a=1,b=1;a = 2;System.out.pr原创 2015-06-09 21:27:15 · 384 阅读 · 0 评论 -
解析json字符串中的map信息。
例如:{1:100,2:100,3:100,4:100,5:100,6:100,7:100,8:100}解析时需要用到阿里巴巴的一个内库(fastjson-1.1.26.jar),方法如下:protected HashMap getStringToMap(String jsonstr) {HashMap map = null ;if (!TextUtils.isEmpty(json原创 2015-06-09 21:26:15 · 1555 阅读 · 0 评论 -
在处理多线程引起的共享数据冲突问题上,非常规解决办法两种:
公司LaaHaa麻将项目为例(1)将其写入同一个线程里面做处理。(2)多线程配合队列先进先出的思想来处理。在实际解决问题时,针对LaaHaa项目用队列来实现,需要用传参的形式,要使用的不仅仅是队列的思想。 我用的是对ArrayList进行克隆的方式来解决。这样就不会因为指针指向同一个对象时,而发生错误。Demo例子可以直接参看《原创Demo》中的例子。多线程配合队列思想原创 2015-06-09 21:23:14 · 1362 阅读 · 0 评论 -
关于a++ 和++a;
例子: int a = 1;int b = ++a;System.out.println(b); 输出的b 为 2 int a = 1;int b = a++;System.out.println(b); 输出的b 为 1原创 2015-06-09 21:29:20 · 233 阅读 · 0 评论 -
对String.split("")方法调用时,需要注意得到的String[]的第一个String一直都是 “”空字符串。
对String.split("")方法调用时,需要注意得到的String[]的第一个String一直都是“”空字符串。原创 2015-06-09 21:26:42 · 626 阅读 · 0 评论 -
java.io.File中的mkdir() 和 mkdirs() 方法区别
mkdir()创建此抽象路径名称指定的目录(即只能创建一级的目录,且需要存在父目录)mkdirs()创建此抽象路径指定的目录,包括所有必须但不存在的父目录。(即可以创建多级目录,无论是否存在父目录)原创 2015-06-09 21:24:58 · 365 阅读 · 0 评论 -
Map用来当做容器时,重复赋值,会将以前的值给覆盖掉。
Map用来当做容器时,重复赋值,会将以前的值给覆盖掉。例如:Map map = new HashMap();map.put(0, false); map.put(0, true);此时map.get(0) 的值就为"true"原创 2015-06-09 21:23:25 · 5519 阅读 · 0 评论 -
Timer和ScheduledThreadPoolExecutor的区别
参考:http://blog.csdn.net/masterseventeen/article/details/3443114ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(10);以固定速率执行周期任务scheduleAtFixedRate(task, delayTime,原创 2015-06-09 21:28:33 · 351 阅读 · 0 评论 -
关于java的传参。当一个对象A被传入方法Function(A a)后
关于java的传参。当一个对象A被传入方法Function(A a)后,在Function里面对a 进行的所有修改都会生效。如下: News news = new News();news.setMessage("12345667");System.out.println(news.getMessage());changeNews(news)原创 2015-06-09 21:29:00 · 1348 阅读 · 0 评论 -
获取Map<key,value>的key值方法如下:
获取Map的key值方法如下:HashMap ownJarsMap = ChipManager.getInstance().getOwnJarsMap();Iterator ownJar_i = ownJarsMap.keySet().iterator();while(ownJar_i.hasNext()){WineJar key = ownJar_i.next(); //获取m原创 2015-06-09 21:26:56 · 972 阅读 · 0 评论 -
java中文乱码
编码对比:对中文字符后面四种编码格式都能处理,GB2312 与 GBK 编码规则类似,但是 GBK 范围更大,它能处理所有汉字字符,所以 GB2312 与 GBK 比较应该选择 GBK。UTF-16 与 UTF-8 都是处理 Unicode 编码,它们的编码规则不太相同,相对来说 UTF-16 编码效率最高,字符到字节相互转换更简单,进行字符串操作也更好。它适合在本地磁盘和内存原创 2015-06-09 21:25:14 · 236 阅读 · 0 评论 -
迪米特法则
对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。详细参看:http://blog.csdn.net/zhengzhb/article/details/7296930原创 2015-06-06 14:16:06 · 286 阅读 · 0 评论 -
接口隔离原则
(1)建立单一接口,不要建立庞大臃肿的接口,尽量细化接口, 接口中的方法尽量少。(2)我们要为各个类建立专用的接口,而不要试图去建立一个 很庞大的接口供所有依赖它的类去调用。详细参看:http://blog.csdn.net/zhengzhb/article/details/7296921原创 2015-06-06 14:15:45 · 210 阅读 · 0 评论 -
单一职责原则
只有逻辑足够简单,才可以在代码级别上违反单一职责原则;只有类中方法数量足够少,才可以在方法级别上违反单一职责原则;详解参见:http://blog.csdn.net/zhengzhb/article/details/7278174原创 2015-06-06 14:15:17 · 203 阅读 · 0 评论 -
关于final标示对象。
其意义在于不能改变该对象的引用即指针。可以改变其值。之所以String,int等基本类型的对象不能改变其值,是因为这些类型对象,改变值的时候,其实是重新new了一个对象,所以不行,StringBuffer可以。原创 2015-06-09 21:26:09 · 409 阅读 · 0 评论