- 浏览: 370074 次
- 性别:
- 来自: 杭州
最新评论
-
xujishen:
新入职 写道还是没很明白~~这个BigDecimal.ROUN ...
BigDecimal带精度的运算 -
542348257:
数字为long型的时候 好像处理有点问题
【无聊的笔记】将数字转换为中文读法 -
陈小妞:
当你输入100003980的时候在万位会多一个万字
【无聊的笔记】将数字转换为中文读法 -
stranger520:
可能有问题吧,举个例子: pacage1/User.class ...
java读取指定package下的所有class -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java学习——mina篇
文章列表
一:jms介绍
jms说白了就是java message service,是J2EE规范的一部分,跟jdbc差不多,sun只提供了接口,由各个厂商(provider)来进行具体的实现,然后使用者使用他们的jar包进行开发使用即可。
另外在jms的API中,jms传递消息有两种方式,一种是点对点的Queue,还有一个是发布订阅的Topic方式。区别在于:
对于Queue模式,一个发布者发布消息,下面的接收者按队列顺序接收,比如发布了10个消息,两个接收者A,B那就是A,B总共会收到10条消息,不重复。
对于Topic模式 ...
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的一个小知识
- 博客分类:
- java
最近咋使用
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可以用来 ...