`
yznxing
  • 浏览: 370074 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
一:jms介绍          jms说白了就是java message service,是J2EE规范的一部分,跟jdbc差不多,sun只提供了接口,由各个厂商(provider)来进行具体的实现,然后使用者使用他们的jar包进行开发使用即可。         另外在jms的API中,jms传递消息有两种方式,一种是点对点的Queue,还有一个是发布订阅的Topic方式。区别在于:         对于Queue模式,一个发布者发布消息,下面的接收者按队列顺序接收,比如发布了10个消息,两个接收者A,B那就是A,B总共会收到10条消息,不重复。         对于Topic模式 ...

java中foreach

    博客分类:
  • java
public class TestForEach { /** * @param args */ public static void main(String[] args) { Aeach[] a = new Aeach[2]; //第一种赋值方式 // for (int i = 0; i < a.length; i++) { // a[i] = new Aeach(); // } //第二种赋值方式 ...
背景:       在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作。       使用ibatis的selectKey就可以得到sequence的值,同时也会将值返回。不过对于不同的数据库有不同的操作方式。       对于oracle:       <insert id="insertUser" parameterClass="ibatis.User">            <selectKey resultC ...
在spring中可以通过BeanPostProcessor接口来实现,properties注入的时候动态控制bean行为的功能。 接着上面一篇文章中的例子。使用A,B的类, 然后新建一个实现BeanPostProcessor的类。 public class BeanPost implements BeanPostProcessor {  public Object postProcessAfterInitialization(Object bean, String beanName)    throws BeansException {   //其实在这里可以改变返回的prope ...
问题来源: 有一个bean为A,一个bean为B。想要A在容器实例化的时候的一个属性name赋值为B的一个方法funB的返回值。 如果只是在A里单纯的写着: private B b; private String name = b.funb(); 会报错说nullpointException,因为这个时候b还没被set进来,所以为null。 解决办法为如下代码,同时学习下spring中  InitializingBean   ,对象构造方法   ,  init-method   的执行顺序。 public class A implements I ...
最近咋使用  list.remove   方法的时候出了点问题。。。 贴出来,记录下。 public static void main(String[] args) {         // TODO Auto-generated method stub         List<Integer> list = new ArrayList();// =null error         list.add(1);         list.add(2);         list.add(3);         list.add(4);         li ...
一:java内存区的简单介绍 1、堆(Heap) JVM管理的内存叫堆。在32Bit操作系统上有1.5G-2G的限制,而64Bit的就没有。 JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。 JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。 默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制,可以由-XX:MinHeapFreeRatio=指定。  默认空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制,可以由-XX:MaxHeapFreeRatio=指定。 服务器一般设置-Xms、-Xmx相等以避 ...
1、在构造函数中启动线程      我在很多代码中都看到这样的问题,在构造函数中启动一个线程,类似这样: public class A{    public A(){       this.x=1;       this.y=2;       this.thread=new MyThread();       this.thread.start(); ...
线程池主类: import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class DataHandlerThreadPool { //核心线程数量,即初始化线程池的启动线程数量 private static final int ...
import java.util.LinkedList; /** * 线程池类 */ public class ThreadPool extends ThreadGroup { private boolean isClosed = false; //线程池是否关闭 private LinkedList workQueue; //工作队列 private static int threadPoolID = 1; //线程池的id public ThreadPool(int poolSize) { //poolSize 表示线程池中的工作线 ...
一直以来都在说多线程,说并发,发现有的时候并发在我眼前,我自己都不知道。。。 由于在spring中发布的服务service一般都是单例模式的,因此在多个请求过程中,调用的都是一个service,这个时候就是并发的问题了。如果在这个service里我们设定了一个全局变量 ,就会出现问题了。 测试代码如下: 使用一个测试DO: public class TestDO { private String a; private String b; private int id; public String getA() { return a ...
Date date=new Date(); SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(dateFm.format(date)); Date now = java.sql.Date.valueOf("2008-12-04"); System.out.println("now========" + now.toString()); Calendar cd = Calendar.get ...
在可选的java远程通讯中,比较有名的就是hessian了。根据我的了解应该是其性能是最好的。RMI已经逐渐被抛弃了。web service在性能上比hessian差很多,毕竟是以XML为媒介传播的。但是可以基于多语言的平台。hessian应该说算是面向java的远程通 讯框架了。 下面简单的实现hessian实现RPC的demo。          hessian是基于http协议的,发布服务需要依靠servlet容器来发布。因此其服务端就是一个web服务。先简单的实现业务接口和实现类,服务端的。 接口:HelloService.java public in ...
  在前面写的nio学习中是采取的简单的demo,后来在网上看到一个demo,一个用来多线程下载的demo,在这个demo里才会体现nio的高性能之处。充分体现nio的优势。 场景:一个服务端,然后100个客户端同时连接服务端,然后下载一个文件下来。服务端只需要一个连接来处理这些来自客户端的连接。其中对文件的传递采用的是nio中的FileChannel 。很好用的一个东西。   忘记从哪里转过来的代码了。。。   服务端:   import java.io.FileInputStream; import java.io.IOException; impor ...
mina是对nio的具体实现。是目前比较高效和流行的nio框架了。 下面是对使用mina进行通讯的一个简单demo,后面再用mina写一个RPC的简单框架。 mina主要包括: (使用的mina版本为2.0.0.M4 core,具体可见官方网站 ) mina也分服务端和客户端(这是肯定的...) 其中服务端为:NioSocketAcceptor 客户端为:NioSocketConnector 类似于Socket的服务端跟客户端Socket。除了这些用来基本通讯的之外,还有一些可以用来处理通讯中的操作类。就是在客户端和服务端的一个个filter。这些filter可以用来 ...
Global site tag (gtag.js) - Google Analytics