Java/C++
文章平均质量分 79
小小程序员1986
这个作者很懒,什么都没留下…
展开
-
CyclicBarrier的用法
多个线程在指定的集合点(屏障点)等待集合后在继续去下一个集合点import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CyclicBarrierTest { pu原创 2016-08-28 14:06:55 · 311 阅读 · 0 评论 -
java中创建对象的几种方法和clone
对象创建的几种方法:1.使用new关键字2.使用clone方法3.反射机制4.反序列化以上四种都可以产生java对象1,3都会明确的显式的调用构造函数2是在内存上对已有对象的影印 所以不会调用构造函数4是从文件中还原类的对象 也不会调用构造函数不用构造方法也能创建对象?http://www.iteye.com/problems/56043详解Java中的clone方法http://www.2cto原创 2016-08-28 14:09:40 · 2991 阅读 · 0 评论 -
java嵌套类和内部类详解
可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种: 其一、在一个类(外部类)中直接定义的内部类; 其二、在一个方法(外部类的方法)中定义的内部类; 其三、匿名内部类。java嵌套原创 2016-08-28 14:09:42 · 531 阅读 · 0 评论 -
泛型的反射
package cn.itcast.oa.base;import java.lang.reflect.ParameterizedType;import javax.annotation.Resource;import cn.itcast.oa.service.DepartmentService;import cn.itcast.oa.service.RoleService;impo原创 2016-08-28 14:09:48 · 440 阅读 · 0 评论 -
LinkedList模拟队列和堆栈
/*使用LinkedList模拟一个堆栈或者队列数据结构。堆栈:先进后出 如同一个杯子。队列:先进先出 First in First out FIFO 如同一个水管。*/import java.util.*;class DuiLie{ private LinkedList link; DuiLie() { link = new原创 2016-08-28 14:10:04 · 442 阅读 · 0 评论 -
url地址解码、保留小数点后面两位数字
url地址解码类package com.xd.intersys.actions;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;public class URLTransform { public static void main原创 2016-08-28 14:10:16 · 1496 阅读 · 0 评论 -
字符串替换replace和replaceAll区别
package test;import java.util.ArrayList;import java.util.Collections;import java.util.List;import org.apache.commons.collections.CollectionUtils;import org.apache.lucene.search.Sort;import org原创 2016-08-28 14:10:21 · 2347 阅读 · 0 评论 -
map的排序总结
1、按键排序使用treemap按照键来排序@Test public void treeMap(){ //传入的比较器只能根据key来排序,TreeMap如不指定排序器,默认将按照key值进行升序排序 //指定排序器按照key值降序排列 , //Comparator中泛型必须传入key类型的的超类TreeMap(Compar原创 2016-08-28 14:10:46 · 896 阅读 · 0 评论 -
jChardet探测文件字符编码
package test;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import org.mozilla.intl.charde原创 2016-08-28 14:10:56 · 636 阅读 · 0 评论 -
Apache的commons-pool池创建多线程使用WebClient
package test;import org.apache.commons.pool.PoolableObjectFactory;import org.apache.commons.pool.impl.GenericObjectPool;import org.apache.log4j.Logger;import com.gargoylesoftware.htmlunit.Browse原创 2016-08-28 14:11:10 · 1140 阅读 · 0 评论 -
Java中函数参数传递和数据存储
值传递是将要传递的值作为一副本传递的..引用传递,传递的是引用对象的内存地址..例如:int i=4; int j=i; //相当于把4复制了一个副本赋给了j输出结果是i=4 ,j=4Cint *p,*p1;int j=5;p=j; //这里是把j在内存当中的地址赋给了指针pp1=p; //这里是把指针p中保存的地址(就是j的地址)赋给了指针p1j=4; //这里改变j的值输转载 2016-08-28 14:09:37 · 1095 阅读 · 0 评论 -
递归和尾递归
C允许一个函数调用其本身,这种调用过程被称作递归(recursion)。最简单的递归形式是把递归调用语句放在函数结尾即恰在return语句之前。这种形式被称作尾递归或者结尾递归,因为递归调用出现在函数尾部。由于为递归的作用相当于一条循环语句,所以它是最简单的递归形式。递归中必须包含可以终止递归调用的语句!递归的有点在于为某些编程问题提供了最简单的方法,而缺点是一些递归算法会很快耗尽计算机的内存资源原创 2016-08-28 14:09:34 · 568 阅读 · 0 评论 -
CountDownLatch的使用(倒计时计数器)
countDown()将计数器减一await()等待计数器值为0,当到达0时所有等待者开始执行import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class CountdownLa转载 2016-08-28 14:06:58 · 409 阅读 · 0 评论 -
Exchanger的使用
线程之间交换数据,都到达才交换,游戏中道具、金币的交换import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ExchangerTest { public static v原创 2016-08-28 14:07:01 · 302 阅读 · 0 评论 -
BlockingQueue的使用
一个线程从队列里取数据,一个线程往队列里添加数据import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ExchangerTest { public static void原创 2016-08-28 14:07:03 · 471 阅读 · 0 评论 -
空中网多线程面试题
1. 空中网面试题1 package com.kongzhongwang.interview; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; //myeclipse强大功能:将代码直接复制到项目的src路径下可以自动相应生成包名和原创 2016-08-28 14:07:06 · 424 阅读 · 0 评论 -
java动态代理实现Proxy和InvocationHandler cglib
概念:静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 JDK的动态代理用起来非常简单,当它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包。JDK动态代理实现import java.lang.refl原创 2016-08-28 14:07:38 · 704 阅读 · 0 评论 -
贪婪匹配和非贪婪匹配
1.什么是正则表达式的贪婪与非贪婪匹配 如:String str="abcaxc"; Patter p="ab*c"; 贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(ab*c)。 非贪婪匹配:就是匹配到结果就好,就少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*c)。2.编原创 2016-08-28 14:08:04 · 1508 阅读 · 0 评论 -
字符串常量池、堆、栈
String a="a"+"b"+"c" 创建了几个对象这个问题涉及到了字符串常量池和字符串拼接String a="a"+"b"+"c"通过编译器优化后,得到的效果是String a="abc"Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid原创 2016-08-28 14:08:58 · 1619 阅读 · 0 评论 -
enum枚举类型
请编写一个关于星期几的枚举WeekDay,要求: 枚举值:Mon,Tue,Wed,Thu,Fri,Sat,Sun 该枚举要有一个方法,调用该方法返回中文格式的星期。package com.week.base;enum Grade { Mon("Monday") { @Override public String toLocalGrade() {原创 2016-08-28 14:09:09 · 404 阅读 · 0 评论 -
Socket编程大总结
1.udp无连接聊天/*编写一个聊天程序。有收数据的部分,和发数据的部分。这两部分需要同时执行。那就需要用到多线程技术。一个线程控制收,一个线程控制发。因为收和发动作是不一致的,所以要定义两个run方法。而且这两个方法要封装到不同的类中。*/import java.io.*;import java.net.*;class Send implements Runnable原创 2016-08-28 14:09:32 · 459 阅读 · 0 评论 -
ThreadLocal生成多线程WebClient
package test;//www.cnblogs.com/chenying99/articles/3213544.htmlimport com.gargoylesoftware.htmlunit.BrowserVersion;import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;import原创 2016-08-28 14:11:13 · 1319 阅读 · 1 评论